問題タブ [parser-generator]

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 に答える
124 参照

compiler-construction - parser.mly で変数の宣言を処理するには?

Ocamlでmini-pascalのコンパイラを書いています。たとえば、コンパイラが次のコードを受け入れるようにしたいと思います。

変数の宣言 ( の後の部分) を処理するのに苦労していますvar。現在、変数の型はsib_syntax.mlで次のように定義されています。

ここにsib_parser.mlyがあります。私の質問は、globals実際には のリストである変数の宣言であるs_var. sib_parser.mly( terminated_bindingsbinding、など)の末尾のメンヒルの部分を改良する必要があると思いseparated_nonempty_listますが、方法がわかりません...

誰でも助けてもらえますか?どうもありがとうございました!

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

java - 文字列をintに解析する方法は?

私の文字列は743.4445で、743を表示したいので、doubleに解析してからintに解析する必要があるため、このように試します

(実際には 743.4445 はサーバーからのものであるため、正確な値はわかりません)

私は何をすればいいですか?

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

objective-c - Objective C のパーサー ジェネレーター?

パーサー ジェネレーターを使用して、ドメイン固有言語用のパーサーを作成するように勧められました。

理想的には、Objective-C パーサーを出力し、BNF 入力を受け取って言語を記述したいと考えています。

選択肢はほとんどないようです..Objective Cでより人気のあるパーサージェネレーターの1つを使用することは可能ですか?

ありがとう!

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

qt - Qt プロジェクトでフレックスを使用する

Qt アプリケーションで、flex++ で生成されたパーサー コードを使用する必要があります。このエラーが発生しました:

また、次の行を .pro ファイルに追加しました。

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

iphone - iPhone用のParseKitをダウンロードするには?

本当に基本的な (そしておそらく非常にばかげた) 質問ですが、ソース コードをダウンロードするこの手順に慣れていません。これをダウンロードしたことがなくても、私が見逃しているものを指摘できるかもしれません。

iPhone アプリで使用する ParseKit パーサー ジェネレーターを取得しようとしています。

指示によると、「ParseKit.xcodeproj」という名前のプロジェクト ファイルが必要です。

http://parsekit.com/iphone.html

以下のリンクからソース ファイルに移動できますが、実際のプロジェクト ファイルの場所がわかりません。

http://code.google.com/p/todparsekit/source/browse/#svn%2Ftags%2Frelease-1.5-tag

ParseKit.xcodeproj は左側にありますが、それ自体をダウンロードすることはできません。project.pbxproj が開き、ソース コードが含まれています。プロジェクト ファイル自体を取得するにはどうすればよいですか?

質問に対して申し訳ありませんが、すべてが痛々しいほど自明ではないようです。なぜダウンロードリンクを提供しないのですか? 私は何かが欠けているに違いない...

ありがとう!

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

parsing - レモンLALRパーサーの簡単な文法

私はしばらくの間これで立ち往生しています。私は次のような単純なものを解析したいと思います:

好きなもの:word1 word2 .. wordN嫌いなもの:word1 word2 .. wordN

Lemon+Flexを使用しています。現時点では、私の文法は次のようになっています。

ただし、これは最初の2単語でのみ機能します。明らかに、おそらく再帰的定義で、私は何か間違ったことをしていますか?どんな頭を上げても大歓迎です:)

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

objective-c - このParseKitBNFの何が問題になっていますか?

私は、グラマーを指定するためにBNFのような構文をとるObjective-CにParseKitを使用しています。

最後の行を含めるとエラーが発生します。基本的に、オブジェクトは家か何か他のものである可能性があると言いたいです。非終端記号「other」は、家ではなかった単語が何であれ、それをキャッチすることになっています。

私は「何でも-ここ」の考えを間違った方法で考えていますか?

ありがとう!

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

context-free-grammar - 初心者のための良いBNF文法チュートリアル/紹介?

BNF文法の概要(およびそれらを実際に使用する方法)のヒントは何ですか?

多くの例で簡潔な何かが素晴らしいでしょう。グーグルしてきましたが、これまでのところ、例が不明確な非常に長いアークルしか見つかりませんでした:/

(私の特定のケースでは、GalaxyToolconfig構文を解析しようとしています。これにはif/elseステートメントなどが含まれます)

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

objective-c - Parsekitを使用して解析ツリーを構築する

XCodeにParsekitを使用していますが、この問題はほとんどのパーサージェネレーターに当てはまる可能性があります。gammerを使用してスクリプトを解析すると、正常に機能します。ただし、次のステップで問題が発生しています。grmmerについて考えてみましょう。

@start = line +; line=ツリー;

tree='tree'果物の枝;

フルーツ='with''フルーツ'番号; branchs='with''branchs'番号;

そして渡すスクリプト:

実のある木8枝のある木12

次に、一致するメソッドを実装すると、果物と枝が1回一致しますが、これは予想されることです。

ただし、ツリーは2回一致しますが、なぜですか?これにより、必要な解析ツリーを構築できなくなります。

助けてくれてありがとう!

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

javascript - Closure Compiler で使用できる JavaScript パーサー ジェネレーター

私は Javascript 用のパーサー ジェネレーターを調べていて、いくつか (つまり、PEG.js) を見つけました。

ただし、これらが Google Closure Compiler のようなものとどの程度うまく機能するかは明らかではありません。

たとえば、PEG.js のように見えますが、ルールの一部として実行するコードを与えることができますが、関数 (コンパイラによって名前が変更される可能性がある) をルールにバインドするにはどうすればよいでしょうか?

さらに、どのパーサーがシンボル テーブルの受け渡しをサポートしているかは不明です。たとえば、「A or B」のような式を受け入れる文法を定義したいとします。「A」と「B」の値は実行時に定義されます。たとえば、ユーザーが表示しているレコードの属性として定義されます。

もちろん、PEG.js は必須ではありません。検索結果に表示され、使用可能に見える唯一のパーサー ジェネレーターです。