bison/flex

phpのソースを読んでて一番躓いたのが構文解析の部分。

  • zend_language_scanner.l
  • zend_language_parser.y

未だに数%程度しか理解できない。いや、数%も理解できているのかもわからない。
yyparseに入ったあたりでもうわけわからん。

でも調べてみるとこの部分って、
bisonという構文解析器、flexという字句解析器なんですね。
「bison flex」でググってみると沢山情報が出てくるじゃないですか。

もう別にphpの内部の理解を〜というよりは完全に趣味の世界になってきました。

まさか自分がコンパイラコンパイラに興味を持つとは思わなかった。