JavaCC+JTreeの構文解析とかパーサジェネレータの仕組みを勉強がてら、自分でも作れるんじゃないかとPHPだけでどこまでできるかやってみた(未完成) とりあえず、BNFにあたるような部分をこんな感じで定義 $configure = new ParserConfigure; $configure->ignoreCase = true; $configure->classPrefix = 'PST'; $parser = new PSTParser($configure); $parser->TOKEN->OPEN = array('(', '{', '['); $parser->TOKEN->CLOSE = array(')', '}', ']'); $parser->TOKEN->PAD = ','; $parser->TOKEN->HOGE = 'hoge'; $parser->T