小编chi*_*ove的帖子

如何理解PHP Parser Generator语法规则

我想创建一个解析器/词法分析器来编译我的模板引擎.我正在使用PHP_ParserGeneratorPHP_LexerGenerator.正如他们的文档中所解释的那样,我创建了一个词法分析器并且正在运行.但是当我尝试编写解析器时,我还没有理解他们的文档.我阅读了Lemon解析器文档,但我的代码仍无效.:(

我发现这个例子包含lexer/parser的"Hello world",我读了XenForo,vBulletin,Smarty的解析器/词法分析器.在"Hello world"示例中它很简单,但是当我尝试将语法规则分组时,就像在Xenforo中完成一样,TAG_OPEN tag_attributes TAG_SELF_CLOSE我的解析器无法正常工作.

 /*   0 */ "start ::= in",
 /*   1 */ "in ::= in PLAIN_TEXT",
 /*   2 */ "in ::= in curly",
 /*   3 */ "in ::= in tag",
 /*   4 */ "in ::= in TAG_COMMENT",
 /*   5 */ "in ::= in TAG_CLOSE",
 /*   6 */ "in ::=",
 /*   7 */ "tag ::= TAG_OPEN tag_attributes TAG_SELF_CLOSE",
 /*   8 */ "tag ::= TAG_OPEN tag_attributes TAG_END",
 /*   9 */ "tag_attributes …
Run Code Online (Sandbox Code Playgroud)

php parsing parser-generator lexer

6
推荐指数
0
解决办法
795
查看次数

标签 统计

lexer ×1

parser-generator ×1

parsing ×1

php ×1