Matt Wette
953a57b663
nyacc: fixed bug in pretty-print-c99 wrt i-sel
2017-02-28 09:53:41 -08:00
Matt Wette
f7ab751dcd
nyacc: merge from 0.76.4
2017-02-25 07:36:57 -08:00
Matt Wette
72b0dbe2bd
nyacc: new release 0.76.4
2017-02-23 17:31:24 -08:00
Matt Wette
14d6407bc9
nyacc: new release 0.76.3
2017-02-23 05:38:49 -08:00
Matt Wette
e00dc59ac0
nyacc: more bugs in cpp tokl->string
2017-02-23 05:37:25 -08:00
Matt Wette
7bb78f15b8
nyacc: new release 0.76.2
2017-02-22 17:14:07 -08:00
Matt Wette
8580e706f8
nyacc: fixed more CPP issues
2017-02-22 17:12:32 -08:00
Matt Wette
f7fb6ac395
nyacc: new release 0.76.1
2017-02-22 08:26:40 -08:00
Matt Wette
2c6a6dc47d
nyacc: fixed C99 CPP to deal with numbers correctly
2017-02-22 08:23:27 -08:00
Matt Wette
62154122b3
nyacc: merge master 0.76.0
2017-02-20 13:45:45 -08:00
Matt Wette
34c0f46c62
nyacc: new release 0.76.0
2017-02-19 08:28:25 -08:00
Matt Wette
a301ce53df
nyacc: worked c99/util2.scm udecl->mspec
2017-02-19 08:26:30 -08:00
Matt Wette
047590bd5e
nyacc: new release 0.75.6
2017-02-18 17:11:12 -08:00
Matt Wette
bed639f680
nyacc: fixed some c99/util2 items
2017-02-18 17:06:50 -08:00
Matt Wette
5bf49dfb54
nyacc: merged in 0.75.5 from master and inc version
2017-02-17 10:21:52 -08:00
Matt Wette
9559240282
nyacc: new release 0.75.5
2017-02-17 08:30:20 -08:00
Matt Wette
883a93ce60
nyacc: new release 0.74.4
2017-02-16 16:14:42 -08:00
Matt Wette
f831edafe9
nyacc: minor cpp fixes
2017-02-16 16:12:40 -08:00
Matt Wette
5b34d2b2e7
nyacc: merge from 0.75.3
2017-02-16 11:03:11 -08:00
Matt Wette
16bf996c93
nyacc: new release 0.75.3
2017-02-16 06:26:10 -08:00
Matt Wette
2d35221753
nyacc: new release 0.75.2
2017-02-16 06:24:56 -08:00
Matt Wette
49a7200b72
nyacc: new release 0.75.1
2017-02-16 06:12:32 -08:00
Matt Wette
2b57b3dc6e
nyacc: new release 0.74.0
2017-02-15 20:49:07 -08:00
Matt Wette
1ae749b25f
nyacc: I think cpp is working now
2017-02-15 19:58:29 -08:00
Matt Wette
5baa7f33b1
nyacc: working cpp now, I hope
2017-02-14 19:24:59 -08:00
Matt Wette
8a821d03d6
nyacc: CPP not yet working for file mode
2017-02-12 14:29:18 -08:00
Matt Wette
ea7f0b3a01
nyacc: working on cpp issues
2017-02-11 13:04:38 -08:00
Matt Wette
d03ea06c84
nyacc: C99 CPP for code is better
2017-02-05 07:52:44 -08:00
Matt Wette
e534225328
nyacc: starting to work on reframing
2017-01-20 14:51:55 -08:00
Matt Wette
85cb3731cc
nyacc: more CPP fixes
2017-01-18 17:26:41 -08:00
Matt Wette
50fc6f6966
nyacc: redesign lang/c99/cppbocy.scm:scan-cpp-input
2017-01-17 05:50:45 -08:00
Jan Nieuwenhuizen
f738d4381d
mescc: Support goto in while body.
...
* module/language/c99/compiler.mes (ast->info): Support goto in while
body.
* doc/examples/t.c (test): Test it.
2017-03-10 07:01:51 +01:00
Jan Nieuwenhuizen
f612feec47
core+mini-mes: Move function name to struct function.
...
* module/language/c99/compiler.mes (expr->arg): Handle char arguments.
* doc/examples/cons-mes.c (struct function): Add name field.
* doc/examples/mini-mes.c: Likewise.
(mes_builtins): Update.
* mes.c: Likewise.
* build-aux/mes-snarf.scm: Update.
2017-03-09 23:27:12 +01:00
Jan Nieuwenhuizen
e9560e95a5
mescc: Support strings in struct initialization.
...
* module/mes/elf-util.mes (add-s:-prefix, drop-s:-prefix): New functions.
* module/mes/elf-util.scm: Export them.
* module/language/c99/compiler.mes (string->global): Add `s:' prefix
to global strings. Update users.
(expr->arg): Update.
(expr->accu): Handle string expressions.
(initzer->global): New function.
(struct-field): Handle string field.
* doc/examples/t.c: Test it.
* doc/examples/mini-mes.c: Use it.
dun!
2017-03-09 08:14:27 +01:00
Jan Nieuwenhuizen
64e73dcf29
mescc: Display sexps better.
...
* module/mes/elf.mes (make-elf): Only display data sections smaller
than 200 bytes.
* doc/examples/mini-mes.c (simple_bload_env): Read mini-0-32.mes.
* doc/examples/cons-mes.c (display_): Support symbols and specials.
* doc/examples/tiny-mes.c: Likewise.
* lib.c:
* mes.c:
2017-03-07 22:33:59 +01:00
Jan Nieuwenhuizen
dd52f580fb
mescc: Compile all of mini-mes.
...
* module/language/c99/compiler.mes (case->jump-info): Support single statement.
* module/mes/elf-util.mes (function-prefix): Workaround for reversed
functions. FIXME!
* module/mes/elf.mes:
* scaffold/mini-mes.c (type_t): Rename FUNCTION to TFUNCTION for Nyacc.
Add missing symbols.
(eval_apply): Uncomment most.
* scaffold/tiny-mes.c:
* scaffold/cons-mes.c: Remove cruft.
2017-03-06 07:14:15 +01:00
Jan Nieuwenhuizen
78e70f9024
mescc: Support struct assignment.
...
* module/mes/libc-i386.mes (i386:base-address->accu-address,
i386:accu+n, i386:base+n): New functions.
* module/mes/libc-i386.scm: Export them.
* module/language/c99/compiler.mes (ast->info): Use them.
* doc/examples/t.c: Test them.
* doc/examples/cons-mes.c: Drop workarounds.
* doc/examples/mini-mes.c: Likewise.
* mes.c:
2017-03-02 20:26:13 +01:00
Jan Nieuwenhuizen
08ea0da745
mescc: Fix add, sub, lshift.
...
* module/language/c99/compiler.mes (expr->accu): Fix add, sub, lshift.
* doc/examples/t.c: Test them.
* doc/examples/cons-mes.c:
* doc/examples/mini-mes.c:
2017-03-02 20:19:53 +01:00
Jan Nieuwenhuizen
c9b251616a
mescc: Support any expression as arg.
...
* module/language/c99/compiler.mes (expr->arg): Also push parameter,
always return info.
(ast->info): Loop over args. Fixes using function calls in arguments.
* module/mes/libc-i386.mes (i386:push-arg): Remove.
(i386:call, i386:call-accu): Remove arguments parameter.
* doc/examples/t.c: Test it.
2017-02-27 07:50:33 +01:00
Jan Nieuwenhuizen
394a3925be
mescc: Rename expr->accu*.
...
* module/language/c99/compiler.mes (expr->accu*): Rename from expr->accuX.
2017-03-02 06:41:19 +01:00
Jan Nieuwenhuizen
07c4b02fa3
mescc: Fixes for goto.
...
* module/mes/libc-i386.mes (XXjump): New function.
* module/mes/libc-i386.scm: Export it.
* module/language/c99/compiler.mes (case->jump-info, ast->info): Use it.
* scaffold/t.c: Test it.
* GNUmakefile (cons-mes): New target.
* scaffold/cons-mes.c: New file.
* scaffold/mini-mes.c:
2017-04-02 12:13:04 +02:00
Jan Nieuwenhuizen
184c9f2641
mescc: Mini-mes runs (cons 0 1) dump.
...
* module/mes/libc-i386.mes (i386:Xjump-z, i386:Xjump-c,
i386:Xjump-nc): New functions.
* module/mes/libc-i386.scm: Export them.
* module/language/c99/compiler.mes (case->jump-info, test-jump->info,
ast->info): Use them.
* doc/examples/t.c: Test it.
* doc/examples/mini-mes.c: Run it.
2017-02-24 13:27:39 +01:00
Jan Nieuwenhuizen
70e4aec861
mescc: Run mini-mes.
...
* .gitignore: Ignore tiny-mes and tiny .mo's.
* doc/examples/tiny-mes.c: Simplify.
* doc/examples/mini-mes.c: Use simplifications from tiny-mes.
* doc/examples/t.c (read_test, struct_test): New functions.
(test): Add tests for arena, g_cells globals.
* module/mes/elf-util.mes (dec->hex): New function.
(lambda/label->list): Add text-address parameter. Update callers.
* module/language/c99/compiler.mes (make, info, clone): Add init field.
(.init): New function.
(ident->accu): Add exceptions for globals.
* module/mes/elf-util.scm: Export it.
* module/mes/libc-i386.mes (i386:accu->base-ref,
i386:byte-accu->base-ref, i386:accu->base-ref+n,
i386:accu->global-ref, i386:global-ref->accu, i386:global-ref->base,
i386:global-add, i386:global->accu):, i386:local-ref->accu,
i386:local-ptr->accu, i386:local-ptr->base): New functions.
* module/mes/libc-i386.scm: Export them.
2017-01-29 15:22:39 +01:00
Jan Nieuwenhuizen
452b231645
mescc: bugfix: arg as function call.
...
* module/language/c99/compiler.mes (expr->arg):
2017-01-21 13:17:24 +01:00
Matt Wette
e00d18b59f
nyacc: new release 0.74.3
2017-01-15 08:51:21 -08:00
Matt Wette
50301b8fd7
nyacc: CPP working better now
2017-01-15 08:47:49 -08:00
Matt Wette
7e39956858
nyacc: something working
2017-01-14 15:16:28 -08:00
Matt Wette
532687f6d8
nyacc: still debugginug
2017-01-14 13:30:47 -08:00
Matt Wette
bd3f15af64
nyacc: working # and ## I think, but lots of debug output too
2017-01-11 16:37:58 -08:00
Matt Wette
5652db7984
nyacc: exceptions worked on.. still need to fix #
2017-01-11 08:14:45 -08:00