将BNF转换为javacc代码

时间:2014-04-18 16:44:21

标签: javacc ebnf

我需要将以下内容从EBNF转换为javacc,我尝试了各种方法,但是我收到了一个错误。

EBNF:code :: == [\ x20 - \ x7E]

如何转换?

提前致谢

1 个答案:

答案 0 :(得分:1)

JavaCC支持字符范围。例如。 [" "-"~"]它还支持Java中的Unicode转义,例如["\u0020"-"\u007E"]

这些范围可用于令牌管理器的规范。请注意,Question 3.3 of the FAQ中列出的三个规则适用。所以,如果你有

TOKEN: {
    <LETTER : ["a"-"z","A"-"Z"] >
|
    <PRINTABLE : [" "-"~"] >
}

然后在解析器中你需要

void Printable() {
    <LETTER> | <PRINTABLE>
}