X-Git-Url: http://plrg.eecs.uci.edu/git/?p=IRC.git;a=blobdiff_plain;f=Robust%2Fsrc%2FREADME;h=a51ea9686bd34a5f7fa21c287368a188d0bebb24;hp=38c877fd555c652f0ad177016a55fb029e57eb49;hb=b059650b69831891064d96da7b9c86a0ffaa6c39;hpb=ccfeddfa15db5a3aeed92ff1019d81e2853c3683 diff --git a/Robust/src/README b/Robust/src/README index 38c877fd..a51ea968 100644 --- a/Robust/src/README +++ b/Robust/src/README @@ -1,52 +1,4 @@ -I. Compiling a simple test program +See the wiki page at http://demsky.eecs.uci.edu/compiler/ -1) Go to the Robust directory and type "cvs update" - -2) Go into the src directory and build the compiler by typing: -make clean -make - -3) To run the compiler on a source file (For example to compile -Tests/Array.java): -java -cp ../cup/:. Main.Main -mainclass Array Tests/Array.java -NOTE: The mainclass option specifies the class that contains the main method - -4) To compiler and link the output of the compiler do: -gcc -IRuntime -I. -O0 -g methods.c Runtime/runtime.c - -5) To run the binary type: -./a.out - - - -II. Command line options - -To see all the legal command line options for the compiler type: -java -cp ../cup:. Main.Main -help - - - -III. Using Garbage Collection - -1) Download the Hans Boehm garbage collector - -2) Make a directory called gc in the Runtime directory & untar the gc into this directory - -3) ./configure --prefix={RUNTIME DIRECTORY}; make;make install to build -(Modify the prefix to the appropriate path for the runtime directory. - -4) Make sure the gc libraries are placed in Runtime/lib and the include files in Runtime/include - -5) Change step 4 in the build procedure to: -gcc -IRuntime -I. -IRuntime/include -DBOEHM_GC -LRuntime/lib/ -lgc -O9 -g methods.c Runtime/runtime.c - -IV. High level organization of the compiler: -1. Lexer is in src/Lex -2. Parser is built from the grammar in Parse/java14.cup -3. Internal Representations are in the the IR subdirectory -3a. Tree representation is in IR/Tree (constructed by IR/Tree/BuildTree) -3b. Flattened representation in is IR/Flat (constructed by IR/Flat/BuildFlat) -4. Code is generated from the flattened representation by IR/Flat/BuildCode -5. Main/Main.java is the top level -6. ClassLibrary contains the class library -7. Runtime contains the runtime \ No newline at end of file +To set emacs tabbing add to your .emacs file: +(setq c-basic-offset 2)