* module/language/c99/compiler.mes (expr->accu): Handle assignment -> accu.
* doc/examples/t.c (test): Test it.
* doc/examples/mini-mes.c (eval_apply): Use it.
((cast ,cast ,o)
((expr->accu info) o))
+ ((assn-expr (p-expr (ident ,name)) ,op ,expr)
+ (let ((info ((ast->info info) o)))
+ (clone info #:text (append (.text info)
+ ((ident->accu info) name)))))
+
(_
(format (current-error-port) "SKIP: expr->accu=~s\n" o)
barf
SCM macro;
SCM expanders;
macro_expand:
-#if __GNUC__
- //FIXME
if (TYPE (r1) == TPAIR
- && (macro = lookup_macro (car (r1), r0)) != cell_f) // FIXME GNUC
+ && (macro = lookup_macro (car (r1), r0)) != cell_f)
{
r1 = cons (macro, CDR (r1));
goto apply;
goto apply;
}
}
-#endif
goto vm_return;
begin:
x = cell_unspecified;
g_stdin = STDIN;
r0 = mes_builtins (r0);
#if 1
- //__GNUC__
puts ("symbols: ");
SCM s = g_symbols;
while (s && s != cell_nil) {
puts ("t: if (!(t = 1)) ?\n");
if (!(t = 1)) return 1;
+ puts ("t: if ((f = 0) != 0) ?\n");
+ if ((f = 0) != 0) return 1;
+
+ puts ("t: if ((t = 1) != 1) ?\n");
+ if ((t = 1) != 1) return 1;
+
puts ("t: (one == 1) ?\n");
(one == 1) ? 1 : exit (1);