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 ani în urmă |
Taddeus Kroes
|
b65f17c932
Did some refactoring on main module and tweaked output options
|
11 ani în urmă |
Taddeus Kroes
|
4337398bfa
Removed some unnessecary parentheses from tuples and did some general cleanup
|
11 ani în urmă |
Taddeus Kroes
|
ad3781f9c3
Fixed some compilation warnings
|
11 ani în urmă |
Taddeus Kroes
|
cd575763a0
Extern variables now use the .exportvar/.importvar directives + some general fixes
|
11 ani în urmă |
Taddeus Kroes
|
f074552d42
Array constant initialisations now require a strict nesting level equal to the number of dimensions; simplified some related code
|
12 ani în urmă |
Taddeus Kroes
|
a574d8ace5
IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer
|
12 ani în urmă |
Taddeus Kroes
|
9dd038fd0f
Cleanup
|
12 ani în urmă |
Taddeus Kroes
|
885fa4bc95
Changed the way errors are represented + context analysis now prints multiple errors before exiting
|
12 ani în urmă |
Taddeus Kroes
|
ef86a30481
Rewrote default traversal function such that a traversal now has a secondary result
|
12 ani în urmă |
Taddeus Kroes
|
b530c36dde
Generated variable names now have leading underscores instead of dollar signs
|
12 ani în urmă |
Taddeus Kroes
|
625095f367
Documented all global modules (phases still need to be done)
|
12 ani în urmă |
Taddeus Kroes
|
c36e74fbae
Removed Globals import from other files as well
|
12 ani în urmă |
Taddeus Kroes
|
d9384dc253
Removed ArrayScalar node
|
12 ani în urmă |
Taddeus Kroes
|
3403c4a3fc
Formatted all source code to 2 spaces as tab, and some more prettifications
|
12 ani în urmă |
Taddeus Kroes
|
7c9b5cf1af
Added interface files for all modules, moved command-line arguments to globals.ml, made types.ml an .mli file
|
12 ani în urmă |
Taddeus Kroes
|
d57caab46f
Error printer now handles tabs in input file correctly
|
12 ani în urmă |
Taddeus Kroes
|
7462e88b3d
Added warning and constant propagation check for division by zero
|
12 ani în urmă |
Taddeus Kroes
|
f979c1faf4
Changed the way array types are represented, and cleaned up a lot of code in the process
|
12 ani în urmă |
Taddeus Kroes
|
dd6930eb07
Code cleanup
|
12 ani în urmă |
Taddeus Kroes
|
ae20d87ad4
Re-introduced DimDec node to get array dimension declarations to work properly, and rewrote a bunch of code to make it actually work...
|
12 ani în urmă |
Taddeus Kroes
|
7762f6851a
Disabled fancy error messages for stdin for now
|
12 ani în urmă |
Taddeus Kroes
|
5ef0f0dfa9
Reduced verbose level for fancy errors to 1
|
12 ani în urmă |
Taddeus Kroes
|
fc5a38d30a
Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option
|
12 ani în urmă |
Taddeus Kroes
|
73c9cb3c80
NodeError no longer fails with empty location
|
12 ani în urmă |
Taddeus Kroes
|
93fade30ba
Assembly optimizations are now only executed when -noopt is not specified
|
12 ani în urmă |
Taddeus Kroes
|
30406fed9e
Added a rudimentary peephole optimizer
|
12 ani în urmă |
Taddeus Kroes
|
4225c53427
Finished first version of assembly phase
|
12 ani în urmă |
Taddeus Kroes
|
21fc065c8f
Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler
|
12 ani în urmă |
Taddeus Kroes
|
45ccce6001
Renamed ast.ml to types.ml
|
12 ani în urmă |