問題タブ [gold-parser]

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 投票する
3 に答える
3053 参照

parsing - Gold Parsing System - プログラミングで何に使用できますか?

GOLD のホームページ ( http://www.devincook.com/goldparser/ ) のドキュメント、FAQ、およびウィキペディアを読んで、GOLD の実用的なアプリケーションについて調べました。SAP の ABAP や Axapta の X++ などのシステムでプログラミング言語を (簡単に) 利用できるようにすることを考えていましたが、GOLD を使用したとしても、少なくとも簡単には実現できません。

GOLD によって生成された解析結果の最終的な使用法は、私を逃れます - 解析結果をどうしますか?

編集: 実用的な例 (説明) は素晴らしいでしょう。

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

gold-parser - BNF 文法 + Gold LALR パーサー、特殊なケースの NewLine と Whitespace を区別できない

  • 空白と改行を通常の空白と見なしたい。
  • 改行を他の空白と区別し、特殊なケースを許可したい。

準拠した文法を書く最初の試みは失敗します。

文法は次のとおりです。

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

gold-parser - GOLD 解析、実際にコードをどのように実装しますか?

スケルトンを生成した後にコードを実装する方法がよくわかりません。私は const のみを使用しませんでした。メイン ファイルがあり、c# と共にいくつかの c(++) バージョンを試しましたが、まだ理解できません。それらのいずれもファイルをロードしてテストファイルを解析できるとは思いません(ゴールドビルダーがテストファイルを解析できることは知っています)。

Kessels C のスケルトンが完成しました。しかし、構造体とメンバー (Token->Reduction->TokenStack) を使用していますが、TokenStack を検索すると、定義されている場所が見つからず、使用されているだけです。私は何かが欠けているように感じます。Kessels の他のコードはどこにも見つかりません。

私の質問は、私の体をどのように実装するのですか? (あなたが好む別のスケルトンはありますか)、私が見落とした他のダウンロードはありますか?これらのダウンロードを調べてみましたが、どうすればよいかわかりませんでした。また、テンプレートよりもソースコードの例のように見えましたhttp://www.devincook.com/goldparser/engine/c/index.htm

PS: 私は C# の実装を行ってもかまいません。私は c(++) の方が優れています。

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

bnf - Gold パーサーのバグ? LALR

これが私の bnf グラマーの一部です。

これは非常識に思えますが、2 番目は 1 番目とまったく同じであるべきではありませんか? 読むときは2番目のbcを好みます。何でも意味する一般的なrvalとは対照的に、bool値を期待していることがわかります。

Gold Parser 3.4.4 を使用しています

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

parsing - このGOLDパーサー文法を改善できますか?

次のようなファイルを解析する必要があります。

パーサーを最初から作成していますが、追跡できないバグがいくつかあり、将来フォーマットが変更された場合に保守が困難になると思います。代わりに、GOLD解析システムを使用してパーサーを生成することにしました。私の文法は次のようになります。

エラーはなく、2000行のテストファイルを問題なく解析します。ただし、カスタム文法を書くのは初めてなので、正しく書いているかどうかはわかりません。

上記の文法に改善を加えることができますか?

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

parsing - HL7 (HL7.org) メッセージ形式は、LALR(1) 互換性のある BNF として表現できますか?

これを新しいメッセージとして再投稿しました (もともと私は HL7 の BNF 文法を求めていました)。HL7 のすべてを BNF として表現することは可能かもしれませんが、BNF を LALR(1) 準拠 (完全に決定論的) にする必要があります。Devon Cooks Gold Parser はツールセットです。

自分で BNF を作成する前に聞いてみようと思いました...

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

parsing - Gold Parser と Klimstra エンジンを使用するテンプレート クラス

GOLDパーサーの「スケルトンプログラムの作成」からKlimstraのVB.NETテンプレートを使用していますが、結果のテンプレートにはoverridesキーワードを持つメソッドがあり、TemplateParser..

TemplateParser クラスを作成する必要がありますか、それとも作成するためのツールはありますか? 「スケルトンの作成」関数は、継承して「MustOverride」メソッドに実装を提供することになっているテンプレートを作成したと思っていましたが、今はわかりません。

ツールを使用して作成する必要があるように見えるチュートリアルに従っていますが、よくわかりません。チュートリアルが非常に古く (2005 年のもの)、GOLD パーサーがこのメカニズムを変更したかどうかはわかりません。これは私がフォローしているチュートリアルです: http://www.codeproject.com/KB/recipes/IntrotoGoldParser.aspx

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

parsing - VBScript 部分パーサー

VBScript パーサーを作成しようとしています。どうするのが一番いいのか考えてみました。調べて調べました。最も一般的な方法は、Gold Parser や ANTLR などを使用するようです。

実装したい機能は、VBScript で構文エラーを動的にチェックすることです。テキストが変更されるたびに VBS 全体をコンパイルしたくありません。どうすればそれを行うことができますか?Gold Parser を使用しようとしましたが、部分的な解析ツリーのようなもので、それを介して解析を行うインクリメンタルな方法はないと思います...そのようなシナリオで部分的な解析ツリーを実装する方法に関するアイデアはありますか?

GOLD パーサーを介して VBscript の解析を実装しました。ただし、これはまだ部分的なパーサーではなく、テキストが変更されるたびにスクリプト全体を解析します。そのようなものを構築する方法はありますか。

ありがとう

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

c++ - どのパーサーがポーカー ログ ファイルを解析できますか?最も簡単で最適なのはどれですか? (Spirit の代替が必要です。Gold Parser、ANTLR または ...)

pokerhandhistory ファイル、ログ ファイルを解析する必要があります。

内容は次のようなものです。

プレーヤー名は $100 を賭けます

必要なのは、名前、アクション (トークンとして)、および金額だけです。

問題は、名前にアクションとスペースを含めることもできることです。

例: theplayer bets bet $100

GoldParser と ANTLR で動作させようとしました。取れない...

Boost::spirit では問題なく動作します。唯一の悪い点は、ポーカー文法全体のコンパイル時間が素晴らしく、20 分かかることです。

コンパイル時間に関しては、ANTLR (C-Api) と GoldParser の方が少し優れていることがわかりました。

誰かが Goldparser で情報を取得する方法についてのヒントを投稿できればうれしいです。

どうもありがとうございました!!!!

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

grammar - GOLD パーサー: ANSI-C 文法が実際に ANSI-C を解析していませんか?

GOLD パーサー Web サイトで提供されている ANSI-C 文法をテストしようとしています。最小の C ファイルを完全に解析することすらできないようです。

例:

タイプとして int を検出し、次に Id として test_inc1 を検出し、正しく括弧を付けますが、2 番目の ) の後には ; が必要です。{の代わりに。そのため、構文エラーがスローされます。私はこの文法のファンキーさにはまったく慣れていません。コードをASTに解析したいだけです:(