changelog
- Tue, 04 Feb 2014 14:21:06 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 04 Feb 2014 14:21:06 +0200] rev 96
- - ternary operator now works properly
- Tue, 04 Feb 2014 13:38:22 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 04 Feb 2014 13:38:22 +0200] rev 95
- - fixed verification with unary operators
- Tue, 04 Feb 2014 04:35:49 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 04 Feb 2014 04:35:49 +0200] rev 94
- - expression evaluation implemented! Expressions are now complete for the most part aside from some unary operator quirks in verification.
- Tue, 04 Feb 2014 03:16:14 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 04 Feb 2014 03:16:14 +0200] rev 93
- - Expression verification done
- Tue, 04 Feb 2014 02:28:33 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 04 Feb 2014 02:28:33 +0200] rev 92
- - now compiles again, further work on expressions (proper parsing + assignment operator handling (albeit unrelated) + operator adjusting)
- Mon, 03 Feb 2014 20:12:44 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 03 Feb 2014 20:12:44 +0200] rev 91
- - committed work so far done on expressions
- Mon, 03 Feb 2014 11:23:56 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 03 Feb 2014 11:23:56 +0200] rev 90
- - don't clear marks after merging them in...
- Sun, 02 Feb 2014 18:07:06 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 02 Feb 2014 18:07:06 +0200] rev 89
- - blargh. buffers weren't initialized properly
- Sun, 02 Feb 2014 17:06:39 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 02 Feb 2014 17:06:39 +0200] rev 88
- - reformatting
- Sun, 02 Feb 2014 01:50:23 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 02 Feb 2014 01:50:23 +0200] rev 87
- - further reformat
- Sun, 26 Jan 2014 23:18:48 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 26 Jan 2014 23:18:48 +0200] rev 86
- - merged object writer into parser
- Sun, 19 Jan 2014 20:39:30 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Jan 2014 20:39:30 +0200] rev 85
- - use the Skulltag 97c2 license which is slightly differently worded
- Sun, 19 Jan 2014 20:19:05 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Jan 2014 20:19:05 +0200] rev 84
- - removed simple_exception, that was stupid
- Sun, 19 Jan 2014 20:17:30 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Jan 2014 20:17:30 +0200] rev 83
- - removed .hgignore
- Sun, 19 Jan 2014 20:16:00 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 19 Jan 2014 20:16:00 +0200] rev 82
- - added the public-domain updaterevision so I can have access to git stuff
- lexer #include now works properly! woot!
- merged commands.def and events.def to botc_defs.bts. This is essentially the "zcommon.acs" of botc.
- Sat, 18 Jan 2014 02:11:45 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 18 Jan 2014 02:11:45 +0200] rev 81
- - further lexer corrections
- Fri, 17 Jan 2014 22:57:40 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 17 Jan 2014 22:57:40 +0200] rev 80
- - forgot to rename these header guards when i ported the lexer from an earlier project of mine
- Fri, 17 Jan 2014 22:55:13 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 17 Jan 2014 22:55:13 +0200] rev 79
- - parser now processes commands.def properly
- Fri, 17 Jan 2014 21:42:02 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 17 Jan 2014 21:42:02 +0200] rev 78
- - added .gitignore
- Fri, 17 Jan 2014 21:39:25 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 17 Jan 2014 21:39:25 +0200] rev 77
- - various corrections
- Mon, 13 Jan 2014 23:44:50 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Jan 2014 23:44:50 +0200] rev 76
- - removed bots.h
- Mon, 13 Jan 2014 23:44:15 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Jan 2014 23:44:15 +0200] rev 75
- - renamed files to .cxx, restructured parser.cc
- Mon, 13 Jan 2014 00:15:38 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Jan 2014 00:15:38 +0200] rev 74
- more rework
- Sat, 11 Jan 2014 22:36:31 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 11 Jan 2014 22:36:31 +0200] rev 73
- - *hot stuff coming through*
- Fri, 10 Jan 2014 21:58:42 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 10 Jan 2014 21:58:42 +0200] rev 72
- - major refactoring begins
- Fri, 10 Jan 2014 16:11:49 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 10 Jan 2014 16:11:49 +0200] rev 71
- - moved sources to src/, migrated to cmake
- Wed, 02 Jan 2013 23:57:46 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 02 Jan 2013 23:57:46 +0200] rev 70
- test
- Wed, 19 Dec 2012 22:01:42 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 19 Dec 2012 22:01:42 +0200] rev 69
- 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.
- Wed, 19 Dec 2012 13:44:18 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 19 Dec 2012 13:44:18 +0200] rev 68
- 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.
- Wed, 19 Dec 2012 04:20:02 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 19 Dec 2012 04:20:02 +0200] rev 67
- Some rework on variables
- Wed, 19 Dec 2012 03:27:15 +0200
- by Teemu Piippo <crimsondusk64@gmail.com> [Wed, 19 Dec 2012 03:27:15 +0200] rev 66
- Good bunch of changes
- Sun, 26 Aug 2012 23:54:58 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 26 Aug 2012 23:54:58 +0300] rev 65
- Don't try to read expressions as statements. That yields nothing useful and inevidently bombs out anyway.
- Sun, 26 Aug 2012 23:28:09 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 26 Aug 2012 23:28:09 +0300] rev 64
- Fixed: parser allowed command calls with one too few arguments
- Sun, 26 Aug 2012 23:18:59 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 26 Aug 2012 23:18:59 +0300] rev 63
- - Fixed error display - peeking was pushing recorded `cursor` position out of sync
- Added a rudimentary dynamic array class.. not used yet.
- Sat, 25 Aug 2012 05:22:32 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 05:22:32 +0300] rev 62
- renamed to undefined labels, not unmarked labels...
- Sat, 25 Aug 2012 05:20:16 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 05:20:16 +0300] rev 61
- goto is now allowed to reference labels that will get defined afterwards.
- Sat, 25 Aug 2012 05:05:58 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 05:05:58 +0300] rev 60
- only print revision in version header if it's non-zero
- Sat, 25 Aug 2012 04:19:22 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 04:19:22 +0300] rev 59
- Added support for continue-statements
- Sat, 25 Aug 2012 04:02:37 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 04:02:37 +0300] rev 58
- Renamed 'block stack' to scope stack for more clarified code..
- Sat, 25 Aug 2012 03:53:10 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 03:53:10 +0300] rev 57
- Fixed: else was alloed even without if strictly preceding it
- Sat, 25 Aug 2012 03:40:36 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 03:40:36 +0300] rev 56
- Added support for else-statements
- Sat, 25 Aug 2012 03:04:14 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 25 Aug 2012 03:04:14 +0300] rev 55
- Added support for the ternary operator.
- Tue, 14 Aug 2012 01:54:17 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 14 Aug 2012 01:54:17 +0300] rev 54
- Added floating point support for the most part. However, decimals are somehow lost during a cast..
- Tue, 14 Aug 2012 00:59:39 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 14 Aug 2012 00:59:39 +0300] rev 53
- Added support for operators &&, ||, &, | and ^
- Tue, 14 Aug 2012 00:48:02 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 14 Aug 2012 00:48:02 +0300] rev 52
- Added ! operator support. It's not really an operator since it's just checked at the beginning of the expression value but eh.
- Tue, 14 Aug 2012 00:20:59 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 14 Aug 2012 00:20:59 +0300] rev 51
- Added <<= and >>= operator support. Zandronum does not provide these, thus they are translated to their longer forms by the compiler. Also aded << and >>.
- Mon, 13 Aug 2012 23:10:39 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Aug 2012 23:10:39 +0300] rev 50
- Added default label for switch
- Mon, 13 Aug 2012 19:12:21 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Aug 2012 19:12:21 +0300] rev 49
- rename ObjWriter::RecordBuffer to SwitchBuffer, as it is designed specifically for switch and will break if used genericly
- Mon, 13 Aug 2012 19:04:29 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 13 Aug 2012 19:04:29 +0300] rev 48
- Added switch support... fixed more problems with marks in the process
- Sun, 12 Aug 2012 04:45:27 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 04:45:27 +0300] rev 47
- some cleanup
- Sun, 12 Aug 2012 04:40:33 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 04:40:33 +0300] rev 46
- Expressions now allow multiple operators
- Sun, 12 Aug 2012 04:13:27 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 04:13:27 +0300] rev 45
- Removed mark types as they served absolutely zero purpose
- Sun, 12 Aug 2012 04:10:25 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 04:10:25 +0300] rev 44
- Added do-while loop support
- Sun, 12 Aug 2012 03:23:33 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 03:23:33 +0300] rev 43
- Added for-loop support
- Sun, 12 Aug 2012 01:52:42 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 12 Aug 2012 01:52:42 +0300] rev 42
- FINALLY, marks and references work smoothly without hacks. if and while work properly.
- Sat, 11 Aug 2012 19:35:47 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 11 Aug 2012 19:35:47 +0300] rev 41
- Added while loop support. However, script marks keep getting wrong position numbers..
- Mon, 30 Jul 2012 11:34:57 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 30 Jul 2012 11:34:57 +0300] rev 40
- Committed the other changes done during a failed attempt of else
- Mon, 30 Jul 2012 11:14:02 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 30 Jul 2012 11:14:02 +0300] rev 39
- Fixed mark positioning - multiple if statements should work properly now
- Mon, 30 Jul 2012 03:38:02 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 30 Jul 2012 03:38:02 +0300] rev 38
- Added if() support
- Sun, 29 Jul 2012 16:55:32 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 29 Jul 2012 16:55:32 +0300] rev 37
- Added mark/reference system to be able to refer to positions in the buffered bytecode. Labels and go-to support.
- Sun, 29 Jul 2012 04:02:07 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 29 Jul 2012 04:02:07 +0300] rev 36
- Parser can now read expressions 100% properly and can perform variable assignment. I'd call this a milestone!
- Sat, 28 Jul 2012 17:57:37 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 28 Jul 2012 17:57:37 +0300] rev 35
- Negative literal integers work properly now..
- Sat, 28 Jul 2012 17:41:24 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 28 Jul 2012 17:41:24 +0300] rev 34
- Expression parser mostly up and running!! Still work to do on it though.
- Tue, 17 Jul 2012 20:35:43 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Tue, 17 Jul 2012 20:35:43 +0300] rev 33
- Added a preprocessor with proper #include support. Macro support via #define is planned too. God, was it a B-I-T-C-H to get working right, though..
- Mon, 16 Jul 2012 16:15:16 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 16 Jul 2012 16:15:16 +0300] rev 32
- - The output cmd-line argument is now optional - one is generated from the input file if not given.
- All data is now buffered before being written into the file. This way, no incomplete data is written in case an error occurrs.
- Mon, 16 Jul 2012 04:33:09 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 16 Jul 2012 04:33:09 +0300] rev 31
- Lifted the ';'-after-events rule, though it can still be present. C++ allows it for functions, so this feels like the best solution regarding consistency.. I'm not even sure am I going overboard with this kind of stuff
- Mon, 16 Jul 2012 04:26:27 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 16 Jul 2012 04:26:27 +0300] rev 30
- Negative numbers are now considered numbers too...
- Mon, 16 Jul 2012 04:15:49 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 16 Jul 2012 04:15:49 +0300] rev 29
- Moved CharByte inside DataBuffer since that's where it belongs anyway.
- Mon, 16 Jul 2012 04:07:15 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Mon, 16 Jul 2012 04:07:15 +0300] rev 28
- Added comment support
- Sun, 15 Jul 2012 19:01:47 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 19:01:47 +0300] rev 27
- Rid the qbyte type as I just use long everywhere anyway
- Sun, 15 Jul 2012 18:56:26 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 18:56:26 +0300] rev 26
- Mainloop and onenter definitions are now written into separate buffers first and only written to file after state ends. Why? Zandronum seems to demand that mainloop definitions MUST be written right after any onenter one. This way, mainloop and onenter definitions can be written without this restriction in the script. Also now I have a cool uchar-buffer class :)
- Sun, 15 Jul 2012 03:31:35 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 03:31:35 +0300] rev 25
- Fixed unary operators..
- Sun, 15 Jul 2012 03:24:46 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 03:24:46 +0300] rev 24
- Variables can now be assigned values, unfortunately not at top level.
- Sun, 15 Jul 2012 00:32:26 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 00:32:26 +0300] rev 23
- Forgot the actual new code files out of previous commit
- Sun, 15 Jul 2012 00:31:08 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sun, 15 Jul 2012 00:31:08 +0300] rev 22
- Added rudimentary global var support
- Sat, 14 Jul 2012 22:03:34 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 22:03:34 +0300] rev 21
- Added -l command line parameter, if given, botc will list all available commands and exit.
- Sat, 14 Jul 2012 20:35:50 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 20:35:50 +0300] rev 20
- Added string table and support for string parameters in commands.
- Sat, 14 Jul 2012 18:03:37 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 18:03:37 +0300] rev 19
- Commands w/ arguments are now written correctly.
- Sat, 14 Jul 2012 17:39:43 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 17:39:43 +0300] rev 18
- New rule: a semicolon is now required after events, mainloop, onexit and onenter definitions.
- Sat, 14 Jul 2012 17:35:19 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 17:35:19 +0300] rev 17
- Events and commands are now treated properly case-insensitively.
- Sat, 14 Jul 2012 17:24:21 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 17:24:21 +0300] rev 16
- Added mainloop/onenter/onexit support, fixed state writing.. this thing can compile the script for the `jumping arghbot` now!
- Sat, 14 Jul 2012 16:31:21 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 16:31:21 +0300] rev 15
- Moved command parser to a new function.
- Sat, 14 Jul 2012 16:28:42 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 16:28:42 +0300] rev 14
- If any optional parameters are skipped, default values are now filled in.
- Sat, 14 Jul 2012 16:24:57 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 16:24:57 +0300] rev 13
- Parser now can read optional arguments properly.
- Sat, 14 Jul 2012 16:12:59 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 16:12:59 +0300] rev 12
- MustString now behaves more like its siblings - sets token to result rather than returning it
- Sat, 14 Jul 2012 15:58:50 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 15:58:50 +0300] rev 11
- Removed extdelimeters member, said delimeters are always enabled now.
- Sat, 14 Jul 2012 15:44:38 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 15:44:38 +0300] rev 10
- Restructured the command def parser, added parameter lists to definition file.
- Sat, 14 Jul 2012 04:17:06 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 04:17:06 +0300] rev 9
- Added proper string checking
- Sat, 14 Jul 2012 04:03:25 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 04:03:25 +0300] rev 8
- Commands are now read properly.
- Sat, 14 Jul 2012 02:16:48 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 02:16:48 +0300] rev 7
- Improved error handling; added parser warnings
- Sat, 14 Jul 2012 01:49:32 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Sat, 14 Jul 2012 01:49:32 +0300] rev 6
- Command definitions are now read into memory.
- Fri, 13 Jul 2012 20:35:18 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 13 Jul 2012 20:35:18 +0300] rev 5
- Added command definition file
- Fri, 13 Jul 2012 20:20:56 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 13 Jul 2012 20:20:56 +0300] rev 4
- Removed unused parser.h file
- Fri, 13 Jul 2012 20:14:46 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 13 Jul 2012 20:14:46 +0300] rev 3
- oh blerb.
- Fri, 13 Jul 2012 20:10:08 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 13 Jul 2012 20:10:08 +0300] rev 2
- Added event definitions
- Fri, 13 Jul 2012 18:41:40 +0300
- by Teemu Piippo <crimsondusk64@gmail.com> [Fri, 13 Jul 2012 18:41:40 +0300] rev 1
- Added support for #include directives, added basic header and statistics printing.