假设我有一个包含此代码的语法文件。
// START:members
@header {
using System.Collections.Generic;
}
@members {
public static Dictionary<string, string> memory = new Dictionary<string, string>();
}
ANTLR将代码放在Parser中。
public partial class Eval : TreeParser
{
...
/** Map variable name to Integer object holding value */
//HashMap memory = new HashMap();
Dictionary<string, int> memory = new Dictionary<string, int>();
有没有办法将代码放在Lexer而非Parser中使用ANTLR?
答案 0 :(得分:1)
@header
和@members
分别是@parser::header
和@parser::members
的缩写。
要将代码放入词法分析器,请执行:@lexer::header
和@lexer::members
。