次の2つの記事の続き; JavaScriptで実装したごく簡単な仮想機械RAC0(Rudimentary Arithmetic Calculator Level-0)に対して、高級言語とその処理系を作りましょう、というシリーズです。 JavaScriptで仮想機械の勉強をしましょう JavaScriptで言語処理系の勉強をしましょう:字句解析編 トークンスキャナーが出来たので、次はパーザーを作る番です。実際のパーザー(構文解析器)の例を示す前に、方針と方法について説明しておきます。 内容: ソースコードとトークン列 パーザーと構文木 BNFによる文法記述 再帰降下(下降)法 ソースコードとトークン列 高級言語のソースコード(今回の例では、1 + 2, (5 - 2)*4 のような算術式です)は、なんらかのテキストストリームから言語処理系に入力されます。ファイル、キーボード、文字列データなど