構文解析器ジェネレータとの関係
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/13 16:04 UTC 版)
「Lex」の記事における「構文解析器ジェネレータとの関係」の解説
Yaccなどの構文解析器生成ツールを利用するなら、Lexに字句文法定義を与えて生成させたC言語ソースである字句解析器が(Yaccがトークンをユーザから得るための)yylex関数を含んでいるので、CコンパイラでYacc出力と一緒にこれをリンクして組み込む。これにより、ソーステキストの字句解析と構文解析を両方行って、規則のアクション部(あるいはさらにそれに呼ばれるユーザ作成のC言語関数)に書かれた計算の結果や、コンパイルの生成に使われる抽象構文木の構造体データ、あるいは各種表示が出力される変換プログラムが完成する。 YaccとLexはよく似た文法定義をもち、セットで使われ、セットで解説されることが多い。LexとYaccの機能はIEEE POSIX 1003.1-2008(かつては1003.2)で標準化されている。
※この「構文解析器ジェネレータとの関係」の解説は、「Lex」の解説の一部です。
「構文解析器ジェネレータとの関係」を含む「Lex」の記事については、「Lex」の概要を参照ください。
- 構文解析器ジェネレータとの関係のページへのリンク