103 Commits

Author SHA1 Message Date
Jan
5f0f73838f ZoneCodeGenerator: Make static operands able to have the value of an enum entry 2019-11-21 01:29:24 +01:00
Jan
31b279c1e6 ZoneCodeGenerator: Fix operationType tokens not being sorted by length so shorter tokens can be matched before longer ones 2019-11-19 12:55:04 +01:00
Jan
8d4e4c0025 ZoneCodeGenerator: Fix | not being a recognized token of the lexer 2019-11-19 12:54:13 +01:00
Jan
ee2653657e ZoneCodeGenerator: Add template code and separate into different template files for a better overview and less cluttered template code 2019-11-15 14:55:35 +01:00
Jan
3bf0334c59 ZoneCodeGenerator: Add and rename member computations to make more sense 2019-11-15 14:54:29 +01:00
Jan
b15ce90fbb ZoneCodeGenerator: Add reusable statement for commands to be able to tell the generator that a member can be a fastfile offset and not nessecarly a following pointer 2019-11-15 14:47:45 +01:00
Jan
dda9cc0700 ZoneCodeGenerator: Change code templates to support loading of simple assets like rawfile 2019-11-14 14:59:48 +01:00
Jan
f80d661c1b ZoneCodeGenerator: Add helper methods to Operation for the template engine to know whether parenthesis are required or not 2019-11-14 14:59:21 +01:00
Jan
8c303d394d ZoneCodeGenerator: Add all used membertypes to a list in context 2019-11-14 14:58:50 +01:00
Jan
63722e220d ZoneCodeGenerator: Move computed conditions to sub class for MemberInformation since the template engine does not support computations and there will be a decent amount probably. So they are now moved to a different class to not cludder the main class too much 2019-11-14 14:57:21 +01:00
Jan
b59ca3b261 ZoneCodeGenerator: Save whether a structure is anonymous and therefore a name has been generated or not. 2019-11-14 14:54:36 +01:00
Jan
f777c049c6 ZoneCodeGenerator: Add postprocessor to inspect whether a structure is a leaf (No complex tasks for loading/writing required, like pointers, strings, scriptstrings) 2019-11-14 14:53:12 +01:00
Jan
ef8a040db4 ZoneCodeGenerator: Add toString methods for Domain objects for better readability when debugging 2019-11-14 14:50:53 +01:00
Jan
73424c9bc1 ZoneCodeGenerator: Add tests for reordering, scriptstring, string 2019-11-10 22:14:01 +01:00
Jan
6ca7f18f9f ZoneCodeGenerator: Add arraysize test to explicitly override the size of an array with a dynamic one 2019-11-10 18:07:28 +01:00
Jan
76cae3a948 ZoneCodeGenerator: Fix LoadArray template to reference array elements correctly 2019-11-10 18:06:08 +01:00
Jan
f2cc95ee32 ZoneCodeGenerator: Make use of the parsed tokens in TestCount and TestCondition 2019-11-10 18:04:00 +01:00
Jan
2bcb776bbf ZoneCodeGenerator: Add toString methods for operands and operations for debugging purposes 2019-11-08 03:00:43 +01:00
Jan
6c1404116c ZoneCodeGenerator: When parsing Evaluation nest operations so the operator precendence is evaluated as specified 2019-11-08 03:00:20 +01:00
Jan
82604038c7 ZoneCodeGenerator: Fix recognizing but not doing anything with const tokens in variables 2019-11-06 18:41:21 +01:00
Jan
f71ae1bcf5 ZoneCodeGenerator: Remove the const keyword from typename but instead save whether a reference is cosnt in the typedeclaration 2019-11-01 01:46:40 +01:00
Jan
3d30915308 ZoneCodeGenerator: Remove align statement. Alignments will be defined via types created by a typedef that have a __declspec(align(X)) part 2019-10-31 15:41:35 +01:00
Jan
9b12bd7e41 ZoneCodeGenerator: Fix wrong exception being thrown in tests: Use TestFailedException instead of LoadingException 2019-10-30 15:23:31 +01:00
Jan
825b14bfd4 ZoneCodeGenerator: Fix TestAsset not throwing an exception when info is missing due to wrong if condition 2019-10-30 15:02:25 +01:00
Jan
799d3cbce7 ZoneCodeGenerator: Change block Statement to get the number of fastfileblock from the enum entry instead of manually specifying it 2019-10-30 15:01:45 +01:00
Jan
d5ecaa186d ZoneCodeGenerator: Fix GroupLoop adding Tags to result even when not successful 2019-10-29 12:20:41 +01:00
Jan
23f82894b7 ZoneCodeGenerator: Make GroupOptional always add Tag due to consistency (Tags get added when matches succeeds) 2019-10-29 12:20:08 +01:00
Jan
7a6df40be5 ZoneCodeGenerator: Fix basematcher adding tag to result even when not matched successfully 2019-10-27 15:38:27 +01:00
Jan
d4da8645b1 Seperate unit tests for commentprocessor and c_header preprocessor 2019-10-27 14:12:05 +01:00
Jan
146c992dd5 Change c# projects to dotnet framework version 4.5 due to dependencies not being available for newer versions 2019-10-27 13:31:50 +01:00
Jan
5245f40307 ZoneCodeGenerator: Create parent class for all tests that use Evaluations 2019-10-27 01:46:43 +02:00
Jan
6ea19c6fe2 ZoneCodeGenerator: Fix PeekTag and NextTag returning null when no tags exist anymore. It should instead return an empty string 2019-10-27 01:46:20 +02:00
Jan
49883bfce3 ZoneCodeGenerator: Add bitwise and, or, xor operations 2019-10-27 01:45:34 +02:00
Jan
86f754bdd7 ZoneCodeGenerator: Fix GroupOptional not registering Tag when being matched 2019-10-27 01:44:52 +02:00
Jan
cb04f5986b ZoneCodeGenerator: Fix Literals with multiple tokens only compare the first token 2019-10-26 22:31:03 +02:00
Jan
06585fb776 ZoneCodeGenerator: Add basis for align, strings and improved count tests 2019-10-21 17:00:37 +02:00
Jan
034de70bbc Add code generation on compiling to premake scripts using custom build commands 2019-10-25 02:13:37 +02:00
Jan
d213bab3f2 Add premake scripts for c# projects 2019-10-22 11:32:19 +02:00
Jan
a1670305c7 ZoneCodeGenerator: Add Next and Peek queries for Tags and Matches 2019-10-04 12:50:00 +02:00
Jan
f13eac7436 ZoneCodeGenerator: Remove unused condition matchers in count test 2019-10-02 18:43:35 +02:00
Jan
0ee689532b ZoneCodeGenerator: Fix conditions only being able to have one conditionStatement 2019-10-02 18:42:58 +02:00
Jan
ac1d426fb2 ZoneCodeGenerator: Add always to CommandFile condition and allow multiple conditions linked together in a chain 2019-10-02 16:26:16 +02:00
Jan
785e2c9bfb ZoneCodeGenerator: Add Evaluation as basis for specifying conditions and counts 2019-10-02 15:47:24 +02:00
Jan
2c611a1368 Update projects to Visual Studio 2019 platform 2019-10-02 12:21:34 +02:00
Jan
3ba1f6d5f9 ZoneCodeGenerator: Move usages postprocessor to be post commandfile instead of post headerfile 2019-09-28 13:14:23 +02:00
Jan
c150350fc0 ZoneCodeGenerator/ZoneCommon: Automatically generate unit tests for struct sizes and alignments to make sure they match the expected values for fastfiles 2019-09-28 12:31:19 +02:00
Jan
e7e65127e2 ZoneCodeGenerator: Fix CustomAlignment not being applied to structs 2019-09-28 12:41:14 +02:00
Jan
9e516cea1f ZoneCodeGenerator: When parsing open files in non-exclusive reading mode so other instances of ZoneCodeGenerator can run at the same time 2019-09-28 12:02:09 +02:00
Jan
ff62e6d0fb Fix crash on empty files in ZoneCodeGenerator 2019-09-27 23:02:47 +02:00
Jan
fcc13d374f Fix ZoneLoad template not inheriting the base class and other minor mistakes 2019-09-27 23:02:27 +02:00