AminetAminet
Search:
84476 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/c/vmwcc-mos.lha

Mirror:Random
Showing:m68k-amigaosppc-amigaosppc-morphosi386-arosi386-amithlonppc-warpupppc-powerupgeneric
No screenshot available
Short:c-subset compiler
Author:Vince Weaver <vince at deater.net>, Morphos port by Fabrizio "Lanch" Bartoloni
Uploader:lanch tiscali it (Fabrizio Bartoloni)
Type:dev/c
Version:0.1.5
Architecture:ppc-morphos
Date:2005-11-25
Download:http://aminet.net/dev/c/vmwcc-mos.lha - View contents
Readme:http://aminet.net/dev/c/vmwcc-mos.readme
Downloads:858

vmwcc version 0.1.5

  a c-subset compiler by Vince Weaver <vince at deater.net>
            originally based off of code by Martin Burtscher ( at 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 at 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

Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>