パーサー用に次のルールをコンパイルするときに問題が発生しています。
%%
式:
| expr ASN expr { Asn ($1, $2) }
これは、私の AST で定義されているように、整数、代入 (等号)、および式を取る代入ルールです。
type expr = int の Asn * expr
もちろん、" expr ASN expr" を定義しているため、コンパイラは不平を言っています。最初の引数は式ではなく整数でなければなりません。ただし、これを指定する構文がわかりませんでした。
誰かが私を正しい方向に導くことができれば、本当に感謝しています.
ありがとう!