comparison Idea @ 25:b7a94557bf92

*** empty log message ***
author kono
date Wed, 05 Feb 2003 02:34:28 +0900
parents 1df0bf7eb5da
children 85b8648de04f
comparison
equal deleted inserted replaced
24:1df0bf7eb5da 25:b7a94557bf92
1232 やっぱり、途中で局所変数を増やしたいよね。 1232 やっぱり、途中で局所変数を増やしたいよね。
1233 1233
1234 Fri Jan 31 20:30:36 JST 2003 1234 Fri Jan 31 20:30:36 JST 2003
1235 1235
1236 なんか #ifdef / #if がないとだめだな。実装する? 1236 なんか #ifdef / #if がないとだめだな。実装する?
1237 しました。
1237 1238
1238 Tue Feb 4 01:04:12 JST 2003 1239 Tue Feb 4 01:04:12 JST 2003
1239 1240
1240 ## while ((*chptr++ = c = getc(filep->fcb)) != '\n') { 1241 ## while ((*chptr++ = c = getc(filep->fcb)) != '\n') {
1241 _1120: 1242 _1120:
1266 1267
1267 ようやっと直したよ... 1268 ようやっと直したよ...
1268 1269
1269 use_pointer って、なにもしなくていいんだよね? eax,ebx を避ける 1270 use_pointer って、なにもしなくていいんだよね? eax,ebx を避ける
1270 ってことらしいけど。 1271 ってことらしいけど。
1272
1273 inline/引数付き #define 欲しくない? 置き換えは、local name stack に積んじゃう。
1274 展開は function で行う。
1275
1276 getch を工夫する必要はあるが。置き換えスタックが必要。
1277
1278
1279 Wed Feb 5 01:16:00 JST 2003
1280
1281 大域で定義された struct field が大域変数と重なっていると落ちる。
1282 そりゃそうだけど。どうするの? (直した記憶があるんだけどなぁ...)
1283 struct 毎に field 名とoffset/type の組を持てばい良いんだよね。
1284
1285 なんだけど、タグ無しの構造体もあるから、型名の方に付ける必要
1286 もある。というのは、型名のない構造体もあるから。タグ名には、
1287 一応、リストがついている。なんかに使う必要があったんでしょう
1288 ね。あ、めんどう。無条件にやっても大域変数名を汚すのを直すの
1289 が難しい。
1290
1291 ちょっと、あれだけど、「型名.フィールド名」で登録してしまうのはどう?
1292 型名が後で出て来るところが気まずいが...
1293
1294 def で登録するときに、nptrにdispを代入せずに、struct field list
1295 (大域変数) に入れて、type の方に、field list (list3(nptr,offset,
1296 type)) を入れれば良い。
1297
1298 あとは、strop の方でtypeのlistを見るようにすれば良いわけだ。
1299
1300 これなら、簡単に直せるはず。LUSTR/GUSTRなどの区別もなくなるし。
1301
1302 Wed Feb 5 02:10:14 JST 2003
1303
1304 浮動小数点ねぇ。完全なANSI Cにするのは大変。でも、
1305 浮動小数点ぐらいないと。
1306
1307 code generation part を、さらに分割して、
1308 複数のコード対応にしやすいようにする。
1309 おそらく、それほど共有する部分はないけどね。
1310
1311 Sample C code をコンパイルして、その結果から(半分手動で)
1312 Micro CbC code generation part を生成する方法を用意する。
1313
1314
1315
1316