Commit History

Autor SHA1 Mensaxe Data
  Taddeus Kroes a574d8ace5 IntVal now takes a 32-bit int as argument (not 31 or 63), and integer bound check is moved to lexer %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 9dd038fd0f Cleanup %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 885fa4bc95 Changed the way errors are represented + context analysis now prints multiple errors before exiting %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes ef86a30481 Rewrote default traversal function such that a traversal now has a secondary result %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes b530c36dde Generated variable names now have leading underscores instead of dollar signs %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 625095f367 Documented all global modules (phases still need to be done) %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes c36e74fbae Removed Globals import from other files as well %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes d9384dc253 Removed ArrayScalar node %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 3403c4a3fc Formatted all source code to 2 spaces as tab, and some more prettifications %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 7c9b5cf1af Added interface files for all modules, moved command-line arguments to globals.ml, made types.ml an .mli file %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes d57caab46f Error printer now handles tabs in input file correctly %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 7462e88b3d Added warning and constant propagation check for division by zero %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes f979c1faf4 Changed the way array types are represented, and cleaned up a lot of code in the process %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes dd6930eb07 Code cleanup %!s(int64=12) %!d(string=hai) anos
  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... %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 7762f6851a Disabled fancy error messages for stdin for now %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 5ef0f0dfa9 Reduced verbose level for fancy errors to 1 %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes fc5a38d30a Re-wrote main file: added a centralized list of phases and generalized logging format + added -upto option %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 73c9cb3c80 NodeError no longer fails with empty location %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 93fade30ba Assembly optimizations are now only executed when -noopt is not specified %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 30406fed9e Added a rudimentary peephole optimizer %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 4225c53427 Finished first version of assembly phase %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 21fc065c8f Changed constant node types, added VarDecs|LocalFuns wrappers, implemented first steps of assembler %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 45ccce6001 Renamed ast.ml to types.ml %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 838389b893 Changed the way nodes are annotated to something more moldable, in the process changing/bugfixing pretty much everything %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 669f2c21f3 Added a rudimentary form of constant propagation for reducing for-loop complexity, improved flatten_blocks %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes bd304ed3a4 Implemented external variables using getters and setters, some general changes & fixes in other phases for compliance %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 662cca4a28 Moved args to ast.ml to avoid circular dependency %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 180700fd3e Moved command-line arguments to global record %!s(int64=12) %!d(string=hai) anos
  Taddeus Kroes 1cdc10625d Implemented array dimension reduction, generalized Array type, more bugfixes in other phases %!s(int64=12) %!d(string=hai) anos