- updated .gitignore

- renamed source files to camelCase

- doubled the buffer sizes of updaterevision to prevent GIT_BRANCH from being cut short and added GIT_BRANCH.

- reserved 'constexpr' as a keyword because I know I will need it someday

- added using statement for specifying the target zandronum version. will be used later

- reformatting... again

- fixed: array assignment operators pushed the bytecode parameters the wrong way around...

- now uses a variadic template formatter instead of a macro

- changed the PROPERTY macro to a simper version and brought some refactoring with it

- removed goto, it's evil

- extended refactor to EToken (now TokenType)

- added named enumerations to botc source, this should help with debugging

- refactored enums, macros split from Main.h to Macros.h

- implemented arrays, don't quite work 100% yet

- improved error handling a tad

- highly reworked variable support, variable declarations now are declared with 'var', uses are prefixed with '$', merged constant handling into variables

- minor changes: don't allow any token for labels, run ParseStatement from the next token

- removed tkAny as the default value of Lexer::MustGetNext to prevent problems like the one last commit fixed

- whoopsie, cannot allow garbage variable names there

- variables: merged const and mutable variables into one system, added constexpr variable support. still no locals

- removed some no longer needed debug stuff

- changed the syntax of funcdef to something sane

- loop structures now work again

- worked away some limitations

- ternary operator now works properly

- fixed verification with unary operators

- expression evaluation implemented! Expressions are now complete for the most part aside from some unary operator quirks in verification.

- Expression verification done

- now compiles again, further work on expressions (proper parsing + assignment operator handling (albeit unrelated) + operator adjusting)

- committed work so far done on expressions

- don't clear marks after merging them in...

- blargh. buffers weren't initialized properly

- reformatting

- further reformat

- merged object writer into parser

- use the Skulltag 97c2 license which is slightly differently worded

- removed simple_exception, that was stupid

- removed .hgignore

- added the public-domain updaterevision so I can have access to git stuff

- further lexer corrections

- forgot to rename these header guards when i ported the lexer from an earlier project of mine

- parser now processes commands.def properly

- added .gitignore

- various corrections

- removed bots.h

- renamed files to .cxx, restructured parser.cc

more rework

- *hot stuff coming through*

- major refactoring begins

- moved sources to src/, migrated to cmake

test

So it turns out that the functions I thought were taking float are actually taking int. So, with the only reason for float removed, the float type is removed as well. I'd rather have fixed point anyway.

Added constants, these are defined with const, take their value immediately and are replaced out with their value when used. The strlen operator can be used to get a string constant's length.

Some rework on variables

Good bunch of changes

Don't try to read expressions as statements. That yields nothing useful and inevidently bombs out anyway.

Fixed: parser allowed command calls with one too few arguments

- Fixed error display - peeking was pushing recorded `cursor` position out of sync

renamed to undefined labels, not unmarked labels...

goto is now allowed to reference labels that will get defined afterwards.

(0) -100 -60 tip

mercurial