- 865 名前:デフォルトの名無しさん mailto:sage [2005/09/18(日) 03:19:52 ]
- ちっと前Cっぽいの実装したけど全部のブロックにIDつけると楽だったよ。
[0]void f[1](int a)[2]{ for(;;)[3]{...}; while(1)[4]{...}} int main[5](int argc, char** argv)[6]{ ... } わかりづらいけどこんな感じね([n]がID)。 で、記号表を同名登録可能にして、登録のときは名前=>ID,情報として、 検索のときはHITした集合から可視スコープのIDで絞り込む。 可視スコープはスタックで管理してね(上の例ではwhileの中なら[4,2,1,0]、 whileから出たら[2,1,0])。 あと、まっとうな言語なら記号表は1個でいいと思うよ。 Cは構造体とかが別ネームスペースだから複数あったほうが実装しやすいけど。
|

|