antlr4 括号与字符串规则的双引号冲突
antlr4 parentheses collide with double quote for string rules
我定义了这样一个字符串:
STRING_TOKEN: '"'[A-Za-z0-9]+'"';
当我使用这样的规则时:
LENGTH_TOKEN '( 'function' )' #lengthScalarOperator
例如:长度("skip")
其中函数是一个字符串,我得到了这个错误:不匹配的输入 '("' 期待 '('
原因是,它正在寻找一个 ( 标记,但它找到了一个 (" 标记,因为您没有将标记指定为 "("。尝试移动 LENGTH_TOKEN
中的两个 ' 所以它变成了 LENGTH_TOKEN '(' function ')'
。
我定义了这样一个字符串:
STRING_TOKEN: '"'[A-Za-z0-9]+'"';
当我使用这样的规则时:
LENGTH_TOKEN '( 'function' )' #lengthScalarOperator
例如:长度("skip")
其中函数是一个字符串,我得到了这个错误:不匹配的输入 '("' 期待 '('
原因是,它正在寻找一个 ( 标记,但它找到了一个 (" 标记,因为您没有将标记指定为 "("。尝试移动 LENGTH_TOKEN
中的两个 ' 所以它变成了 LENGTH_TOKEN '(' function ')'
。