はじめに 計算機用言語の処理には決まった方法があります。文字列で与えられた言語は、字句解析によってトークンに分けられ、構文解析によってトークン同士が結びつけられ、意味解析によって解釈されます。 字句解析を行うプログラムが字句解析器(lexer)、構文解析と意味解析を行うのが構文解析器(parser)です。字句解析器としてはlexあるいはflex、構文解析器としてはyaccあるいはbisonが有名で、資料も豊富にありますが、いずれもC言語で利用することを想定したソフトウェアです。 PHPで利用できる字句解析器としてはPHP_LexerGeneratorが、構文解析器としてはPHP_ParserGeneratorがあります。本稿では、簡易電卓を実装するという例を通じてPHP_LexerGeneratorとPHP_ParserGeneratorの使い方を紹介します。 必要な環境 XAMPP fo