From 39694cbee45b8b6ada00effec9752c02d008d95f Mon Sep 17 00:00:00 2001 From: bdemsky Date: Thu, 11 May 2006 07:27:30 +0000 Subject: [PATCH] Checking in readme file --- Robust/src/README | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Robust/src/README diff --git a/Robust/src/README b/Robust/src/README new file mode 100644 index 00000000..02285be2 --- /dev/null +++ b/Robust/src/README @@ -0,0 +1,50 @@ +I. Compiling a simple test program + +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 + +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=/root/rep/Robust/src/Runtime/; make;make install to build + +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 -- 2.34.1