構文解析(『コンピュータシステムの理論と実装』)
10章より
トークナイザ(tokenizer)
ソースコードに対して意味を持つコードの最小単位である「トークン(字句)」に変換する
パーサ(parser)
一連のトークンを言語の構文ルールに適合させ、その構文構造を明らかにする
構文解析器が行う仕事は「プログラムの構造を理解する」ということ
人はプログラムを読むと、構造を容易に特定できる
ネスト化されたパターンを識別し分類する能力
これを機械にやらせる
文脈自由文法
プログラミング言語を記述する生成規則
プログラムのテキストと文法のルールの間の正確な関係性が定義されている
構文解析を行う過程の各ポイントで、現在読み込んでいるプログラム要素の種類、つまり、「それは式か、文か、変数か」などといったことを構文解析器は把握している(10.2.2)
10章ではXMLを出力して構造を示す