返り値の型とキャスト

今まで手抜きで関数の返値の型を全部Int32Tyにしてたのを
ちゃんと型宣言を見てつけるようにした。


そのテストにあたってchar, longなどの値を生成する必要がでたので、
キャスト演算子"@"を実装した。


でも Expr '@' TypeExpr ていう文法にしようとしたら
reduce/reduceコンフリクトがでまくったので
しょうがなくLPar Expr RPar '@' TypeExprにしたら

(2)@char

とかいう字面になって「う〜ん」という感じ。
もうちょっといい字面ないかなあ。
castto TypeExpr(Expr)とか?
スキャナでがんばってC++みたいにする?


ただ単に演算子順位変えれば解決するかな?


……演算子順位独立させれば問題なかった。
かけ算の下、カッコの上にした。