03/02/22 14:17
再帰下降構文解析で実験的にコンパイラを作っているのですが、
関数のオーバーロードの実現方法がわかりません。
引数だけのオーバーロードなら、再帰下降の各関数が返す関数呼出しノードがひとつに絞れそうな気もするのですが
返り値もオーバーロード可能にしようとすると、もうどうやっていいものか。
何かいい方法はありませんか?
考えている仕様:
int A();
string A();
void B(int);
があって B(A) としたら上のほうの Aが呼ばれるようにしたい。
もうひとつvoid B(string); があれば曖昧エラーを出す。