各位,如今项目里要用到JavaCC,所以得搞懂这个东西,可现在有个问题:在JJ文件中,会有这样的TOKEN定义:
//1
<*>
TOKEN :
{
<COLON : ":" > : CONTENTSTATE
}//2
<DEFAULT, PARAMSTATE>
TOKEN :
{
<SEMICOLON : ";" > : PARAMSTATE
}//3
TOKEN :
{
<VCAL_BEGIN : "BEGIN" <COLON> "VCALENDAR">
}这里定义了三个TOKEN,第一个上边的<*>是表示什么呢?
第二个上边的<DEFAULT, PARAMSTATE>表示什么?第一个和第二个在定义的最后,都有一个冒号,后边又跟了一个单词,它们又是什么意思?知道的朋友发发言吧,这个问题我搞了好几天,一直搞不定,一直停在JJ文件这里,没有进展,所以非常郁闷。(第三个没什么问题。)
//1
<*>
TOKEN :
{
<COLON : ":" > : CONTENTSTATE
}//2
<DEFAULT, PARAMSTATE>
TOKEN :
{
<SEMICOLON : ";" > : PARAMSTATE
}//3
TOKEN :
{
<VCAL_BEGIN : "BEGIN" <COLON> "VCALENDAR">
}这里定义了三个TOKEN,第一个上边的<*>是表示什么呢?
第二个上边的<DEFAULT, PARAMSTATE>表示什么?第一个和第二个在定义的最后,都有一个冒号,后边又跟了一个单词,它们又是什么意思?知道的朋友发发言吧,这个问题我搞了好几天,一直搞不定,一直停在JJ文件这里,没有进展,所以非常郁闷。(第三个没什么问题。)
2.后面定义的是lexical state。表示该token只在该lexical state下有效。