BASIC (5) 構文解析について
BASIC の構文解析をどのように進めるか、考えていこうと思います。
『FM-7 F-BASIC文法書』 の PLAY 文のところに「PLAY構文図」というのが載っています。これは PLAY 文の構文を図で表したものです。
すべての文に対してこのようなものを作り、それにしたがって内容を読み取るのが今回作ろうとしている構文解析になります。
そういえば以前、JavaScript でパーサージェネレータというものを作りました。これは囲碁の棋譜 SGF (Smart Game Format) の構文を解析するために、EBNF (Extended Backus-Naur Form) で書かれた構文から JavaScript のパーサー(構文解析プログラム)を作り出すツールです。
EBNF は上図の構文図の代わりになるものです。SGF の構文を書けば SGF のパーサーが出力され、BASIC の構文を書けば BASIC のパーサーが出力されます。
このツールで出力されるのは JavaScript のコードですが、一から BASIC のコードを書くより JavaScript のコードを見ながら書いたほうが、正しいコードを書けるような気がします。
ということで、しばらくの間、JavaScript の連載に移行します。
最近のコメント