我想解析以下结构的表达式:
compositeKey ::= key (separator key)*
这是弹性代码片段:
KEY_CHARACTER=[^:\s]
KEY_SEPARATOR=[:]
%state WAITING_KEY
...
<WAITING_KEY> {KEY_CHARACTER}+ { yybegin(WAITING_KEY); return MyTypes.KEY; }
<WAITING_KEY> {KEY_SEPARATOR} { yybegin(WAITING_KEY); return MyTypes.KEY_SEPARATOR; }
由给定的 flex 片段生成的代码可以正常工作,但是如果我想在“运行时”获取键分隔符怎么办?它实际上可以是用户指定的任何字符。如何用 jflex 做到这一点?