問題タブ [cup]

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

java - cup_v10k AST がブール値を認識しない

私は単純な教育用の Java に似た言語のコンパイラを作成しています。パーサーを生成するために cup_v10k.jar を使用しています。抽象構文ツリーを生成するために、AST CUP 拡張機能を使用しています。

私のparser.cupファイルには、他の終端記号とともに、

非終端記号もありますConstant

の生産はConstant次のようになります。

CUP は、次のように parser_astbuild.cup ファイルにプロダクションを生成します。

との生成されたクラスは問題ないようINT_VALUECHAR_VALUE見えますが、問題はクラスにあります。CUP は何らかの形でそれが組み込み型であるとBOOL_VALUE認識せず、生成されたクラスは次のようになります。BooleanSyntaxNode

Booleanは ではなく、および 他のメソッドSyntaxNodeを持たないため、これはコンパイルされません。setParentSyntaxNode

私の質問は、何か間違ったことをしているのですか、それとも AST CUP 拡張機能のバグですか?

0 投票する
0 に答える
68 参照

parsing - CUP での小さな Shift/Reduce 競合

私の CUP パーサー プロジェクトで競合を解決する方法を見つけようとしているときに、小さな問題が発生しています。エラーが発生している理由を理解しています.VariableDeclStarの最初のターミナルはIDである可能性があり、競合を引き起こすタイプでもありますが、タイプと変数を別々の状態として保持する方法で競合を解決する方法がわかりません. ヘルプやヒントをいただければ幸いです。

https://i.gyazo.com/0ac3fbf4ebc2d3968f1c2a78c292bc0d.png