在javaCC中切换词法状态

时间:2014-02-03 12:42:54

标签: netbeans javacc

我正在尝试创建一个javaCC解析器,它在自定义NetBeans插件的两个代码块中表现不同,但我甚至无法识别两个状态。我不知道我做错了什么。

<DEFAULT,STATE1>
SKIP : {
  " " 
| "\t"
| "\n"   
| "\r"
}
TOKEN : {
  < A1: "a"> : STATE1  
}
< STATE1 > TOKEN : {
  < B2: "b" > : DEFAULT
} 

这个简单的解析器不会解析字符串“abab ..”。

1 个答案:

答案 0 :(得分:1)

&#34;没有规则。&#34 ;;因此,在解析&#34; abab&#34;之后,词法分析器被卡住了。这就是错误消息在第1行第5列中出现“词汇错误”的原因。遇到:&#34;。&#34; (46),之后:&#34;&#34;&#39;如果你添加

| "."

到第一条规则,它会起作用。