summaryrefslogtreecommitdiff
path: root/examples/gfcc/compiler/FILES
diff options
context:
space:
mode:
authoraarne <unknown>2004-09-23 14:41:42 +0000
committeraarne <unknown>2004-09-23 14:41:42 +0000
commit2c60a2d82a0d7b90924e7dbbcacf36afb8549d17 (patch)
tree0a04734e741c294cb9f58cfdcafa2ff2b55894dd /examples/gfcc/compiler/FILES
parentd5b4230d6dbee8c03eedf8d181dfa2badf1a954b (diff)
Ints n
Diffstat (limited to 'examples/gfcc/compiler/FILES')
-rw-r--r--examples/gfcc/compiler/FILES39
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/gfcc/compiler/FILES b/examples/gfcc/compiler/FILES
new file mode 100644
index 000000000..306a8d133
--- /dev/null
+++ b/examples/gfcc/compiler/FILES
@@ -0,0 +1,39 @@
+GF sources:
+----------
+Imper.gf -- abstract syntax of an imperative language
+ImperC.gf -- concrete syntax for C notation
+ImperJVM.gf -- concrete syntax for JVM notation
+ResImper.gf -- resource module for concrete syntaxes
+
+Scripts:
+-------
+gfcc -- the main compiler executable reading Foo.c ; shell script
+typecheck.gfs -- the type checker and constraint solver ; GF editor script
+CleanJVM.hs -- cleans up jvm.tmp to produce Foo.j ; Haskell module
+makefile -- builds the compiler from GF source ; Unix Make file
+
+Generated files:
+---------------
+Imper.gfcm -- canonical multilingual GF grammar for C and JVM
+ImperC.cf -- LBNF grammar for C generated from Imper.gfcm
+gft.tmp -- parse result generated by the compiler front end
+jvm.tmp -- pseudo-JVM produced by GF linearization
+
+Required programs to use the compiler:
+-------------------------------------
+gf+ -- Grammatical Framework version 2.0+, >= 23/9/2004
+jasmin -- JVM assembler (to compile Foo.j to Foo.class)
+
+Required programs to build the compiler:
+---------------------------------------
+bnfc -- BNF Converter version 2.1+, >= 23/9/2004
+happy -- parser generator for Haskell, >= 1.13
+alex -- lexer generator for Haskell, >= 2.0
+Profile.hs -- BNFC source file (formats/profile), must be on your path
+Trees.hs -- BNFC source file (formats/profile), must be on your path
+
+File formats:
+------------
+Foo.c -- C source file
+Foo.j -- generated Jasmin JVM assembler file
+Foo.class -- assembled JVM bytecode file