version 0.7.4
This commit is contained in:
parent
1c8ddca7e0
commit
439aa2d04d
114 changed files with 13664 additions and 10110 deletions
|
|
@ -1,41 +1,54 @@
|
|||
Short description of Nimrod's modules
|
||||
-------------------------------------
|
||||
|
||||
============== ==========================================================
|
||||
Module Description
|
||||
============== ==========================================================
|
||||
lexbase buffer handling of the lexical analyser
|
||||
scanner lexical analyser
|
||||
|
||||
ast type definitions of the abstract syntax tree (AST) and
|
||||
node constructors
|
||||
astalgo algorithms for containers of AST nodes; converting the
|
||||
AST to YAML; the symbol table
|
||||
passes implement the passes managemer for passes over the AST
|
||||
trees few algorithms for nodes; this module is less important
|
||||
types module for traversing type graphs; also contain several
|
||||
helpers for dealing with types
|
||||
|
||||
sigmatch contains the matching algorithm that is used for proc
|
||||
calls
|
||||
semexprs contains the semantic checking phase for expressions
|
||||
semstmts contains the semantic checking phase for statements
|
||||
semtypes contains the semantic checking phase for types
|
||||
|
||||
idents implements a general mapping from identifiers to an internal
|
||||
representation (``PIdent``) that is used, so that a simple
|
||||
id-comparison suffices to say whether two Nimrod identifiers
|
||||
are equivalent
|
||||
|
||||
ropes implements long strings using represented as trees for
|
||||
lazy evaluation; used mainly by the code generators
|
||||
|
||||
ccgobj contains type definitions neeeded for C code generation
|
||||
and some helpers
|
||||
ccgutils contains helpers for the C code generator
|
||||
ccgtypes the generator for C types
|
||||
ccgstmts the generator for statements
|
||||
ccgexprs the generator for expressions
|
||||
extccomp this module calls the C compiler and linker; interesting
|
||||
if you want to add support for a new C compiler
|
||||
============== ==========================================================
|
||||
Short description of Nimrod's modules
|
||||
-------------------------------------
|
||||
|
||||
============== ==========================================================
|
||||
Module Description
|
||||
============== ==========================================================
|
||||
nimrod main module: parses the command line and calls
|
||||
```main.MainCommand``
|
||||
main implements the top-level command dispatching
|
||||
lexbase buffer handling of the lexical analyser
|
||||
scanner lexical analyser
|
||||
pnimsyn Nimrod's parser
|
||||
rnimsyn Nimrod code renderer (AST back to its textual form)
|
||||
|
||||
paslex lexer for Pascal
|
||||
pasparse parser for Pascal; Pascal's advanced OO features are not
|
||||
supported
|
||||
|
||||
options contains global and local compiler options
|
||||
ast type definitions of the abstract syntax tree (AST) and
|
||||
node constructors
|
||||
astalgo algorithms for containers of AST nodes; converting the
|
||||
AST to YAML; the symbol table
|
||||
passes implement the passes managemer for passes over the AST
|
||||
trees few algorithms for nodes; this module is less important
|
||||
types module for traversing type graphs; also contain several
|
||||
helpers for dealing with types
|
||||
|
||||
sigmatch contains the matching algorithm that is used for proc
|
||||
calls
|
||||
semexprs contains the semantic checking phase for expressions
|
||||
semstmts contains the semantic checking phase for statements
|
||||
semtypes contains the semantic checking phase for types
|
||||
semfold contains code to deal with constant folding
|
||||
evals contains an AST interpreter for compile time evaluation
|
||||
pragmas semantic checking of pragmas
|
||||
|
||||
idents implements a general mapping from identifiers to an internal
|
||||
representation (``PIdent``) that is used, so that a simple
|
||||
id-comparison suffices to say whether two Nimrod identifiers
|
||||
are equivalent
|
||||
ropes implements long strings represented as trees for
|
||||
lazy evaluation; used mainly by the code generators
|
||||
|
||||
transf transformations on the AST that need to be done before
|
||||
code generation
|
||||
cgen main file of the C code generator
|
||||
ccgutils contains helpers for the C code generator
|
||||
ccgtypes the generator for C types
|
||||
ccgstmts the generator for statements
|
||||
ccgexprs the generator for expressions
|
||||
extccomp this module calls the C compiler and linker; interesting
|
||||
if you want to add support for a new C compiler
|
||||
============== ==========================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue