問題タブ [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.
peg - 解析が正しい場合、TatSu でセマンティック エラーを処理する方法は?
C に似た式を含む言語用の TatSu パーサーを作成しようとしています。式には次の文法規則があります。
atom
ルールに困っていました。以下を解析する場合 ( はとexpression
の間の部分):=
;
私はこの例外を得ました:
ルールがうまく一致するはずなのに、helper_call
ルールに適合させようとして失敗していました。原因は、のセマンティック アクションによって発生したvar_or_param
エラーであることが判明しました。それを修正すると、解析は期待どおりに機能しました。FailedSemantics
var_or_param
これは疑問を投げかけます:FailedSemantics
解析ロジックに影響を与える場合、セマンティック エラーがある場合にユーザーに警告する適切な方法は何ですか?ただし、解析ロジックはそれ以外の場合は正しく、別の選択やルールを試みる必要はありません。たとえば、型の不一致や宣言前の変数の使用法は? (理想的には、エラーが発生した行番号を引き続き表示する方法で。)