blob: 8b1d89a90dcd4f591954be5185eac4c2add4f581 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
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
Runtime system:
--------------
runtime.j -- jasmin source of the runtime class
Generated files:
---------------
Imper.gfcm -- canonical multilingual GF grammar for C and JVM
ImperC.cf -- LBNF grammar for C generated from Imper.gfcm
TestImperC -- executable parser generated from ImperC.cf
runtime.class -- runtime binary generated from runtime.j
gft.tmp -- parse result generated by the compiler front end
jvm.tmp -- pseudo-JVM produced by GF linearization
TestImperC -- external parser generated by BNFC
TestImperC.hs -- the external parser Main module
ParImperC.hs -- the external parser parser module
LexImperC.hs -- the external parser lexer module
Required programs to use the compiler:
-------------------------------------
gf+ -- Grammatical Framework version 2.1beta, >= 23/9/2004
jasmin -- JVM assembler (to compile Foo.j to Foo.class)
Required programs to build the compiler:
---------------------------------------
bnfc -- BNF Converter version 2.2beta, >= 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
|