WerWolv
867faef496
Fixed invalid applying of define replacements
2021-01-10 22:52:58 +01:00
WerWolv
557313ae1e
Fixed boolean OR never being parsed
2021-01-10 22:52:28 +01:00
WerWolv
e4c2049975
Fixed off-by-one error for array bound check
2021-01-10 22:52:12 +01:00
WerWolv
dc6c1fa622
Fixed issues with struct and union members when using conditionals
2021-01-10 19:40:44 +01:00
WerWolv
9fe8a0f491
Fixed enums not counting towards size of structs / enums
2021-01-10 18:24:58 +01:00
WerWolv
43d6b48cab
Fixed rvalue endianess
2021-01-10 17:18:14 +01:00
WerWolv
ad40c53eb2
Fixed enum parse/evaluate error and crash
2021-01-10 17:14:38 +01:00
WerWolv
8f16a733b9
Fixed bitfields behaving like they have no size. Fixes #127
2021-01-10 13:40:07 +01:00
WerWolv
bc4991f915
Improved type consistency throughout the language
2021-01-10 00:40:57 +01:00
WerWolv
7a8e923b41
Added print & warnAssert functions and a colored console
2021-01-09 23:48:42 +01:00
WerWolv
e54dbcf574
Added assert function. Resolves #123
2021-01-09 21:47:52 +01:00
WerWolv
c5d023822d
Added functions with string literals as parameter
2021-01-09 21:47:52 +01:00
WerWolv
e28d6e7451
Added string literals and improved character parsing
2021-01-09 21:47:52 +01:00
Philipp Kovalev
575903f921
fix(lang): fixes occurrence index in findSequnce built-in fucntion ( #120 )
2021-01-09 18:48:34 +01:00
WerWolv
17ecdbf8ec
Allow accessing of pointer values in mathematical expressions
2021-01-08 20:12:16 +01:00
WerWolv
69f4c6e5e9
Allow global variables to be accessed and used in expressions
2021-01-08 17:37:05 +01:00
WerWolv
fd98db1b70
Fixed error line number mismatch when including files or using comments
2021-01-08 17:14:35 +01:00
WerWolv
205f3a327e
Fixed endian specifier not applying
2021-01-08 16:56:39 +01:00
WerWolv
f84b661af7
Fixed pointers to built-in types and endian handling
2021-01-08 15:03:53 +01:00
WerWolv
56330686be
Fixed crash when creating an enum
2021-01-08 11:58:07 +01:00
WerWolv
e48c61cf27
Hopefully fixed macos compile finally
2021-01-07 21:52:03 +01:00
WerWolv
08c802f733
Added unbounded char arrays for null-terminated strings
2021-01-07 21:16:34 +01:00
WerWolv
7e4babaca8
Use custom versions of concepts for macos support
2021-01-07 20:06:28 +01:00
WerWolv
5d1e53f469
Added boolean patterns
2021-01-07 17:34:50 +01:00
WerWolv
bef20f7808
Added function calling as well as a few builtin functions
2021-01-07 15:37:37 +01:00
WerWolv
2dbfbe70af
Fixed rvalue value evaluation
2021-01-07 01:56:15 +01:00
WerWolv
3f1d9ed366
Added ternary condition operator
2021-01-07 01:19:54 +01:00
WerWolv
b30bb21646
Added unary operators +, -, ~ and !
2021-01-07 00:41:06 +01:00
WerWolv
acfd5aa02f
Added if, else and else if to pattern language
2021-01-07 00:02:51 +01:00
WerWolv
7fd0d87d56
Allow enum entries to be accessed via the scope resolution operator
2021-01-06 16:30:30 +01:00
WerWolv
ceee311efa
Added support for more literal types and scope resolution operator parsing
2021-01-05 14:42:08 +01:00
WerWolv
f137d759c8
Allow zero-sized arrays again
2021-01-04 16:25:03 +01:00
WerWolv
f5250d6bcf
Fixed rvalues not evaluating correctly in nested structs
2021-01-04 16:13:03 +01:00
WerWolv
af42d2ff66
Properly convert rvalue to mathematical expression
2021-01-04 14:10:59 +01:00
WerWolv
78ef07cf0f
Pattern Language rewrite ( #111 )
...
* Initial parser rewrite effort
Lexer and Token cleanup, Parser started over
* Greatly improved parser syntax
* Reimplemented using declarations and variable placement parsing
* Added back unions and structs
* Added enums as well as mathematical expressions (+, -, *, /, <<, >>, &, |, ^)
* Code style improvement
* Implemented arrays and fixed memory issues
* Fixed more memory issues in parser, reimplemented validator, evaluator and patterns
* Fixed builtin types, arrays and reimplemented strings
* Improved error messages
* Made character a distinct type, used for chars and strings
* Implemented padding, fixed arrays
* Added bitfields
* Added rvalue parsing, no evaluating yet
* Added .idea folder to gitignore
* Fixed build on MacOS
* Added custom implementation of integral concept if not available
* Rebased onto master
* Fixed array variable decl crash
* Added rvalues and dot syntax
* Lower case all pattern language error messages
* Fixed typo in variable name
* Fixed bug where preprocessor would not ignore commented out directives
* Reimplemented pointers
* Fixed rebase issues
2021-01-02 20:27:11 +01:00
WerWolv
144e30775f
Fixed duplicated utils.hpp
2020-12-27 15:54:12 +01:00
WerWolv
dbbc525174
Added Plugin support ( #102 )
...
* Build refactoring and initial plugin support
* Possibly fixed linux / mac build
* Added libdl to libglad build script
* Add glfw to imgui dependencies
* Refactored common functionality into "libimhex" for plugins
* Added plugin loading and example plugin
* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
Mary
310059f274
Support macOS
...
This allows building and running under macOS.
There is still some issues with dpi but the application compiles and run now.
2020-12-18 21:44:13 +01:00
WerWolv
e1e73077a1
Improved language parsing and validation. This fixes #58
2020-12-07 23:49:19 +01:00
WerWolv
b06f5630c7
Fixed additional issues with padding and zero sized arrays
2020-12-06 23:15:51 +01:00
WerWolv
5c96a28fb6
Actually fix crash when creating zero sized arrays
...
If size is zero, the array will be treated as non-existent. This fixes #50
2020-12-06 22:52:15 +01:00
WerWolv
7a9d7b59e8
Added overriding of endianess for individual variables
2020-12-06 21:40:57 +01:00
WerWolv
4720cf9fbe
Added possible support for MacOS. Completely untested.
...
Relevant: #32
2020-12-06 13:48:56 +01:00
WerWolv
6456a68805
Fixed crash when array size variable has a value of zero
2020-12-05 10:36:30 +01:00
WerWolv
c90ef343c1
Added math evaluator / calculator to tools window
2020-11-28 21:55:52 +01:00
WerWolv
3827919a32
Added error messages and error display to pattern language editor
2020-11-27 21:20:23 +01:00
WerWolv
d55bea7c46
Added character literals to pattern language
2020-11-27 14:18:28 +01:00
WerWolv
fde9dc7961
Various small fixes
2020-11-27 09:09:59 +01:00
WerWolv
8297e22f10
Added global big and little endian support to the pattern parser
2020-11-22 16:22:02 +01:00
WerWolv
033ef3889a
Fixed enums failing to validate
2020-11-22 02:25:03 +01:00