問題タブ [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.

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

peg - 解析が正しい場合、TatSu でセマンティック エラーを処理する方法は?

C に似た式を含む言語用の TatSu パーサーを作成しようとしています。式には次の文法規則があります。

atomルールに困っていました。以下を解析する場合 ( はとexpressionの間の部分):=;

私はこの例外を得ました:

ルールがうまく一致するはずなのに、helper_callルールに適合させようとして失敗していました。原因は、のセマンティック アクションによって発生したvar_or_paramエラーであることが判明しました。それを修正すると、解析は期待どおりに機能しました。FailedSemanticsvar_or_param

これは疑問を投げかけます:FailedSemantics解析ロジックに影響を与える場合、セマンティック エラーがある場合にユーザーに警告する適切な方法は何ですか?ただし、解析ロジックはそれ以外の場合は正しく、別の選択やルールを試みる必要はありません。たとえば、型の不一致や宣言前の変数の使用法は? (理想的には、エラーが発生した行番号を引き続き表示する方法で。)