Допустим, у меня есть файл грамматики с этим кодом.
// 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?