有这没个公式
A and B or (C and D) 用javacc 定义 并解析PARSER_END(cmmJavaCC)
SKIP:{
" "
| "\t"
| "\n"
| "\r"
| <"//"(~["\n", "\r"])*("\n"
| "\r"
| "\r\n")>
| <"/*"(~["*"])*"*"(~["/"](~["*"])*"*")*"/">
}
TOKEN:/*定义关键字*/
{
<IF:"if">
| <ELSE:"else">
| <READ:"read">
| <WRITE:"write">
| <WHILE:"while">
| <INT:"int">
| <REAL:"real">
}
TOKEN:/* 定义整数 */
{
<INTEGER_LITERAL:["1"-"9"](<DIGIT>)*>
}
TOKEN:/* 定义实数 */
{
<REAL_LITERAL:(<DIGIT>)+
| (<DIGIT>)+"."
| (<DIGIT>)+"."(<DIGIT>)+
| "."(<DIGIT>)+>
}
TOKEN:/*定义数字*/
{
<#DIGIT:["0"-"9"]>
}
TOKEN:/*定义符号*/
{
<UNDERSCORE:"_">
| <COMMA:",">
| <SEMICOLON:";">
| <COLON:":">
| <LEFTPARENTHESES:"(">
| <RIGHTPARENTHESES:")">
| <EQUAL:"=">
| <PLUS:"+">
| <MINUS:"-">
| <TIMES:"*">
| <DIVIDE:"/">
}
TOKEN:/* 定义标识符 */
{
<IDENTIFIER:<LETTER>
| <LETTER>(<LETTER>
| <DIGIT>
| <UNDERSCORE>)*(<LETTER>
| <DIGIT>)+>
| <#LETTER:["a"-"z", "A"-"Z"]>
}int Start():{}{
Procedure()"!"{
return 0;
}
| "!"{
return 1;
}请问 我怎样才能解析出括号 是不是匹配正确写了递归没成功void MatchedBraces() :
{}
{
"(" [ MatchedBraces() ] ")"
}
A and B or (C and D) 用javacc 定义 并解析PARSER_END(cmmJavaCC)
SKIP:{
" "
| "\t"
| "\n"
| "\r"
| <"//"(~["\n", "\r"])*("\n"
| "\r"
| "\r\n")>
| <"/*"(~["*"])*"*"(~["/"](~["*"])*"*")*"/">
}
TOKEN:/*定义关键字*/
{
<IF:"if">
| <ELSE:"else">
| <READ:"read">
| <WRITE:"write">
| <WHILE:"while">
| <INT:"int">
| <REAL:"real">
}
TOKEN:/* 定义整数 */
{
<INTEGER_LITERAL:["1"-"9"](<DIGIT>)*>
}
TOKEN:/* 定义实数 */
{
<REAL_LITERAL:(<DIGIT>)+
| (<DIGIT>)+"."
| (<DIGIT>)+"."(<DIGIT>)+
| "."(<DIGIT>)+>
}
TOKEN:/*定义数字*/
{
<#DIGIT:["0"-"9"]>
}
TOKEN:/*定义符号*/
{
<UNDERSCORE:"_">
| <COMMA:",">
| <SEMICOLON:";">
| <COLON:":">
| <LEFTPARENTHESES:"(">
| <RIGHTPARENTHESES:")">
| <EQUAL:"=">
| <PLUS:"+">
| <MINUS:"-">
| <TIMES:"*">
| <DIVIDE:"/">
}
TOKEN:/* 定义标识符 */
{
<IDENTIFIER:<LETTER>
| <LETTER>(<LETTER>
| <DIGIT>
| <UNDERSCORE>)*(<LETTER>
| <DIGIT>)+>
| <#LETTER:["a"-"z", "A"-"Z"]>
}int Start():{}{
Procedure()"!"{
return 0;
}
| "!"{
return 1;
}请问 我怎样才能解析出括号 是不是匹配正确写了递归没成功void MatchedBraces() :
{}
{
"(" [ MatchedBraces() ] ")"
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货