你能用什么来识别lex中的字符串。
我已经尝试了
enter code here
import java_cup.runtime.*;
%%
%cup
%line
NUM = [0-9]
ID = [a-zA-Z]
Pun= [:=;#@$^~]
WhiteSpace = [ \t\r\n\f]
SDQuo = [\"]
%%
({SDQuo}+) ({ID}|{NUM})* ({SDQuo}+) { return new Symbol(sym.STR, new String(yytext()));}
但宏无法识别。 我一直得到的错误信息是: 处理第一部分 - 用户代码。 处理第二部分 - JLex声明。 处理第三部分 - 词汇规则。 创建NFA机器表示。 错误:第39行解析错误。 描述:词法动作开始时缺少括号。 解析错误。
答案 0 :(得分:1)
忽略=
等定义中的NUM
符号,不要将它们放在%%
之间。而是将最后一条规则放在%%
。