jayで躓いたその2 %prec が使えない
jayは、yacc for javaの略とのことで、yaccとほぼ同等の記述ができると思って採用したのですが、%prec が使えない様子。%precと書いてもエラーは出ないのですが、コンフリクトであるとの警告が出てしまいます。ただ、%right は使えるようなので、スキャナを工夫することで事なきを得ました。
expr : value | expr '*' expr | expr '/' expr | expr '%' expr | expr '+' expr | expr '-' expr | '(' expr ')' | NOT expr | UMINUS expr | '(' expr_list FUNC ')'
これを本当は以下のように書きたかった訳ですが...
'-' expr %prec UMINUS