2011-12-06 4 views
2

ANTLRを使用して、C#コード生成を使用した単純な言語のパーサーを作成しようとしています。ANTLR for C#プロダクトのルールを解析するためのプライベートメソッド

私は正常にMyLangLexer.csとMyLangParser.csを生成しています。非常に簡単なルールは 'rule'です。

問題は、生成されたメソッドのルール()がプライベートであることです。

私が望むのは、文字列をASTに解析するためにANTLRを使用することです。

ありがとう、 Ido。

答えて

5

C#v3ターゲットは、Javaのターゲットとは異なり、デフォルトでプライベートメソッドを生成します。公開するルールの前にキーワードpublicを追加してください。

grammar MyLang; 

... 

public rule // rule is now public 
    : other 
    ; 

other // other is private 
    : ... 
    ; 

... 
+0

ありがとうございます。 ANTLRに関するドキュメントはほとんどありませんので、私はJavaのドキュメントを読んで、この詳細を理解できません。 –

+0

@IdoRan、ええ、すべてのターゲットが同様に十分に文書化されているわけではありません。どういたしまして。 –

関連する問題