Mercurial > hg > CbC > old > device
changeset 614:e4e007f4026d
fix #deifne /* line
author | kono |
---|---|
date | Tue, 30 May 2006 21:36:03 +0900 |
parents | 3b9e0e59ab97 |
children | 2dee957ef988 |
files | Changes mc-macro.c test/macro.c |
diffstat | 3 files changed, 42 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/Changes Wed Apr 19 14:32:36 2006 +0900 +++ b/Changes Tue May 30 21:36:03 2006 +0900 @@ -8724,8 +8724,34 @@ Object で構成するってこと? Java で書き直してもいいけど。 まぁ、いいろいろイキヅマリガあるよな。 - - - - - +Wed Apr 19 14:37:36 JST 2006 + +list を必ずtag付きにして、型を決め打ちすれば良い。gettree を +任意のベクタにすると良いね。 + 型 expression + int + double + long double + long long + NMTBL + xx extension +3bit x n ぐらいか? + 9 bit tag + 4 bit type tag (singed, long long, float, double, char, short) + 3 bit length + 15 bit (3*5) 型リスト +ぐらい? + + #define GSYMS (8192*32) + #define HEAPSIZE 120000 + #define CHEAPSIZE (sizeof(NMTBL)*8192) + #define LBUFSIZE 4096 + #define STRSIZE 4096 + +ここら辺も初期値をオプションで指定できた方が良い。 + +Mon May 29 02:52:40 JST 2006 + +そうか... sse2 をサポートしないと、やっぱりだめなのね。 +Pen 4 以上では。 +
--- a/mc-macro.c Wed Apr 19 14:32:36 2006 +0900 +++ b/mc-macro.c Tue May 30 21:36:03 2006 +0900 @@ -666,7 +666,12 @@ while(*chptr++); break; } else if (c=='/'&&chptr[0]=='*') { cheap->ptr--; chptr++; - while((c = *chptr++)) { + for(;;) { + c = *chptr++; + if (!c) { + getline(); + continue; + } if (c=='*'&&chptr[0]=='/') { c = *chptr++; break; }
--- a/test/macro.c Wed Apr 19 14:32:36 2006 +0900 +++ b/test/macro.c Tue May 30 21:36:03 2006 +0900 @@ -33,6 +33,10 @@ #define name_hoge(c) (c+a) +#define hoge000(a) (a+a) /* hoge + comment +*/ + int main() { @@ -71,6 +75,7 @@ #endif printf("#0071:%d\n",name(3,hoge)); printf("#0072:%d\n",names(3,hoge)); + printf("#0073:%d\n",hoge000(3)); return 0; }