antlr

    1

    2答えて

    私は独自の言語用の静的解析ツールを構築する予定です。私はANTを使用してASTを構築する予定です。私はASTを使用して独自の言語を使用してプロジェクトによって設定されたルールとガイドラインをチェックする方法について知りたいと思います。 私がCソースコード用のASTをビルドして、ヌルポインタをチェックしたいと言っているとします。 ASTまたはCSTを使用してこのチェックを行う方法 ANTLRで生成さ

    0

    1答えて

    この種の問題に遭遇したことはないので、これを実装する言語パーサを作成することを考えました。もちろん、私はこの問題に対する提案や全く異なるアプローチに触れています。これを実現させるための一般的なガイドラインやアドバイスが必要です。 TABLERULE col1 TYPE (STRING) == "string" (AND|OR|NOT) col2 TYPE (INT) >= 12 ... ST

    1

    1答えて

    私は次の文法を作成しました。Javaでツリーを返すインタプリタを構築する方法を考えています。これは後でスクリーンに印刷するために使用できます。 。 grammar myDSL; options { language = Java; } @header { package DSL; } @lexer::header { package DSL; }

    1

    1答えて

    これだけの非常に単純なantlr文法を評価する方法。 Box(1,2,4) Cylinder(1,2) とJava3Dの形状を構築し、(私はすでに、おそらくこのような何かをJava3Dのためのキャンバスを構築し、Javaで各要素を作成するためのコードを持って、 protected static BranchGroup addBox1(Float a, Float b, Float C){

    0

    1答えて

    以下の文法を定義しました。結果は成功したが、私は A=(1,1) B=(1,2) G=(A,E) を書くならば、それはEではないというエラーを与え、私は例を持っている A=(1,1) B=(1,2) G=(A,B) ように、この文法をチェックインする方法 grammar Sample_1; @header { package a; } @lexer::he

    1

    1答えて

    HQLで選択するとかなり簡単に挿入されるようにしようとしていますが、MismatchedTreeNodeExceptionで困惑しています。私が言うことができる限り、私はこれに遭遇した世界で最初の人です。私は、私が何か非常にばかげたことをしていることを示しています。 session.CreateQuery( @"insert into PriceValue (Currency, Price

    1

    1答えて

    を見つけることが、どのように私はこのエラーの親「ノード」を見つけるのですか? ex。文法があれば: prog:stat expr; stat:STRING; expr:INTEGER; し、それを入力 "のABC DEF" を与えます。 それから私は、整数でなければなりません「DEF」でエラーが発生します。この時点で、私は "expr"(INTEGER部分の中で失敗するため)の親を取得したい、そし

    1

    1答えて

    は、私はそうのようなルールを持っているANTLR文法を持っている:IDは、典型的な変数名を照合し、コンマはコンマと一致するレクサー・ルールであるためレクサールールがある rule: ID (COMMA ID)* ; 。だから、ルールは、一つ以上のコンマに一致し、私はそうのように見えるツリーを作成したい変数 を分離: ITEMは、私は、各IDの前に挿入する仮想ノードである ITEM

    0

    2答えて

    私はanttlr.StringTemplate名前空間をc#csファイルに追加できませんでしたが、それを見つけることができませんでした。 このパッケージは.net http://www.stringtemplate.org/download.html完全にバグですか?はいの場合、著者はどのようにこの非常に基本的なものをテストしないことができますか? 更新:最終的に私はそれを見つけました。はい正式な

    1

    1答えて

    ANTLRパーサーと論理式用の木を構築するための以下の文法を書いています。誰かが助けることができる場合: class AntlrFormulaParser extends Parser; options { buildAST = true; } biconexpr : impexpr (BICONDITIONAL^ impexpr)*; impexpr : orexpr (