Bullwinkle:BNF语法的运行时解析器 Bullwinkle是用于LL(k)语言的解析器,通过递归下降和回溯来进行操作。 诸如ANTLR,Yacc或Bison之类的将语法作为输入,并为特定于该语法的解析器生成代码,然后必须对其进行编译才能使用。 相反,Bullwinkle在运行时读取语法的定义(以(BNF)表示),并且可以当场解析字符串。 Bullwinkle的其他独特功能包括: Bullwinkle解析器的实例可以使用安全地序列化。 ,一种特殊的模式,其中输入字符串可以包含语法中的非终结符。 因此,可以部分验证字符串的语法正确性。 ( ,一类对象,可轻松遍历解析树并递归