問題タブ [lepl]

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

python - Lepl を使用したパーサー

たとえば、次のようなテキストファイルを解析したい:

reStructuredText に似ています。
すべてのタグは で終わり、::いくつかの属性を持つことができますattr:value。このような Python 辞書を取得したい:

subの後にはインデントされたタグがあり、タグの後に何かが続く場合::は に入り'content'ます。

Lepl を使用しますが、どこから始めればよいかわかりません。何か提案はありますか?

ありがとう、
ルービック

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

python - 繰り返される文字の解析

私は解析が初めてです(明らかに)。マークアップ言語を解析するためにLEPLライブラリを使用しています。

このコードには問題があります (わかりやすくするために詳細は省略しています)。

最後の行は ['a','b','aa','b','aaa','b'] を与えるはずです

エラーはありませんが、ハングします (無限再帰かも?)。誰かが私を正しい方向に向けることができますか?

編集

私はこのようにこれを行うことができます

ただし、aはグループ化されません。

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

python - LeplのToken()オブジェクト

ですから、私はPythonパーサーであるLeplチュートリアルToken(Real())を進めていますが、との違いが正確に何であるかを完全に理解することはできませんReal()。関数に関するドキュメントを見つけましたが、かなり役に立ちません。

では、Token()クラスは正確に何をするのでしょうか?通常のLeplクラスと異なるのはなぜですか?

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

python - LEPL を使用してブール検索クエリを解析する

ブール検索言語を記述するためにLEPL文法を書こうとしています。これは私がこれまでに持っているものです:

最後parseはこれを生成します:

これを生成する必要があります:

これを修正して、必要な解析を取得するにはどうすればよいですか? tuple「何でも AND 何でも」が になり、「何でも OR 何でも」 が になると言うことができれば、それは修正されると思いますlist

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

python - Python Leplを使用してドメイン固有言語のサブセットを解析するにはどうすればよいですか?

私はLeplをパーサーとして使用していますが、解析している言語は非常に複雑で、小さなサブセットしか気にしません。Leplに、気になる文法を解析させて、他のすべての文字列を返す方法がわかりません。次のようなルールを追加すると、次のようになります。

そうすれば、気になるものの代わりに使われるようになります。他のルールよりもマッチが長いので起こっていると思います。不完全なパーサーを使用できるように、Leplに構成設定などがありますか?

要求に応じて更新 し、詳細を追加します。数値に等しい最上位の変数定義のみを解析したい。他人に依存しているものや、無視したい数式です。また、ブロック定義内にあるものを無視したい言語には無視したい他の多くの構造があります。だからここに例があります:

variable Word() = Real()したがって、私はブロック定義の外部で定義されたファイル内の情報のみを本当に気にします。ASTを作成して変数値を変更してから、制御ファイルを再度書き出すことができるように、残りを文字列として保持したいと思います。

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

python - AppEngine LEPL parser.py SyntaxError

開発環境では、うまく機能します。しかし、AppEngine にデプロイした後、壊れます。プロジェクトに必要なファイルを含めます。

LEPL 5.1.3 が使用されています。

破損:

appengine によって表示されるこのエラー メッセージに非常に混乱しています。parser.py の 182 行を見てみると、問題ないように見えます。本当に美しいもの。

...

...