Mercurial > hg > CbC > old > device
diff Idea @ 25:b7a94557bf92
*** empty log message ***
author | kono |
---|---|
date | Wed, 05 Feb 2003 02:34:28 +0900 |
parents | 1df0bf7eb5da |
children | 85b8648de04f |
line wrap: on
line diff
--- a/Idea Tue Feb 04 14:39:01 2003 +0900 +++ b/Idea Wed Feb 05 02:34:28 2003 +0900 @@ -1234,6 +1234,7 @@ Fri Jan 31 20:30:36 JST 2003 なんか #ifdef / #if がないとだめだな。実装する? +しました。 Tue Feb 4 01:04:12 JST 2003 @@ -1268,3 +1269,48 @@ use_pointer って、なにもしなくていいんだよね? eax,ebx を避ける ってことらしいけど。 + +inline/引数付き #define 欲しくない? 置き換えは、local name stack に積んじゃう。 +展開は function で行う。 + +getch を工夫する必要はあるが。置き換えスタックが必要。 + + +Wed Feb 5 01:16:00 JST 2003 + +大域で定義された struct field が大域変数と重なっていると落ちる。 +そりゃそうだけど。どうするの? (直した記憶があるんだけどなぁ...) +struct 毎に field 名とoffset/type の組を持てばい良いんだよね。 + +なんだけど、タグ無しの構造体もあるから、型名の方に付ける必要 +もある。というのは、型名のない構造体もあるから。タグ名には、 +一応、リストがついている。なんかに使う必要があったんでしょう +ね。あ、めんどう。無条件にやっても大域変数名を汚すのを直すの +が難しい。 + +ちょっと、あれだけど、「型名.フィールド名」で登録してしまうのはどう? +型名が後で出て来るところが気まずいが... + +def で登録するときに、nptrにdispを代入せずに、struct field list +(大域変数) に入れて、type の方に、field list (list3(nptr,offset, +type)) を入れれば良い。 + +あとは、strop の方でtypeのlistを見るようにすれば良いわけだ。 + +これなら、簡単に直せるはず。LUSTR/GUSTRなどの区別もなくなるし。 + +Wed Feb 5 02:10:14 JST 2003 + +浮動小数点ねぇ。完全なANSI Cにするのは大変。でも、 +浮動小数点ぐらいないと。 + +code generation part を、さらに分割して、 +複数のコード対応にしやすいようにする。 +おそらく、それほど共有する部分はないけどね。 + +Sample C code をコンパイルして、その結果から(半分手動で) +Micro CbC code generation part を生成する方法を用意する。 + + + +