/***********************************************************************/
void range():
{
String bf = "";
Token t1 = null;
Token t2 = null;
Token lparen = null;
Token rparen=null;
}
{
(lparen = < LPAREN > |lparen=< LSHIT>)
(t1 = <TERM_COMPLEX_R >|t1=<TERM >)
< RANGE_TO >
(t2= <TERM_COMPLEX_R >|t2=<TERM >)
(rparen = < RPAREN > |rparen = < RSHIT>)
bf = bf()
{
jjtThis.value=conj+tname+":"+lparen.toString().trim()+t1.toString().trim()+" TO "+t2.toString().trim()+rparen.toString().trim()+bf;
sb.append(conj+tname+":"+lparen.toString().trim()+t1.toString().trim()+" TO "+t2.toString().trim()+rparen.toString().trim()+bf);
start();
}
}
void test():{}{
[(<TERM>|<SHIT>)]{System.out.println("xxxxx");//这两个表达式是可选的只要下一个字符不是<EOF>就行就不会报错}
}
/***********************************************************************/
/***********************************************************************/
//>说明
/***********************************************************************/
/**
//t1 = <TERM_COMPLEX_R >|t1=<TERM >
//这两个token有类型冲突有时候不知道怎么解决硬是硬着头皮该
//但是还有个更好的办法是让他有两次匹配的机会让他在其中任意选择一个
//就可以了
TOKEN:{ <#_W:("W"|"w") >
|<#_F:("F"|"f") >
|<SPACE:(" ")*(("S"|"s")("p"|"P")("a"|"A")("C"|"c")("e"|"E"))(" ")* >
|<NEAR:(" ")*(("N"|"n")("e"|"E")("a"|"A")("r"|"R"))(" ")* >
|<#_CMP:(" ")*(<_W >|<_F >|(<_W ><_F >))< NUMBER>(" ")* >
|<COMPLEX:(" ")*< _CMP>(" ")*> |<TERM_COMPLEX:((" ")*< TERM>(<COMPLEX >|< SPACE>|< NEAR>))(" ")* >
|<TERM_COMPLEX_R:(" ")*< TERM>(" ")* >}
//如何配置单词多中形势的问题
//等效于
//<SPACE:(" ")*(("S"|"s")("p"|"P")("a"|"A")("C"|"c")("e"|"E"))(" ")* >
*/
/***********************************************************************/
/***********************************************************************/
TOKEN :
{
< RANGE_TO :
(
(" ")*"to"(" ")*
| (" ")*"TO"(" ")*
| (" ")*"To"(" ")*
| (" ")*"tO"(" ")*
| (" ")*"~"(" ")*
| (" ")*"-"(" ")*
) >
}
//等效于
//在rang_to这段代码完全可以改成
//<range_to:((" ")*(["T","t"])(["o","O"]))(" ")*
|(" ")*"-"(" ")*
|(" ")*"~"(" ")*
>//形势大为缩减
/***********************************************************************/
javacc如何处理token类型冲突问题
最新推荐文章于 2021-04-25 17:14:19 发布