我正在编写一个小型解释器,用于简单的BASIC语言,使用avr-gcc工具链在C语言的AVR微控制器上练习.但是,我想知道是否有任何开源工具可以帮助我编写词法分析器和解析器.
如果我写这个在我的Linux机器上运行,我可以使用flex/bison.现在我把自己限制在一个8位平台上,我必须手动完成所有操作,不是吗?
我知道问题Lex和Yacc在PHP之前被问到但是1年前.
现在有没有新的成熟PHP解析器生成器?我的搜索将我带到了下面的那些,你对他们有什么看法,还有其他什么?
[答案:]有人给了我一个古老问题的精彩链接: 是否有可用于8位嵌入式系统的flex/bison替代方案?
这篇文章让我了解了生成的大部分ANTLR代码.所以我的选择保持不变:ANTLR虽然项目似乎已经死了.我希望我不必改变代码,因为我希望保持它的可维护性.
我会等一下,看看是否有另一个答案,否则我会接受你的建议继续使用ANTLR
通过反射,可以轻松获取源文件中方法的起始行和结束行:ReflectionFunctionAbstract::getFileName()、ReflectionFunctionAbstract::getStartLine()、ReflectionFunctionAbstract::getEndLine()提供此功能。但是,这似乎不适用于属性。在类定义中至少提取属性声明的起始行和文件名的最佳方法是什么?