ざっとまとめただけです。 大元:文脈自由文法 元々は言語学だが、プログラミング言語の文法や構文を扱うのに優れている。 で、入力されたテキストの文法的な関係を説明するのが構文解析。 構文解析は通常、字句解析結果をその言語の文法に沿った木構造に変換する。 日本語で言えば助詞、プログラミング言語では"("や"{"などの括弧など、グループ化の為の葉まで含めたのが構文木。 英語版だと"Concrete syntax tree":http://en.wikipedia.org/wiki/Concrete_syntax_tree 構文木から、"("や"{"などプログラム的に意味のない部分を取り除いたのが抽象構文木。 英語版だと"Abstract syntax tree":http://en.wikipedia.org/wiki/Abstract_syntax_tree 構文解析を行うのが構文解析器。 そ