如何在鹿茸词汇规则中匹配$

时间:2014-12-10 03:21:30

标签: antlr lexer

我正在使用特定于域的语言,我被要求提供您在bash中看到的变量名称。例如,我希望能够使用像

这样的表达式

结果= $ 1 + $ 2

我已经尝试了几种方法来尝试匹配使用鹿茸的词汇规则的$,但是没有任何结果导致$无法匹配。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

$与ANTLR可以匹配的任何其他角色没有什么不同。假设您有一个标识符规则,如下所示:

Identifier
  : [a-z] [a-z0-9]*
  ;

您可以通过以下简单更改来更新它以支持$

Identifier
  : '$'? [a-z] [a-z0-9]*
  ;

如果您允许数字作为第一个标识符字符,但只有在开头出现$时,您可以这样做:

Identifier
  : [a-z] [a-z0-9]*
  | '$' [a-z0-9]+
  ;