javacc 语法冲突标记
javacc grammar conflicting tokens
我正在解析程序的命令行参数
例如:--param1 value1 --param2 value2
当值是一个字符串,前面有破折号 (-) 例如:--param1 -value1
这是一个词法错误。
我应该如何修改语法以接受上述输入?
<STRING : (["A"-"Z" , "a"-"z" , "0"-"9"])+ >
<PARAMNAME : "--"(<STRING>) >
你可以这样做
<VALUE: ("-")? <NAME> >
<PARAMNAME : "--" <NAME> >
<#NAME : (["A"-"Z" , "a"-"z" , "0"-"9"])+ >
我正在解析程序的命令行参数
例如:--param1 value1 --param2 value2
当值是一个字符串,前面有破折号 (-) 例如:--param1 -value1
这是一个词法错误。
我应该如何修改语法以接受上述输入?
<STRING : (["A"-"Z" , "a"-"z" , "0"-"9"])+ >
<PARAMNAME : "--"(<STRING>) >
你可以这样做
<VALUE: ("-")? <NAME> >
<PARAMNAME : "--" <NAME> >
<#NAME : (["A"-"Z" , "a"-"z" , "0"-"9"])+ >