1
0
mirror of synced 2024-12-15 01:01:15 +01:00
Commit Graph

63 Commits

Author SHA1 Message Date
WerWolv
71be77c54b patterns: Fix boolean operations and cast syntax 2021-09-24 12:15:50 +02:00
WerWolv
93c1fbd65e patterns: Fixed function parameters being set in the wrong order 2021-09-24 11:34:06 +02:00
WerWolv
2edd6cd6c4 patterns: Added inheritance for structs 2021-09-24 00:47:34 +02:00
WerWolv
6713f65040 patterns: Added auto type 2021-09-23 23:43:16 +02:00
WerWolv
755642862f patterns: Added recursion and array size limit pragma 2021-09-22 00:45:04 +02:00
WerWolv
d1c05174b6 patterns: Allow casting integers to str 2021-09-21 23:45:45 +02:00
WerWolv
c051f5d3e7
patterns: Rewrite evaluation engine (#306)
* patterns: Rewrite most of the evaluator to mainly use polymorphism instead of just RTTI

* patterns: Fixed a couple of AST memory leaks

* patterns: Parse string operations correctly

* patterns: Various fixes and cleanup

* patterns: Implement primitive function definitions

Function parameters now need to provide their type in the definition

* patterns: Added function variable definition and assignment

* patterns: Added remaining function statements

* patterns: Added unsized and while-sized arrays

* patterns: Added multi variable declarations to functions

* patterns: Added std::format built-in function

* patterns: Allow passing custom types to functions

* patterns: Added attributes and new "format" attribute

* patterns: Use libfmt for std::print instead of custom version

* patterns: Remove unnecessary string compare function

* pattern: Fix preprocessor directives

* patterns: Fix unit tests

* patterns: Added cast expression

* patterns: Handle endianess in function parameters

* patterns: Added casting to different endian

* patterns: Added 'str' type for functions
2021-09-21 21:29:18 +02:00
WerWolv
1df64031c8 patterns: Fix bitfield member access 2021-09-12 20:29:05 +02:00
WerWolv
132fc181cd patterns: Fix bitfields with unaligned sizes
Correction for #292
2021-09-12 14:28:13 +02:00
WerWolv
86096708da patterns: Fixed bitfields not respecting endian setting
Various other improvements. Fixes #292
2021-09-12 13:08:52 +02:00
WerWolv
635f0606e0 patterns: Fixed enums not counting properly 2021-09-11 23:14:22 +02:00
WerWolv
8396e40fa0 tests: Added initial test structure 2021-09-11 14:41:18 +02:00
WerWolv
e74c0f5cf5 sys: Tons of long overdue cleanup
- std::string -> const std::string& where needed
- Added a FileIO abstraction class
- Fixed recent files not updating
- Removed localization file from global include
- Renamed lang to pattern_language/pl
- Renamed EventFileDropped to RequestFileOpen
2021-09-08 15:18:24 +02:00