我正在尝试编写一个使用 StringTemplate 生成 HTML 输出的 ANTLR3 语法。为了避免必须转义模板规则中的所有 HTML 标记(例如\<p\><variable>\</p\>
),我更喜欢使用美元作为 StringTemplate 的分隔符(例如<p>$variable$</p>
)。
AngleBracketTemplateLexer
虽然后者在单独使用 StringTemplate 时似乎是默认设置,但初始化 StringTemplate 时始终使用 ANTRL 生成的解析器代码。
如何让 ANTLR 使用DefaultTemplateLexer
(即使用美元作为分隔符的变体)生成代码?