次のページ 前のページ 目次へ

1. イントロダクション

ようこそ、高貴なる読者のみなさん

Unix 環境で、ある程度プログラミング経験を積まれている方なら、Lex & YACC、もしくは GNU/Linux ユーザの間で Flex & Bison として知られて いる、神秘的なプログラムをご存知のことと思います。Flex とは、Vern Paxon による Lex 実装であり、Bison とは GNU 版 YACC です。以下、断りの ない限りこれらを Lex & YACC と呼ぶことにします - Flex & Bison は、Lex & YACC と上位互換にあるので、本ドキュメントのサンプルもそ のまま動作します。

これらのプログラムは、非常に利用価値の高いものです。しかし、C コンパイ ラの man ページがそうであるように、言語仕様はもとより使い方についてす ら満足な記述がありません。YACC は Lex と組み合わせて使うと、高い効果が 得られるのですが、Bison の man ページには Lex で生成されたコードと Bison のプログラムを協調動作させる方法についての記述がありません。

1.1 本ドキュメントに含まれないもの

Lex & YACC については、いくつか良書があります。深く知りたいのであ れば、是非読むことをお勧めします。本ドキュメントに書かれているより、ずっ とたくさんの情報が得られるはずです。巻末の '関連情報' の章をご覧くださ い。ここでは、読者が簡単なプログラムを組める程度に、Lex & YACC の 基本的な使い方を解説することに内容をとどめます。

Flex と BISON に付属してくるドキュメントも良いのですが、チュートリアル がありません。この HOWTO の足りない部分を補完する分には有用ですが。こ れに関しても、巻末の関連情報の章をご覧ください。

筆者は YACC/Lex のエキスパートではありません。このドキュメントを書き始 めた頃でも、ちょうど二日の経験しかありませんでした。筆者の願いは、この 二日間を皆さんにとって、少しでも楽なものにしてあげたいということに尽き ます。

ここに例示される、YACC と Lex のコーディングスタイルが常に最も適切であ るとは限りません。コード例はシンプルにするよう努めましたが、より良い書 き方があるかもしれません。お気づきの点があれば是非、お教えください。

1.2 ダウンロード

例示されているコードは、すべて machine readable な形式でダウンロードで きます。詳細は ホームページ をご覧ください。

1.3 ライセンスについて

Copyright (c) 2001 by bert hubert. この著作物の配布に関しては Open Publication License, vX.Y またはそれ以降で定められている規約と条件に準 拠します(最新版は http://www.opencontent.org/openpub/ で入手可能です)。


次のページ 前のページ 目次へ