Checking in readme file
authorbdemsky <bdemsky>
Thu, 11 May 2006 07:27:30 +0000 (07:27 +0000)
committerbdemsky <bdemsky>
Thu, 11 May 2006 07:27:30 +0000 (07:27 +0000)
Robust/src/README [new file with mode: 0644]

diff --git a/Robust/src/README b/Robust/src/README
new file mode 100644 (file)
index 0000000..02285be
--- /dev/null
@@ -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