ANTLRを使用してプログラムをコンパイルしようとしていますが、Javaプログラミング言語をターゲットとして使用していますが、この問題の中核はIntent Regornizerを開発してエラーを修正し、ソースコードが文法に従わない場合は、ソースコード。ANTLRでJavaコードを解析する "必要概念"
int main(){
int a,b;
c=20;
}
プログラムは変数そのエラーを検出する方法:私はこのようなレクサーとパーサは私が作ったことを前提とソースコードで簡単なコードをコンパイルする方法を見てANTLR上のチュートリアルや書籍の 'C'は以前に宣言したことは知られていませんか?
私はANTLRを使用してコンパイルする方法の指示に従ってそれを適用しようとしましたが、ANTLRジェネレータのコードは、式の文法規則に従っているため有効であると考えられます。実際には変数cは知られていません。
またはオブジェクト指向の概念を実装できる文法の作成方法私はANTLR文法を使ってみましたが、結果はまだOOPの概念を説明していません。
public class Hello {
}
public class HelloTwo {
Hello hl = new HelloWrong();
}
私がコードをコンパイルすると、その結果は有効です.Grammar.butのように、そのクラスHelloWrongは実際にはnoです。また、私の最初の問題に前の変数を書き込むことにも関連しています。
私の英語で申し訳ありません。 私の問題を助けることができれば幸いです。 ありがとう
Okayyyタスク... 今私はそれを得ました。 ANTLR for.thanks budie ... のように、あなたは私に解決策を教えてくれますか、そのようにするにはどうすればいいですか?または例外のメッセージを他の言語に翻訳する方法は? –
意味解析を行う方法は?さて、私はあなたのためのリンクと少しの概要を追加しましたが、それは少し大きな話題です。一般的に、シンボルテーブルに物を追加し、シンボルテーブルを使用してシンボルを表示します。 – Task
okeタスク.. ありがとう非常に... 文法にJavaのプログラムから追加する方法を知っていますか?たとえば、文法にいくつかのテキストを書き込むためにjavaでプログラムを構築します。テキストエリアのプログラムは、ソースがvariabelを持っている場合、プログラムはソースをスキャンし、次に変数はgrammar.doにautomatichを含めることになります。 –