
|
84782 packages online
|
|
 |
|
dev/c/vmwcc-mos.lha |
|
No screenshot available
|
|
vmwcc version 0.1.5
a c-subset compiler by Vince Weaver <vince@deater.net>
originally based off of code by Martin Burtscher (@cornell.edu)
Current Status:
Output: 32 bit PPC assembly
Optimizations: _OFF_
Known Bugs: Few
Unknown bugs: Many
Eventual Goal:
Output: PPC, Alpha, RiSC, more?
Optimizations: Strength Reduction, Common sub-expression elimination
Dead code removal
The C-Subset
~~~~~~~~~~~~
feature working will it ever
if/else yes
while yes
for loops yes
structs yes
arrays yes
integer math yes
long type yes
int type yes
non-void funcs yes
link to libc partially
sizeof partially
floating-point no unlikely
ternary (?:) no unlikely
typedef no unlikely
bitwise ops no maybe
pointers no maybe
pre/post inc/dec no maybe
+=,-=,*=,etc no maybe
in-line assembly no maybe
chars no hopefully
c pre-processor no hopefully a subset
goto no unlikely
switch()/case no unlikely
self-hosting no when pigs fly
Non-standard functions supported:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WriteLine(); -- write a blank line
WriteLong(x); -- write out a long (x) to stdout
ReadLong(x); -- read a long into x
Technology:
~~~~~~~~~~~
Uses a parser created directly from EBNF.
Uses SSA (Static Single Assignment) as an intermediate language.
Background:
~~~~~~~~~~~
This began as my ECE495 project. Unfortunately it wasn't done at
the end of the semester. I've worked on it since then and it has
made progress.
Running:
~~~~~~~~
The options are designed to be as compatible as possible with gcc.
Please note. Optimizations are not debugged yet, so use -O2 at your
own risk. Also, while many tests are made before release
(see the ./samples directory) there are undoubtedly many
bugs lurking. So please be patient and always use gcc
if you absolutely need your code working perfectly.
Usage:
./vmwcc [-Ox] [-S] [-W] [-c] [-dom] [-h] [-m arch] [-o filename]
[-ssa] [-v] filename.c
-Ox : Use optimization level x (0 means none)
-S : Output assembly language file only
-W : Enable warnings
-c : Output object file only
-dom : Output dominator tree in .dot format
-g : Ignored. For compatibility with gcc only
-h : Help. This help message
-m arch : Output target. Defaults to ppc-linux for now
-o filename : Output object or executable to this filename
-pg : Ignored. For compatibility with gcc only
-ssa : Output internal SSA information to file
-v : Output version information
Compatability:
~~~~~~~~~~~~~~
To make programs compile in both gcc and vmwcc add the following
lines to the top of the file:
#include <stdio.h>
#define WriteLine() printf("n");
#define WriteLong(x) printf(" %ld", x);
#define ReadLong(a) if (fscanf(stdin, "%ld", &a) != 1) a = 0;
vmwcc will ignore them but gcc will do the right thing.
Why:
~~~~
Why create such an obviously broken compiler when gcc works fine?
Because it is fun. Also I am seeing if I can have the compiler
optimize for size, rather than speed.
And also, gcc is a mess if you ever look at the code. vmwcc is too
but there's a lot less of it to sort through.
~~~
Vince Weaver, vince@deater.net http://www.deater.net/weave/
16 June 2004
|
Contents of dev/c/vmwcc-mos.lha
PERMSSN UID GID PACKED SIZE RATIO CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[generic] 192 300 64.0% -lh5- 1304 Jul 18 2004 vmwcc-0.1.7/BUGS
[generic] 2228 4985 44.7% -lh5- 6cb2 Jul 18 2004 vmwcc-0.1.7/Changelog
[generic] 341 550 62.0% -lh5- f8c2 Jun 12 2004 vmwcc-0.1.7/OPTIMIZATIONS_TODO
[generic] 1760 3886 45.3% -lh5- 37ef Jul 17 2004 vmwcc-0.1.7/README
[generic] 1272 7413 17.2% -lh5- 6b1d Dec 9 2003 vmwcc-0.1.7/sources/alpha_backend.c
[generic] 112 156 71.8% -lh5- 61e7 Jan 31 2004 vmwcc-0.1.7/sources/backends.h
[generic] 897 3007 29.8% -lh5- 7a96 Jun 17 2004 vmwcc-0.1.7/sources/block.c
[generic] 295 561 52.6% -lh5- d56b Jun 17 2004 vmwcc-0.1.7/sources/block.h
[generic] 301 638 47.2% -lh5- 470f Jan 24 2004 vmwcc-0.1.7/sources/copy_propogate.c
[generic] 25 25 100.0% -lh0- 9296 Dec 9 2003 vmwcc-0.1.7/sources/copy_propogate.h
[generic] 1657 6261 26.5% -lh5- 9d2d Jan 24 2004 vmwcc-0.1.7/sources/cse.c
[generic] 119 160 74.4% -lh5- 9f72 Dec 9 2003 vmwcc-0.1.7/sources/cse.h
[generic] 2873 14369 20.0% -lh5- c37f Jul 17 2004 vmwcc-0.1.7/sources/debug.c
[generic] 115 159 72.3% -lh5- b92a Dec 14 2003 vmwcc-0.1.7/sources/debug.h
[generic] 163 867 18.8% -lh5- 31f6 Jul 18 2004 vmwcc-0.1.7/sources/doc/operator_precedence
[generic] 1009 2340 43.1% -lh5- 6f60 Jun 13 2004 vmwcc-0.1.7/sources/doc/ppc_notes
[generic] 749 1888 39.7% -lh5- cf96 Jul 17 2004 vmwcc-0.1.7/sources/enums.h
[generic] 351 810 43.3% -lh5- cedb Jul 17 2004 vmwcc-0.1.7/sources/globals.h
[generic] 7754 37906 20.5% -lh5- 2033 Jul 18 2004 vmwcc-0.1.7/sources/ir_generator.c
[generic] 359 953 37.7% -lh5- 3e73 Jun 17 2004 vmwcc-0.1.7/sources/ir_generator.h
[generic] 457 1500 30.5% -lh5- 438c Jun 13 2004 vmwcc-0.1.7/sources/Makefile
[generic] 1789 5773 31.0% -lh5- 6ac2 Jun 13 2004 vmwcc-0.1.7/sources/node.c
[generic] 632 1514 41.7% -lh5- efa2 Jul 17 2004 vmwcc-0.1.7/sources/node.h
[generic] 1973 5363 36.8% -lh5- 88ae Nov 19 2003 vmwcc-0.1.7/sources/old/alpha.h
[generic] 7350 31690 23.2% -lh5- 6abf Dec 3 2003 vmwcc-0.1.7/sources/old/alpha_coff.c
[generic] 375 1140 32.9% -lh5- 3b6d Jun 13 2004 vmwcc-0.1.7/sources/old/alpha_debug.c
[generic] 1022 3453 29.6% -lh5- 2490 Dec 1 2003 vmwcc-0.1.7/sources/old/loader.c
[generic] 9506 39595 24.0% -lh5- df44 Jul 18 2004 vmwcc-0.1.7/sources/parser.c
[generic] 39 39 100.0% -lh0- f4c2 Dec 9 2003 vmwcc-0.1.7/sources/parser.h
[generic] 3395 12586 27.0% -lh5- 3bb4 Jun 13 2004 vmwcc-0.1.7/sources/phi_functions.c
[generic] 123 192 64.1% -lh5- 7322 Dec 9 2003 vmwcc-0.1.7/sources/phi_functions.h
[generic] 8412 41821 20.1% -lh5- c7d6 Jul 18 2004 vmwcc-0.1.7/sources/ppc_backend.c
[generic] 6522 27315 23.9% -lh5- 75d8 Jul 17 2004 vmwcc-0.1.7/sources/register_allocate.c
[generic] 41 41 100.0% -lh0- 33c7 Dec 9 2003 vmwcc-0.1.7/sources/register_allocate.h
[generic] 3081 13236 23.3% -lh5- e8c6 Jun 17 2004 vmwcc-0.1.7/sources/scanner.c
[generic] 81 112 72.3% -lh5- 77f9 Jun 14 2004 vmwcc-0.1.7/sources/scanner.h
[generic] 1079 4988 21.6% -lh5- 381b Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm1.c
[generic] 740 1646 45.0% -lh5- 5b97 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm2.c
[generic] 484 1174 41.2% -lh5- 3f38 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm3.c
[generic] 718 1800 39.9% -lh5- 7690 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm4.c
[generic] 1096 6789 16.1% -lh5- 6f65 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm5.c
[generic] 1575 6422 24.5% -lh5- c509 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm6.c
[generic] 723 1660 43.6% -lh5- 6503 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm7.c
[generic] 2048 8546 24.0% -lh5- d924 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/495_bench/bm8.c
[generic] 7 7 100.0% -lh0- 03d5 Feb 5 2004 vmwcc-0.1.7/sources/test_suite/495_bench/in1.txt
[generic] 3 3 100.0% -lh0- a8c4 Feb 5 2004 vmwcc-0.1.7/sources/test_suite/495_bench/in2.txt
[generic] 46 72 63.9% -lh5- 4183 Feb 5 2004 vmwcc-0.1.7/sources/test_suite/495_bench/in4.txt
[generic] 3 3 100.0% -lh0- c8c5 Feb 5 2004 vmwcc-0.1.7/sources/test_suite/495_bench/in8.txt
[generic] 127 1297 9.8% -lh5- be5a Feb 5 2004 vmwcc-0.1.7/sources/test_suite/495_bench/in9.txt
[generic] 286 1046 27.3% -lh5- 38c5 Jun 14 2004 vmwcc-0.1.7/sources/test_suite/495_bench/Makefile
[generic] 358 1783 20.1% -lh5- 4e92 Jun 13 2004 vmwcc-0.1.7/sources/test_suite/495_bench/MAKE_TEST
[generic] 138 191 72.3% -lh5- 2df4 Jun 14 2004 vmwcc-0.1.7/sources/test_suite/495_bench/README
[generic] 197 374 52.7% -lh5- 4919 Jan 8 2004 vmwcc-0.1.7/sources/test_suite/array.c
[generic] 494 1499 33.0% -lh5- a432 Jun 5 2004 vmwcc-0.1.7/sources/test_suite/arr_str.c
[generic] 2 2 100.0% -lh0- 5797 Jun 5 2004 vmwcc-0.1.7/sources/test_suite/arr_str.test1
[generic] 2 2 100.0% -lh0- 0794 Jun 5 2004 vmwcc-0.1.7/sources/test_suite/arr_str.test2
[generic] 199 374 53.2% -lh5- 1e41 Jun 12 2004 vmwcc-0.1.7/sources/test_suite/big_global.c
[generic] 249 587 42.4% -lh5- 0f3b Jul 17 2004 vmwcc-0.1.7/sources/test_suite/char_array.c
[generic] 337 643 52.4% -lh5- e614 Jun 12 2004 vmwcc-0.1.7/sources/test_suite/class_sample.c
[generic] 4 4 100.0% -lh0- 81b9 Jun 12 2004 vmwcc-0.1.7/sources/test_suite/class_sample.test1
[generic] 433 927 46.7% -lh5- 3b57 Jun 6 2004 vmwcc-0.1.7/sources/test_suite/collatz.c
[generic] 357 818 43.6% -lh5- 905f Jun 6 2004 vmwcc-0.1.7/sources/test_suite/complex.c
[generic] 377 752 50.1% -lh5- 633f Jun 13 2004 vmwcc-0.1.7/sources/test_suite/complex_array.c
[generic] 369 1042 35.4% -lh5- 173f Jun 12 2004 vmwcc-0.1.7/sources/test_suite/crazy_fp.c
[generic] 169 289 58.5% -lh5- f45d Jun 13 2004 vmwcc-0.1.7/sources/test_suite/dumb_math.c
[generic] 831 2779 29.9% -lh5- 4108 Jun 5 2004 vmwcc-0.1.7/sources/test_suite/exam.c
[generic] 4 4 100.0% -lh0- 4dba Jun 5 2004 vmwcc-0.1.7/sources/test_suite/exam.test1
[generic] 4 4 100.0% -lh0- 21ba Jun 5 2004 vmwcc-0.1.7/sources/test_suite/exam.test2
[generic] 518 1762 29.4% -lh5- c007 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/expr.c
[generic] 223 542 41.1% -lh5- e409 Jun 11 2004 vmwcc-0.1.7/sources/test_suite/fancy_read.c
[generic] 8 8 100.0% -lh0- 4a4d Jun 11 2004 vmwcc-0.1.7/sources/test_suite/fancy_read.test1
[generic] 186 319 58.3% -lh5- 8e47 Jun 16 2004 vmwcc-0.1.7/sources/test_suite/for.c
[generic] 262 571 45.9% -lh5- 3b88 Jun 16 2004 vmwcc-0.1.7/sources/test_suite/function_test.c
[generic] 349 772 45.2% -lh5- e07d Jun 6 2004 vmwcc-0.1.7/sources/test_suite/gcd.c
[generic] 236 483 48.9% -lh5- 882a Jun 6 2004 vmwcc-0.1.7/sources/test_suite/globals.c
[generic] 2 2 100.0% -lh0- c796 Jun 6 2004 vmwcc-0.1.7/sources/test_suite/globals.test1
[generic] 5 5 100.0% -lh0- 9324 Jun 6 2004 vmwcc-0.1.7/sources/test_suite/globals.test2
[generic] 388 989 39.2% -lh5- 0cc2 Nov 17 2003 vmwcc-0.1.7/sources/test_suite/global_var.c
[generic] 5 5 100.0% -lh0- f236 Jan 26 2004 vmwcc-0.1.7/sources/test_suite/global_var.test1
[generic] 2 2 100.0% -lh0- 5797 Jan 26 2004 vmwcc-0.1.7/sources/test_suite/global_var.test2
[generic] 501 1795 27.9% -lh5- c8ea Jun 10 2004 vmwcc-0.1.7/sources/test_suite/heapsort.c
[generic] 1522 6759 22.5% -lh5- 25f6 Feb 4 2004 vmwcc-0.1.7/sources/test_suite/hello_world.c
[generic] 756 2130 35.5% -lh5- d56d Jan 26 2004 vmwcc-0.1.7/sources/test_suite/if.c
[generic] 5 5 100.0% -lh0- c237 Jan 26 2004 vmwcc-0.1.7/sources/test_suite/if.test1
[generic] 2 2 100.0% -lh0- 3796 Jan 26 2004 vmwcc-0.1.7/sources/test_suite/if.test2
[generic] 907 3595 25.2% -lh5- 6ea6 Dec 16 2003 vmwcc-0.1.7/sources/test_suite/ifwhile.c
[generic] 6 6 100.0% -lh0- 6d26 Dec 17 2003 vmwcc-0.1.7/sources/test_suite/ifwhile.test1
[generic] 15 15 100.0% -lh0- 9e20 Dec 17 2003 vmwcc-0.1.7/sources/test_suite/ifwhile.test2
[generic] 206 416 49.5% -lh5- 2c32 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/if_nested.c
[generic] 207 386 53.6% -lh5- b66d Dec 15 2003 vmwcc-0.1.7/sources/test_suite/if_then.c
[generic] 174 308 56.5% -lh5- 0325 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/input.c
[generic] 26 26 100.0% -lh0- 7f49 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/input.test1
[generic] 702 2038 34.4% -lh5- 0dff Jun 5 2004 vmwcc-0.1.7/sources/test_suite/letter.c
[generic] 1274 6077 21.0% -lh5- 55b2 Jul 18 2004 vmwcc-0.1.7/sources/test_suite/Makefile
[generic] 1722 11022 15.6% -lh5- 723b Jul 18 2004 vmwcc-0.1.7/sources/test_suite/MAKE_TEST
[generic] 417 1191 35.0% -lh5- 90f4 Jun 12 2004 vmwcc-0.1.7/sources/test_suite/mem.c
[generic] 910 2926 31.1% -lh5- 989e Jan 26 2004 vmwcc-0.1.7/sources/test_suite/min_max.c
[generic] 418 1373 30.4% -lh5- d2c4 Jan 28 2004 vmwcc-0.1.7/sources/test_suite/mmm.c
[generic] 200 376 53.2% -lh5- b60f Jan 8 2004 vmwcc-0.1.7/sources/test_suite/mod.c
[generic] 704 2012 35.0% -lh5- 0c7e Jun 6 2004 vmwcc-0.1.7/sources/test_suite/nested.c
[generic] 117 161 72.7% -lh5- afc9 Jul 17 2004 vmwcc-0.1.7/sources/test_suite/notyet/assign.c
[generic] 2369 9687 24.5% -lh5- d9ce Feb 5 2004 vmwcc-0.1.7/sources/test_suite/notyet/bm0.c
[generic] 2010 7764 25.9% -lh5- 406f Jun 13 2004 vmwcc-0.1.7/sources/test_suite/notyet/bm9.c
[generic] 77 89 86.5% -lh5- 7faa Jun 16 2004 vmwcc-0.1.7/sources/test_suite/notyet/bob.c
[generic] 154 268 57.5% -lh5- 38b1 Jul 17 2004 vmwcc-0.1.7/sources/test_suite/notyet/bool_expr.c
[generic] 153 220 69.5% -lh5- 4e5f Jul 17 2004 vmwcc-0.1.7/sources/test_suite/notyet/gaol.c
[generic] 128 181 70.7% -lh5- 3672 Jul 18 2004 vmwcc-0.1.7/sources/test_suite/notyet/goal.c
[generic] 110 147 74.8% -lh5- cdb8 Jun 15 2004 vmwcc-0.1.7/sources/test_suite/notyet/Makefile
[generic] 173 379 45.6% -lh5- 684a Jul 17 2004 vmwcc-0.1.7/sources/test_suite/notyet/pre_post.c
[generic] 258 402 64.2% -lh5- 688c Jun 14 2004 vmwcc-0.1.7/sources/test_suite/notyet/README
[generic] 189 469 40.3% -lh5- ff74 Jul 17 2004 vmwcc-0.1.7/sources/test_suite/notyet/sizeof.c
[generic] 266 529 50.3% -lh5- d6e4 Jun 11 2004 vmwcc-0.1.7/sources/test_suite/param.c
[generic] 1179 2452 48.1% -lh5- ca58 Jan 26 2004 vmwcc-0.1.7/sources/test_suite/prime.c
[generic] 161 278 57.9% -lh5- c9dc Jan 28 2004 vmwcc-0.1.7/sources/test_suite/proc.c
[generic] 1969 8350 23.6% -lh5- 47ed Jun 8 2004 vmwcc-0.1.7/sources/test_suite/qsort.c
[generic] 179 314 57.0% -lh5- f7c2 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/reg.c
[generic] 8 8 100.0% -lh0- cbc1 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/reg.test1
[generic] 11 11 100.0% -lh0- b6af Dec 15 2003 vmwcc-0.1.7/sources/test_suite/reg.test2
[generic] 208 462 45.0% -lh5- 105b Jun 12 2004 vmwcc-0.1.7/sources/test_suite/scope.c
[generic] 156 284 54.9% -lh5- 4953 Jun 17 2004 vmwcc-0.1.7/sources/test_suite/shift.c
[generic] 281 715 39.3% -lh5- 31bd Jun 13 2004 vmwcc-0.1.7/sources/test_suite/spill.c
[generic] 231 441 52.4% -lh5- b10e Jan 29 2004 vmwcc-0.1.7/sources/test_suite/squares.c
[generic] 132 176 75.0% -lh5- eec0 Jul 18 2004 vmwcc-0.1.7/sources/test_suite/string.c
[generic] 376 808 46.5% -lh5- 59df Jun 12 2004 vmwcc-0.1.7/sources/test_suite/struct.c
[generic] 203 409 49.6% -lh5- b46a Jun 13 2004 vmwcc-0.1.7/sources/test_suite/times_table.c
[generic] 190 402 47.3% -lh5- 3016 Jun 17 2004 vmwcc-0.1.7/sources/test_suite/unary.c
[generic] 616 1998 30.8% -lh5- 7864 Jun 13 2004 vmwcc-0.1.7/sources/test_suite/while.c
[generic] 195 345 56.5% -lh5- 4aaf Dec 3 2003 vmwcc-0.1.7/sources/test_suite/while_nest.c
[generic] 189 337 56.1% -lh5- 7710 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/write.c
[generic] 3 3 100.0% -lh0- 5e07 Dec 15 2003 vmwcc-0.1.7/sources/test_suite/write.test1
[generic] 4 4 100.0% -lh0- f43c Dec 15 2003 vmwcc-0.1.7/sources/test_suite/write.test2
[generic] 206 423 48.7% -lh5- d1b5 Dec 9 2003 vmwcc-0.1.7/sources/type.h
[generic] 1954 5524 35.4% -lh5- 4e92 Jul 18 2004 vmwcc-0.1.7/sources/vmwcc.c
[generic] 394 592 66.6% -lh5- 7621 Jul 17 2004 vmwcc-0.1.7/TODO
[generic] 103894 309208 33.6% -lh5- d23e Nov 24 18:04 vmwcc-0.1.7/vmwcc
[generic] 1867 4129 45.2% -lh5- 3b1f Nov 24 21:12 vmwcc-0.1.7/vmwcc-mos.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
Total 136 files 214297 726018 29.5% Nov 25 00:39
|
|
|
 |
Page generated in 0.02 seconds |
Aminet © 1992-2024 Urban
Müller and the Aminet team.
Aminet contact address: <aminet aminet net> |