Taddeus Kroes
|
7867875804
Implemented new scoping rules, moved up context analysys, tweaked where extern variables are handled, fixed some bugs (see updated html docs) (needs new test cases!)
|
11 years ago |
Taddeus Kroes
|
cd575763a0
Extern variables now use the .exportvar/.importvar directives + some general fixes
|
11 years ago |
Taddeus Kroes
|
885fa4bc95
Changed the way errors are represented + context analysis now prints multiple errors before exiting
|
12 years ago |
Taddeus Kroes
|
ef86a30481
Rewrote default traversal function such that a traversal now has a secondary result
|
12 years ago |
Taddeus Kroes
|
b530c36dde
Generated variable names now have leading underscores instead of dollar signs
|
12 years ago |
Taddeus Kroes
|
b21183186b
Made function reference into a link in docs
|
12 years ago |
Taddeus Kroes
|
71d3ad5cc7
Correctd some typo's
|
12 years ago |
Taddeus Kroes
|
625095f367
Documented all global modules (phases still need to be done)
|
12 years ago |
Taddeus Kroes
|
7c9b5cf1af
Added interface files for all modules, moved command-line arguments to globals.ml, made types.ml an .mli file
|
12 years ago |
Taddeus Kroes
|
7462e88b3d
Added warning and constant propagation check for division by zero
|
12 years ago |
Taddeus Kroes
|
f979c1faf4
Changed the way array types are represented, and cleaned up a lot of code in the process
|
12 years ago |
Taddeus Kroes
|
dd6930eb07
Code cleanup
|
12 years ago |
Taddeus Kroes
|
fc5a38d30a
Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option
|
12 years ago |
Taddeus Kroes
|
93fade30ba
Assembly optimizations are now only executed when -noopt is not specified
|
12 years ago |
Taddeus Kroes
|
30406fed9e
Added a rudimentary peephole optimizer
|
12 years ago |
Taddeus Kroes
|
4225c53427
Finished first version of assembly phase
|
12 years ago |
Taddeus Kroes
|
21fc065c8f
Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler
|
12 years ago |
Taddeus Kroes
|
45ccce6001
Renamed ast.ml to types.ml
|
12 years ago |
Taddeus Kroes
|
838389b893
Changed the way nodes are annotated to something more moldable, in the process changing/bugfixing pretty much everything
|
12 years ago |
Taddeus Kroes
|
669f2c21f3
Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks
|
12 years ago |
Taddeus Kroes
|
bd304ed3a4
Implemented external variables using getters and setters, some general changes & fixes in other phases for compliance
|
12 years ago |
Taddeus Kroes
|
662cca4a28
Moved args to ast.ml to avoid circular dependency
|
12 years ago |
Taddeus Kroes
|
180700fd3e
Moved command-line arguments to global record
|
12 years ago |
Taddeus Kroes
|
1cdc10625d
Implemented array dimension reduction, generalized Array type, more bugfixes in other phases
|
12 years ago |
Taddeus Kroes
|
74d0ad3cc1
Finished type checking & content analysis
|
12 years ago |
Taddeus Kroes
|
12da98abeb
Implemented array dims expansion correctly (probably), more bugfixes
|
12 years ago |
Taddeus Kroes
|
96ecd75efb
Implemented most of typechecking, some bugfixes in other phases
|
12 years ago |
Taddeus Kroes
|
d74b3bcded
Mostly finished desugaring and context analysis, added some utils, general bugfixes, started on array dimension reduction
|
12 years ago |
Taddeus Kroes
|
0e0dd26f30
Generalized error printing and applied it in context analysis
|
12 years ago |
Taddeus Kroes
|
2126ae7cee
Removed preprocessor from parser, improved some error messages, moved some functions to common files
|
12 years ago |