『コンパイラ・スクリプトエンジン』 相談室 2
■ このスレッドは過去ログ倉庫に格納されています
0785デフォルトの名無しさん
NGNG「どちらとも言えない」トークンが出てきた場合はどうすればいいのでしょうか?
例えば C の * は
1 * 2 のような乗算演算子なのか
*ptr -= 4 のようなデリファレンス演算子なのか
単純に字句解析だけしていくとわからないのです。
いくつか考えたのですが。
1.構文解析や意味解析から字句解析を呼び出すようにして、それらの処理内容を字句解析に使用する
2.TOKEN_ASTERISK のように中途半端な状態にして構文解析の段階で適切な物にする
3.とりあえず OP_MULTIPLY みたいにどっちかにしておいて、後で不適切だった場合に OP_DEREFERENCE など適切な物に置き換える
もしくは上記以外のもっと賢い方法があるのでしょうか?
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています