0

我正在尝试在 PHP 中添加一个新关键字(只是学习核心),所以我所做的是:向 zend_language_parser.y 添加一个新标记,在 unticket_statement 中使用它,编译 PHP,但它没有成功。似乎我需要在 zend_language_scanner.l 中添加这个新关键字(我通过这个文件中的另一个定义假设它)并在 re2c 的帮助下重新生成 zend_language_scanner.c。

但这是 re2c 给我的:

$ re2c -isgf Zend/zend_language_scanner.l
re2c: error: line 1004, column 6: can't find symbol

第 1004 行包含以下定义:

LNUM    [0-9]+

即使在未更改的 zend_language_scanner.l 文件上也会弹出此错误。

这是re2c -v输出:re2c 0.13.5

有谁知道我怎样才能重新生成这个扫描仪或者我做错了什么?

4

1 回答 1

2

你应该这样尝试:

re2c --no-generation-date --case-inverted -cbdF -o a.c  zend_language_scanner.l

我有同样的问题,直到我从文件中找到源 cmd Makefile.frag

$(RE2C) $(RE2C_FLAGS) --case-inverted -cbdFt Zend/zend_language_scanner_defs.h -oZend/zend_language_scanner.c Zend/     zend_language_scanner.l)
于 2013-05-09T14:17:32.533 回答