关于JavaCC的问题

码工码工 2007-05-09 08:23:08
各位,如今项目里要用到JavaCC,所以得搞懂这个东西,可现在有个问题:

在JJ文件中,会有这样的TOKEN定义:
//1
<*>
TOKEN :
{
<COLON : ":" > : CONTENTSTATE
}

//2
<DEFAULT, PARAMSTATE>
TOKEN :
{
<SEMICOLON : ";" > : PARAMSTATE
}

//3
TOKEN :
{
<VCAL_BEGIN : "BEGIN" <COLON> "VCALENDAR">
}

这里定义了三个TOKEN,第一个上边的<*>是表示什么呢?
第二个上边的<DEFAULT, PARAMSTATE>表示什么?

第一个和第二个在定义的最后,都有一个冒号,后边又跟了一个单词,它们又是什么意思?

知道的朋友发发言吧,这个问题我搞了好几天,一直搞不定,一直停在JJ文件这里,没有进展,所以非常郁闷。。。。

(第三个没什么问题。)
...全文
347 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Aaron9979215 2007-05-16
  • 打赏
  • 举报
回复
1.<*>应该表示开始
2.后面定义的是lexical state。表示该token只在该lexical state下有效。
Aaron9979215 2007-05-14
  • 打赏
  • 举报
回复
up
也在看javacc
码工码工 2007-05-10
  • 打赏
  • 举报
回复
自己顶吧,不然沉了。。。。
码工码工 2007-05-10
  • 打赏
  • 举报
回复
各位老大,看看啦。。。。

阿门。。。。
码工码工 2007-05-10
  • 打赏
  • 举报
回复
我靠,高人终于出现了。。。:) :)

不过你说的好像不对,<*>是操作符的话, 为什么有的Token前有,有的Token前没有呢?

就我的理解:表示下边的TOKEN多在输入流中多次出现。

但另外的问题到现在还是没头绪。。。

不过呢,由这个东西引起的问题已经被我搞定,只是如果不搞懂这个东西的话,。。。。~~~
fengmingjie 2007-05-10
  • 打赏
  • 举报
回复
1.*是开始的标志
2.后面的应该是你定义的操作符

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧