在我使用的语言中,某些关键字必须位于行的开头。这主要是因为语言中的字符串值可以跨越多行,并且字符串可以轻松包含这些关键字。
我可以轻松处理旧的 yacc/lex 语法实现,因为词法分析器使用普通的正则表达式来匹配文本模式,例如
^description { actions }
Run Code Online (Sandbox Code Playgroud)
description匹配行开头的' ',然后执行操作。
我怎样才能在 Antlr4 中做到这一点?它似乎不支持正确的正则表达式进行词法匹配。我正在使用 IntelliJ 插件,当我^在任何词法分析器规则 RHS 上使用“ ”字符时,它会抱怨。