- 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.

only print revision in version header if it's non-zero

Added support for continue-statements

Renamed 'block stack' to scope stack for more clarified code..

Fixed: else was alloed even without if strictly preceding it

Added support for else-statements

Added support for the ternary operator.

Added floating point support for the most part. However, decimals are somehow lost during a cast..

Added support for operators &&, ||, &, | and ^

(0) -50 -30 +30 +50 tip

mercurial