PHPをハックしてオレオレ文法を追加する anatoo
言語処理系としてのPHPの流れ
文法いじりにフォーカスすれば結構簡単
字句解析の実際
- re2cというツール
- Zend/zend_language_scanner.l
構文解析
- Zend/zend_language_parser.y
- bison -> Cのコードを生成
ZendEngineによる実行
実際に簡単な文法を追加する
- git clone
- ./buildconf
- ./configure --enable-debug --disable-all
HelloWorld構文を追加する
- トークンの定義を追加
- Zend/zend_language_scanner.l
- 構文の定義を追加
- Zend/zend_language_parser.y
- 構文用のコンパイル処理を追加
- Zend/zend_compiler.c