Mercurial > hg > CbC > old > device
diff Changes @ 78:8418d4b7caa7
*** empty log message ***
author | kono |
---|---|
date | Sun, 02 Mar 2003 23:46:10 +0900 |
parents | fb3fb9e9a462 |
children | 82d0e30f61dd |
line wrap: on
line diff
--- a/Changes Fri Feb 28 20:29:21 2003 +0900 +++ b/Changes Sun Mar 02 23:46:10 2003 +0900 @@ -1768,3 +1768,73 @@ 構文式から生成しないとだめだろうね。 (ってことは、まだ、かなりの作業があるってこと.... むぅ...) tmp2.c は、通らないし... + +Fri Feb 28 20:32:46 JST 2003 + +で、c2cbc は、途中で float の方を先にやるわけ? + +Sat Mar 1 22:05:43 JST 2003 + +creg_destroy は、ぜんぜんだめ。これは基本的なアイデアがだめ。 + +long long はstructでいいんじゃない? だめ? で struct 演算を別に +定義してやる。これは、実装にもよるか。 + +float,long longなんだけど、 + FRGVAR DRGVAR LRGVAR +などを作る。さらに、 + FMUL DMUL LMUL +などもいる。型の変換は binop で解釈する。変換も演算になる。 + D2F, D2I, F2D, F2I, I2D, I2F, U2D, U2F +ぐらいですか? + +emit_pushは、型を必要とするけど? そうだねぇ。emit_fpush, emit_dpush +かな? + +creg にfloat register(or stack) の値を入れればいいんじゃないの? +それを見て、emit_pushの型を決める。creg は、けっこう、いろんあ +ものが見ているので、いじらない方がいいじゃないかなぁ。 +そうね。FMULとかがあるなら、それで判断できそう。 + +構文木には型を含めないってのは不便。型を入れれば? そうすれば、 + RGVAR CRGVAR FRGVAR DRGVAR LRGVAR +ではなく、 + RGVAR +ですむし。その方が変形も楽だしね。型は、 + CHAR,UNSIGNED, UNSIGNED CHAR, INT, FLOAT, DOUBLE, LONGLONG +ぐらいですか。 + +emit_data + +とすると、書き換えが結構あるけど。 + +Sun Mar 2 12:58:38 JST 2003 + +あとはconstantだね。FCONT,DCONSTかな。binopでは +変換とかも必要なわけだけど。 + +そういえば、shot のload/storeもないね。SRGVAR,SASSとかですか? SASS +は、すでにあるなぁ。 + +Sun Mar 2 22:01:58 JST 2003 + +あれ? + conv->_sm(); + (*conv->_sm)(); +の場合は、 + *conv->_sm の値へcallする +んだけど、 + goto exit1(); + goto (*exit1)(); +の場合は、 + exit1 +の値へjumpするんだよね? およ? なんか勘違いしてる? なんでexit1() +だとindirectが出て、(*exit1)だと出ないんだろう? + +この宣言は、 + void (*_sm)(); +であって、 + void _sm(); +はできない? なんで? + +あぁ、まぁ、いろいろ、めんどくさい。