gzdoom/src/scripting/zscript
Christoph Oelckers f9cd2c9af7 - added switch/case processing. Right now it is just a sequence of test/jmp instructions. It may make sense to add a special opcode that can perform the comparisons natively but that's an option for later.
- added a TESTN instruction. This is like TEST but negates the operand. This was added to avoid flooding the constant table with too many case labels. With TEST and TESTN combined, all numbers between -65535 and 65535 can be kept entirely inside the instruction. Numbers outside this range still use a BEQ instruction.
2016-10-23 12:00:25 +02:00
..
ast.cpp - changed assignment operators to be expressions, like they are in C and DECORATE. 2016-10-21 12:22:42 +02:00
zcc-parse.lemon - added null pointer. 2016-10-22 00:50:04 +02:00
zcc_compile.cpp - added switch/case processing. Right now it is just a sequence of test/jmp instructions. It may make sense to add a special opcode that can perform the comparisons natively but that's an option for later. 2016-10-23 12:00:25 +02:00
zcc_compile.h - restrict 8 and 16 bit integer types to struct and class members - and I am not really sure if they should even be allowed there, aside from legacy readonly properties. For 32 bit floats the same would hold, but those are already mapped to 64 bit doubles silently. 2016-10-16 12:47:26 +02:00
zcc_expr.cpp - implemented '**' (power) operator. To ensure reliability, acustom 'pow' function will be used to calculate it. 2016-10-17 15:17:48 +02:00
zcc_exprlist.h - implemented all assign/modify operators. 2016-10-21 14:18:31 +02:00
zcc_parser.cpp - added null pointer. 2016-10-22 00:50:04 +02:00
zcc_parser.h - 'fixed' local variable declrations to work like C, not like some Lua-inspired nightmare. Also added proper initialization syntax for arrays. 2016-10-19 13:07:44 +02:00