問題タブ [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.
compiler-construction - parser.mly で変数の宣言を処理するには?
Ocamlでmini-pascalのコンパイラを書いています。たとえば、コンパイラが次のコードを受け入れるようにしたいと思います。
変数の宣言 ( の後の部分) を処理するのに苦労していますvar
。現在、変数の型はsib_syntax.mlで次のように定義されています。
ここにsib_parser.mlyがあります。私の質問は、globals
実際には のリストである変数の宣言であるs_var
. sib_parser.mly
( terminated_bindings
、binding
、など)の末尾のメンヒルの部分を改良する必要があると思いseparated_nonempty_list
ますが、方法がわかりません...
誰でも助けてもらえますか?どうもありがとうございました!
java - 文字列をintに解析する方法は?
私の文字列は743.4445で、743を表示したいので、doubleに解析してからintに解析する必要があるため、このように試します
(実際には 743.4445 はサーバーからのものであるため、正確な値はわかりません)
私は何をすればいいですか?
objective-c - Objective C のパーサー ジェネレーター?
パーサー ジェネレーターを使用して、ドメイン固有言語用のパーサーを作成するように勧められました。
理想的には、Objective-C パーサーを出力し、BNF 入力を受け取って言語を記述したいと考えています。
選択肢はほとんどないようです..Objective Cでより人気のあるパーサージェネレーターの1つを使用することは可能ですか?
ありがとう!
qt - Qt プロジェクトでフレックスを使用する
Qt アプリケーションで、flex++ で生成されたパーサー コードを使用する必要があります。このエラーが発生しました:
また、次の行を .pro ファイルに追加しました。
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 が開き、ソース コードが含まれています。プロジェクト ファイル自体を取得するにはどうすればよいですか?
質問に対して申し訳ありませんが、すべてが痛々しいほど自明ではないようです。なぜダウンロードリンクを提供しないのですか? 私は何かが欠けているに違いない...
ありがとう!
parsing - レモンLALRパーサーの簡単な文法
私はしばらくの間これで立ち往生しています。私は次のような単純なものを解析したいと思います:
好きなもの:word1 word2 .. wordN嫌いなもの:word1 word2 .. wordN
Lemon+Flexを使用しています。現時点では、私の文法は次のようになっています。
ただし、これは最初の2単語でのみ機能します。明らかに、おそらく再帰的定義で、私は何か間違ったことをしていますか?どんな頭を上げても大歓迎です:)
objective-c - このParseKitBNFの何が問題になっていますか?
私は、グラマーを指定するためにBNFのような構文をとるObjective-CにParseKitを使用しています。
最後の行を含めるとエラーが発生します。基本的に、オブジェクトは家か何か他のものである可能性があると言いたいです。非終端記号「other」は、家ではなかった単語が何であれ、それをキャッチすることになっています。
私は「何でも-ここ」の考えを間違った方法で考えていますか?
ありがとう!
context-free-grammar - 初心者のための良いBNF文法チュートリアル/紹介?
BNF文法の概要(およびそれらを実際に使用する方法)のヒントは何ですか?
多くの例で簡潔な何かが素晴らしいでしょう。グーグルしてきましたが、これまでのところ、例が不明確な非常に長いアークルしか見つかりませんでした:/
(私の特定のケースでは、GalaxyToolconfig構文を解析しようとしています。これにはif/elseステートメントなどが含まれます)
objective-c - Parsekitを使用して解析ツリーを構築する
XCodeにParsekitを使用していますが、この問題はほとんどのパーサージェネレーターに当てはまる可能性があります。gammerを使用してスクリプトを解析すると、正常に機能します。ただし、次のステップで問題が発生しています。grmmerについて考えてみましょう。
@start = line +; line=ツリー;
tree='tree'果物の枝;
フルーツ='with''フルーツ'番号; branchs='with''branchs'番号;
そして渡すスクリプト:
実のある木8枝のある木12
次に、一致するメソッドを実装すると、果物と枝が1回一致しますが、これは予想されることです。
ただし、ツリーは2回一致しますが、なぜですか?これにより、必要な解析ツリーを構築できなくなります。
助けてくれてありがとう!
javascript - Closure Compiler で使用できる JavaScript パーサー ジェネレーター
私は Javascript 用のパーサー ジェネレーターを調べていて、いくつか (つまり、PEG.js) を見つけました。
ただし、これらが Google Closure Compiler のようなものとどの程度うまく機能するかは明らかではありません。
たとえば、PEG.js のように見えますが、ルールの一部として実行するコードを与えることができますが、関数 (コンパイラによって名前が変更される可能性がある) をルールにバインドするにはどうすればよいでしょうか?
さらに、どのパーサーがシンボル テーブルの受け渡しをサポートしているかは不明です。たとえば、「A or B」のような式を受け入れる文法を定義したいとします。「A」と「B」の値は実行時に定義されます。たとえば、ユーザーが表示しているレコードの属性として定義されます。
もちろん、PEG.js は必須ではありません。検索結果に表示され、使用可能に見える唯一のパーサー ジェネレーターです。