問題タブ [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.
syntax - 構文解析文字列を出力する文法の構文指示定義
---> 以下の文法を考えてみましょう:
上記の文法について、解析中の文字列を出力する構文指向の定義を記述し、文字列 'bddcab' の注釈付き解析ツリーを構築します。
解決:
上記の文法を書き直すと、次のようになります。
上記の文法と意味規則。
この解決策は大丈夫ですか?正確ではないかもしれないと感じています。
これが注釈付きの解析ツリーです。
bison - Bisonを使用して解析ツリーを印刷するにはどうすればよいですか?
パーサーを実装しましたが、何も出力されません。指定された入力が構文的に間違っている場合、yyerror()
ルーチンに含めても「エラー」は出力されません。また、入力が正しければ、解析ツリーは出力されません。これの考えられる理由は何でしょうか?ファイルではなくファイルに入れmain()
ました。それが考えられる理由ですか?これが主な方法です。.lex
.y
文法ファイルは次のとおりです。
これが私の.lex
ファイルの外観です。
algorithm - ホーナーのスキームに従って、多項式の解析木をその評価の解析木に変換します
単一の変数で多項式を評価するために (バイナリ) 解析ツリーを取得し、ホーナーの規則に従って多項式を評価する同等の解析ツリーを返すアルゴリズムを教えてください。
意図された使用例は式テンプレートにあります。アイデアは、行列x
の場合、解析ツリーは次から取得されるということです
の対応する解析ツリーに最適化されます
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 によって生成された (通常の) 文字列を検証できます。しかし、どうすれば対応する構文木を生成できるでしょうか?
c++ - 構文解析ツリーの単項および2進数のマイナス
次のような式を含む解析ツリーを作成しています
3 - 4 * 8
また
8 * -5
また
-(10 * 1)
単項マイナスとバイナリマイナスを区別する方法が必要です。私の文法の進め方は、最初に2進数のマイナスに到達しますが、それを変更して、最後の変数を保持するフラグ変数を追加することを考えています。
例:もしそうなら5 - 6
フラグは5を保持しており、マイナスが表示され、フラグが数値の場合は、単項をスキップして2進数になります。
ただし、これをC++で実装する方法が正確にはわかりません。
どんな助けでも大歓迎です。
ありがとう
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 での代替手段を知りたいと思いました。
いくつかのユースケースのポインタをいただければ幸いです。
ありがとう。
scala - scala 2.10 AST 内の検索
scala 2.10 ASTで要素を再帰的に検索する最良の方法は何ですか?
power.trees(code)
木は、またはmirror.mkToolBox().parseExpr(code)
編集の結果である可能性があります。2.10.0-RC1parseExpr
では、名前が に変更されましたparse
。
私が持っている具体的なユースケースは、メソッド名で特定のクラス/オブジェクトコードからメソッドのコードを抽出することですが、より一般的な方法で定式化された場合、質問は他の人にとってより関連性があると思います.
python - Python2.7を使用したHTML解析ツリー
以下のHTMLテーブルに対して1つの解析ツリーを構成しようとしましたが、それを形成できませんでした。ツリー構造がどのように見えるかを確認したいのですが、誰かがここで私を助けてくれますか?
編集
nlp - スタンフォードCoreNLPでフレーズタグを取得するには?
各単語に対応するフレーズタグを取得したい場合、どうすれば取得できますか?
例えば :
この文では、
私の犬もソーセージを食べるのが好きです。
次のようなスタンフォード NLP で解析ツリーを取得できます。
上記の状況で、次のような各単語に対応するフレーズタグを取得したい
フレーズタグを簡単に抽出する方法はありますか?
私を助けてください。