Taddeus Kroes
|
885fa4bc95
Changed the way errors are represented + context analysis now prints multiple errors before exiting
|
пре 12 година |
Taddeus Kroes
|
ef86a30481
Rewrote default traversal function such that a traversal now has a secondary result
|
пре 12 година |
Taddeus Kroes
|
a1fb541ec0
Indent fix
|
пре 12 година |
Taddeus Kroes
|
a7f64c44ce
Removed useless parentheses
|
пре 12 година |
Taddeus Kroes
|
d46894a67c
Made array type errors more readable
|
пре 12 година |
Taddeus Kroes
|
880b03d7a9
Moved preprocess tests to separate directory, tweaked some test configuration vars
|
пре 12 година |
Taddeus Kroes
|
7b56ec4f65
Imported array pointers may not be used directly, added an error message for this
|
пре 12 година |
Taddeus Kroes
|
351b1419e0
Documented Typecheck phase
|
пре 12 година |
Taddeus Kroes
|
625095f367
Documented all global modules (phases still need to be done)
|
пре 12 година |
Taddeus Kroes
|
d2ac2ab8ea
Removed 'open Globals' and used 'Globals.args' instead
|
пре 12 година |
Taddeus Kroes
|
3403c4a3fc
Formatted all source code to 2 spaces as tab, and some more prettifications
|
пре 12 година |
Taddeus Kroes
|
7c9b5cf1af
Added interface files for all modules, moved command-line arguments to globals.ml, made types.ml an .mli file
|
пре 12 година |
Taddeus Kroes
|
f496ce57f6
Made some better error messages for array assignments
|
пре 12 година |
Taddeus Kroes
|
4f4ff50e16
Now using Int32 for integer bounds checking
|
пре 12 година |
Taddeus Kroes
|
1ba7a9c726
Integer bound check now uses Nativeint module so that it works on all platforms
|
пре 12 година |
Taddeus Kroes
|
7462e88b3d
Added warning and constant propagation check for division by zero
|
пре 12 година |
Taddeus Kroes
|
5355a47d07
Added range check vor integer constants
|
пре 12 година |
Taddeus Kroes
|
f979c1faf4
Changed the way array types are represented, and cleaned up a lot of code in the process
|
пре 12 година |
Taddeus Kroes
|
dd6930eb07
Code cleanup
|
пре 12 година |
Taddeus Kroes
|
efa5140ebf
bool_op now traverses properly and typecasts are pruned when not int->float or float->int
|
пре 12 година |
Taddeus Kroes
|
fc5a38d30a
Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option
|
пре 12 година |
Taddeus Kroes
|
4225c53427
Finished first version of assembly phase
|
пре 12 година |
Taddeus Kroes
|
90c7e2b83d
Worked on assembly generation, added -noopt argument, tweaked verbority level
|
пре 12 година |
Taddeus Kroes
|
21fc065c8f
Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler
|
пре 12 година |
Taddeus Kroes
|
45ccce6001
Renamed ast.ml to types.ml
|
пре 12 година |
Taddeus Kroes
|
838389b893
Changed the way nodes are annotated to something more moldable, in the process changing/bugfixing pretty much everything
|
пре 12 година |
Taddeus Kroes
|
153ac60c5d
Fixed buf that caused fundec calls and conditional expressions not to be typechecked correctly
|
пре 12 година |
Taddeus Kroes
|
bd304ed3a4
Implemented external variables using getters and setters, some general changes & fixes in other phases for compliance
|
пре 12 година |
Taddeus Kroes
|
e326a5b132
Disabled type pruning because of usefulness in other phases
|
пре 12 година |
Taddeus Kroes
|
180700fd3e
Moved command-line arguments to global record
|
пре 12 година |