問題タブ [parse-tree]

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.

0 投票する
1 に答える
905 参照

syntax - 構文解析文字列を出力する文法の構文指示定義

---> 以下の文法を考えてみましょう:

上記の文法について、解析中の文字列を出力する構文指向の定義を記述し、文字列 'bddcab' の注釈付き解析ツリーを構築します。

解決:

上記の文法を書き直すと、次のようになります。

上記の文法と意味規則。

この解決策は大丈夫ですか?正確ではないかもしれないと感じています。

これが注釈付きの解析ツリーです。ここに画像の説明を入力

0 投票する
2 に答える
2814 参照

bison - Bisonを使用して解析ツリーを印刷するにはどうすればよいですか?

パーサーを実装しましたが、何も出力されません。指定された入力が構文的に間違っている場合、yyerror()ルーチンに含めても「エラー」は出力されません。また、入力が正しければ、解析ツリーは出力されません。これの考えられる理由は何でしょうか?ファイルではなくファイルに入れmain()ました。それが考えられる理由ですか?これが主な方法です。.lex.y


文法ファイルは次のとおりです。


これが私の.lexファイルの外観です。

0 投票する
3 に答える
1002 参照

algorithm - ホーナーのスキームに従って、多項式の解析木をその評価の解析木に変換します

単一の変数で多項式を評価するために (バイナリ) 解析ツリーを取得し、ホーナーの規則に従って多項式を評価する同等の解析ツリーを返すアルゴリズムを教えてください。

意図された使用例は式テンプレートにあります。アイデアは、行列xの場合、解析ツリーは次から取得されるということです

の対応する解析ツリーに最適化されます

0 投票する
2 に答える
911 参照

regex - DFA を使用して Context-Free Grammar で指定された正規言語を解析し、解析ツリーを生成できますか?

ご存知のように、DFA を使用して通常の言語で文字列を検証できます。

例 1. L=ac(b)*bcb|ad(b)*bb. 文字列「acbbbcb」は、DFA によって正しいと検証できます。

また、正規言語をCFGで表現できる場合もあります。

例 2。

  • S -> "a" A "b"
  • A -> "c" B "c" | "d" B
  • B -> "b" B | 「ば」

上記の CFG によって生成される言語は、例 1 の正規表現にすぎません。

つまり、DFA を使用して、この CFG によって生成された (通常の) 文字列を検証できます。しかし、どうすれば対応する構文木を生成できるでしょうか?

0 投票する
1 に答える
5726 参照

c++ - 構文解析ツリーの単項および2進数のマイナス

次のような式を含む解析ツリーを作成しています

3 - 4 * 8

また

8 * -5

また

-(10 * 1)

単項マイナスとバイナリマイナスを区別する方法が必要です。私の文法の進め方は、最初に2進数のマイナスに到達しますが、それを変更して、最後の変数を保持するフラグ変数を追加することを考えています。

例:もしそうなら5 - 6

フラグは5を保持しており、マイナスが表示され、フラグが数値の場合は、単項をスキップして2進数になります。

ただし、これをC++で実装する方法が正確にはわかりません。

どんな助けでも大歓迎です。

ありがとう

0 投票する
1 に答える
327 参照

ruby - ruby_parser、1.8.7より前のAST、RubyのS式の使い方は?

最近、Ruby 1.8.7 で ParseTree を使用する ror プロジェクトを ruby​​ 1.9.3 に変換しています。

ParseTree は 1.9.3 では動作しないことが判明し、多数の Google 社員で検索しましたが、まだコードの移行が残っています。

ruby_parser、sourcify、parse_tree_reloaded などのさまざまな代替手段が見つかりました...

それらにはすべて制限があります。たとえば、sourcify は動的分析の解析を行うことができません。評価の使用。

これらすべてを調べて、Ruby コミュニティでの AST/Parsing/SExp の最適な使用方法と、AST パスを選択しない場合の Ruby 1.9.3 での代替手段を知りたいと思いました。

いくつかのユースケースのポインタをいただければ幸いです。

ありがとう。

0 投票する
1 に答える
284 参照

scala - scala 2.10 AST 内の検索

scala 2.10 ASTで要素を再帰的に検索する最良の方法は何ですか?

power.trees(code)木は、またはmirror.mkToolBox().parseExpr(code) 編集の結果である可能性があります。2.10.0-RC1parseExprでは、名前が に変更されましたparse

私が持っている具体的なユースケースは、メソッド名で特定のクラス/オブジェクトコードからメソッドのコードを抽出することですが、より一般的な方法で定式化された場合、質問は他の人にとってより関連性があると思います.

0 投票する
2 に答える
7668 参照

python - Python2.7を使用したHTML解析ツリー

以下のHTMLテーブルに対して1つの解析ツリーを構成しようとしましたが、それを形成できませんでした。ツリー構造がどのように見えるかを確認したいのですが、誰かがここで私を助けてくれますか?

編集

0 投票する
1 に答える
3826 参照

nlp - スタンフォードCoreNLPでフレーズタグを取得するには?

各単語に対応するフレーズタグを取得したい場合、どうすれば取得できますか?

例えば ​​:

この文では、

私の犬もソーセージを食べるのが好きです。

次のようなスタンフォード NLP で解析ツリーを取得できます。

上記の状況で、次のような各単語に対応するフレーズタグを取得したい

フレーズタグを簡単に抽出する方法はありますか?

私を助けてください。