我的DSL中有以下令牌:
首先是小写字母;之后,它可以是任何小写字母,大写字母或下划线。
以大写字母开头;之后,它可以是任何小写字母,大写字母或下划线。
可选择以' - ';之后,它可以是任何小写,字母,大写字母,',' _',' - ',' / '或' $'。
根据我的理解,我不能有3个单独的词法分析器规则,因为我们无法在没有歧义的情况下定义它们。我需要定义一个词法分析器规则,使用#3,因为它涵盖了#1和#2,并且在目标编程中用于区分3个令牌。
但我希望我错了,因为定义lexer规则是如此诱人。
请指教。