我正在编写一个小型解释器,用于简单的BASIC语言,使用avr-gcc工具链在C语言的AVR微控制器上练习.但是,我想知道是否有任何开源工具可以帮助我编写词法分析器和解析器.
如果我写这个在我的Linux机器上运行,我可以使用flex/bison.现在我把自己限制在一个8位平台上,我必须手动完成所有操作,不是吗?
在PHP中是否有Lex和Yacc的实现?
如果没有,任何人都可以建议一个词法分析器和解析器生成器(即Lex和Yacc之类的东西)来创建PHP代码.我不太担心生成的解析器的性能.
我厌倦了使用正则表达式解析真正不应该用正则表达式解析的东西......
我想知道如何将给定的字符串转换为指定的数组:
串
all ("hi there \(option\)", (this, that), other) another
Run Code Online (Sandbox Code Playgroud)
想要的结果(数组)
[0] => all,
[1] => Array(
[0] => "hi there \(option\)",
[1] => Array(
[0] => this,
[1] => that
),
[2] => other
),
[2] => another
Run Code Online (Sandbox Code Playgroud)
这用于我在PHP上制作的一种控制台.我尝试使用preg_match_all但是,我不知道如何在括号内找到括号以"在数组中创建数组".
编辑
应将示例中未指定的所有其他字符视为String.
编辑2
我忘了提到括号外的所有参数都应该被space字符检测到.