問題タブ [tatsu]
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.
parsing - Tatsu で Generator CodeGen を使用する
文法からモデル コードとパーサーを生成しましたが、モデルを Python で生成されたコードに変更できません。私の EBNF 文法は、XML または ANSI X12 の変換ファイルの「C」構文のようなスクリプト コードです。これは言語固有のものであり、このスクリプトから Tatsu を使用して Python コードを生成したいと考えています。スクリプトを解析しましたが、パーサーまたはモデルを使用して生成された Python ソース コードを使用することができません...モデルを保存するか、パーサーを生成された Python コードに変更する必要がある場所... tools.py が表示されます...コピーできますか新しいコードモデルを構築するためのコード... 助けてくれませんか... Pythonの学習を開始し、スクリプトのアップロードとPythonコードのダウンロードを使用して、このソリューションをWebサイトに実装する必要があります。
bnf - 式の優先順位を実装する方法 Bakus-Naur Form
ドキュメントで説明されているこの種の文法があります。
文字列を解析しようとしたときに次の結果が得られるように、文法を正しく記述する方法:
文字列の場合、True'######'
の結果が得られ(['#', '#', '#', '#', '#'], '#')
ます (最初のルールが機能します) 。
文字列の場合'#####%'
、結果(['#', '#', '#', '#'], '#')
は False になるはずです(['#', '#', '#', '#'], '#%')
(最初に機能しましたが、2 番目のルールである必要がありました)。
文字列の場合、True'000000'
という結果が得られ(['0', '0', '0', '0', '0'], '0')
ます (3 番目のルールが機能します) 。
文字列の場合、False'###000'
という結果が得られます(最初に機能しましたが、5 番目のルールである必要がありました)。(['#', '#'], '#')
ドキュメントに記載されているルールはばかげていますか、それとも何か間違っていますか?