問題タブ [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.
java - cup_v10k AST がブール値を認識しない
私は単純な教育用の Java に似た言語のコンパイラを作成しています。パーサーを生成するために cup_v10k.jar を使用しています。抽象構文ツリーを生成するために、AST CUP 拡張機能を使用しています。
私のparser.cupファイルには、他の終端記号とともに、
非終端記号もありますConstant
の生産はConstant
次のようになります。
CUP は、次のように parser_astbuild.cup ファイルにプロダクションを生成します。
との生成されたクラスは問題ないようINT_VALUE
にCHAR_VALUE
見えますが、問題はクラスにあります。CUP は何らかの形でそれが組み込み型であるとBOOL_VALUE
認識せず、生成されたクラスは次のようになります。Boolean
SyntaxNode
Boolean
は ではなく、および 他のメソッドSyntaxNode
を持たないため、これはコンパイルされません。setParent
SyntaxNode
私の質問は、何か間違ったことをしているのですか、それとも AST CUP 拡張機能のバグですか?
parsing - CUP での小さな Shift/Reduce 競合
私の CUP パーサー プロジェクトで競合を解決する方法を見つけようとしているときに、小さな問題が発生しています。エラーが発生している理由を理解しています.VariableDeclStarの最初のターミナルはIDである可能性があり、競合を引き起こすタイプでもありますが、タイプと変数を別々の状態として保持する方法で競合を解決する方法がわかりません. ヘルプやヒントをいただければ幸いです。