2011-12-30 7 views
1

私はこのコードで文法ファイルを持っているとしましょう。@headerと@membersをANTLRでParserではないLexerにするにはどうすればよいですか?

// 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>(); 

ANTLRを使用しているLexer not Parserにコードを挿入する方法はありますか?

答えて

1

@headerおよび@membersはそれぞれ、@parser::headerおよび@parser::membersの略です。

レクサーにコードを入力するには、@lexer::header@lexer::membersを入力します。

関連する問題