問題タブ [antlr3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
error-handling - ルールが失敗したときに antlr3 を強制的に終了させます
私は次のようなルールを持っています:
残念ながら、nullであるRuntimeObject
ため、コンストラクターで例外がスローされます。$label.text
デバッグ出力などを調べると、「ラベル」との一致が実際には失敗したことがわかりますが、Antlr ランタイムは、より役立つエラー メッセージを表示する目的で「役立つように」一致を続行します ( http://www.antlr.org /blog/antlr3/error.handling.tml )。
わかりました、これがいくつかの状況でどのように役立つかはわかりますが、どうすれば Antlr にそれをやめるように指示できますか? defaultErrorHandler=false
v2 からのオプションはなくなったようです。
python - Google App Engine で文章から文法特徴を抽出する
私の GAE アプリでは、入力文から主語と目的語を抽出するために自然言語処理を行う必要があります。
どうやらNLTKはGAEに(簡単に)インストールできないようですので、別の解決策を探しています。GAE にはAntlr3が付属していることに気付きましたが、そのドキュメントを参照すると、別の種類の文法の問題が解決されます。
何か案は?
c - ANTLR3C を使用して導入レコグナイザーを生成する方法は?
The Definitive ANTLR Guide は単純なレコグナイザーから始まります。'%s' は ANTLR にとって何かを意味するため、文法を逐語的に使用して C ランタイムをターゲットにすると失敗します。
この場合、ANTLR に '%' を無視するように指示するにはどうすればよいですか?
c - C で ANTLR 3 文法をコンパイルする
私はANTLRを学び、このチュートリアルを使用してC出力コードで動作させようとしています(この質問でも参照されています)。ANTLR でレクサーとパーサーを C ソースとして生成することに成功しましたが、Mac OS X Snow Leopard (i686-apple-darwin10-gcc-4.2.1) で gcc を使用してコンパイルすることはできません。以下は、「SimpleCalcLexer.c」をコンパイルしようとしたときの結果です。
SimpleCalcLexer.c ファイルはどこにも "main" を参照していません (定義もされていません) が、パーサーはそれを定義しているので、それをコンパイルしようとしました:
いくつかの質問があります:
1) 私は何を間違っていますか? コードには他のantlr関数と定義が見つかっているため、ライブラリが見つかっていると確信しています。gcc を間違って呼び出していますか? (コマンドラインでこれほど複雑なものをコンパイルしたことはありません。)
2) とはccn8ZVhk.o
? これがオブジェクト コード ファイルであることはわかりますが、私のシステムでは見つかりません (locate
との両方mdfind
)。
java - antlr3 AST をシリアライズする方法
antlr3 の使用を開始したばかりで、.g 文法の AST 出力をシリアル化しようとしています。
ありがとう、
レザン
parsing - proxy.handshake 呼び出しでハングする ANTLR パーサー
私は基本的な ECMAScript パーサーを動作させようとしており、ECMAScript 3の完全な ANTLR 文法を見つけました。これは正常にコンパイルされ、適切な Lexer/Parser/Walker Java ファイルを生成するように見えます。
( Eclipse 3.5 のANTLR IDE プラグイン内で実行)
ただし、実際に単純なテスト コード ( ANTLR wiki のガイドに従ってください) で使用しようとすると、パーサーを作成しようとするとハングします。
問題をコンストラクター内で追跡しES3Parser
、そこで関数を呼び出していますproxy.handshake()
-この行の前では正常に実行できますSystem.out.println("text")
が、その後は何も得られません。
では、ハングしている理由を見つけて停止するにはどうすればよいでしょうか。または、このセクションをバイパスすることもできます (デバッグを無効にすることはできますか?)。 .
antlr - Antlr 3 / Cサンプルmain()を探しています
http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3やhttp://www.antlrなど、Cのmain()のサンプルがいくつか浮かんでいます。 org / api / C / index.html
間接参照はASTのようです。私はそれが何であるかわかりません、そして-すみません-私がそれを避けることができればしたくありません。
レクサーと文法(モデムATコマンド用)を定義して、main()を自動生成するか、どこかから切り取って貼り付けるのが好きです。
少しひねりを加えたのは、ほとんどの例がファイルから読み取られているように見えるのに対し、パラメーターとして渡される一連の入力(ATコマンド)を文字列として取得することです。
誰かが私が適応できる単純なmain()を私に指摘してもらえますか(そしておそらくそれを適応させるためにhwoを提案しますか?)私が知っていることをたくさん尋ねます、ごめんなさい。
c++ - ANTLR3.2でのC++コード生成の準備はできていますか?
私はANTLR3.2がC++でパーサー/レクサーを生成するように一生懸命努力していました。それは無益でした。しかし、JavaとCはうまくいきました。
私はこのチュートリアルを使用して開始しました:http ://www.ibm.com/developerworks/aix/library/au-c_plusplus_antlr/index.html
* .stgファイルを確認したところ、次のことがわかりました。
CPPには
Cには非常に多くのファイルがあります。
そして他の言語。
私のCgファイル:
エラー:
... 等々。
ご教授ください。ありがとうございました!Leopard10.5.8を使用しています
antlr - 文字列の一致の問題 (優先順位を付けることができますか?)
特定のキーワードを認識するという (不適切に指定された) 要件がありますが、「任意の文字列」に対する規定もあります ...
たとえば、入力 "let's have a " では、== "beer"、== "curry"、および == を処理する必要があります (理論的には、キーワード ビール & カレーは他のすべての文字列よりも優先されます)。
もちろん、これを定義しようとすると、
これは st00pid n00b の FAQ だと思いますが、明確な答えが見つかりません。感謝して受け取った助け...
antlr - 実行時にルールを動的に更新する
AT コマンドを送信すると、通常は \r\n で終了しますが、実際には、これらは実際には 2 つの「レジスタ変数」S3 と S4 です。
デフォルトでは S3=='\r' および S4=='\n' ですが、ユーザーはコマンド ATSx= を使用して実行時にこれらを変更できます
Antlr レクサー/パーサーでこれを処理するにはどうすればよいですか?
各コマンドの形式は AT[parameters]S3S4 ですが、ユーザーが S3 または S4 の値を変更した場合、どのように処理できますか?
助けてくれてありがとう...