lex および yacc プログラム情報

プログラムが対話式にまたはバッチ環境で入力を受け取るには、 入力を受け取るための別のプログラムまたはルーチンを準備する必要があります。 複雑な入力の場合は、 入力をプログラムにとって何らかの意味を持つ断片に分解するための追加コードが必要です。

lex コマンドおよび yacc コマンドを使用すると、 この種の入力プログラムを作成することができます。

lex コマンドは入力を分析してそれを数字、英字、 または演算子などのトークンに分解する字句解析プログラムを生成します。 このトークンは、 lex 仕様ファイルでセットアップされた文法規則によって定義されます。 yacc コマンドは字句解析プログラム (lex コマンドによって生成され、 lex 仕様ファイルに保管されているもの) によって識別されたトークンを使用して入力を分析し、不適切な構文にフラグを付けるなどの、 指定されたアクションを実行するパーサー・プログラムを生成します。 この 2 つのコマンドは、一緒になって、 入力の解釈と出力の処理のために字句解析プログラムとパーサー・プログラムを生成します。