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
|
|
|
#include "helpers/utils.hpp"
|
2020-11-10 15:26:38 +01:00
|
|
|
#include "window.hpp"
|
|
|
|
|
2020-11-19 11:36:52 +01:00
|
|
|
#include "lang/pattern_data.hpp"
|
2020-11-10 15:26:38 +01:00
|
|
|
#include "views/view_hexeditor.hpp"
|
|
|
|
#include "views/view_pattern.hpp"
|
2020-11-10 21:31:04 +01:00
|
|
|
#include "views/view_pattern_data.hpp"
|
2020-11-11 00:13:09 +01:00
|
|
|
#include "views/view_hashes.hpp"
|
2020-11-12 09:38:52 +01:00
|
|
|
#include "views/view_information.hpp"
|
2020-11-14 21:16:03 +01:00
|
|
|
#include "views/view_help.hpp"
|
2020-11-15 00:46:38 +01:00
|
|
|
#include "views/view_tools.hpp"
|
2020-11-15 01:42:43 +01:00
|
|
|
#include "views/view_strings.hpp"
|
2020-11-21 00:12:58 +01:00
|
|
|
#include "views/view_data_inspector.hpp"
|
2020-11-22 23:07:50 +01:00
|
|
|
#include "views/view_disassembler.hpp"
|
2020-11-28 00:33:26 +01:00
|
|
|
#include "views/view_bookmarks.hpp"
|
2020-11-29 02:06:41 +01:00
|
|
|
#include "views/view_patches.hpp"
|
2020-12-16 22:43:07 +01:00
|
|
|
#include "views/view_command_palette.hpp"
|
2020-11-10 21:31:04 +01:00
|
|
|
|
2020-11-11 09:18:35 +01:00
|
|
|
#include "providers/provider.hpp"
|
|
|
|
|
2020-11-10 21:31:04 +01:00
|
|
|
#include <vector>
|
2020-11-10 15:26:38 +01:00
|
|
|
|
2020-12-01 18:19:49 +01:00
|
|
|
int mainArgc;
|
|
|
|
char **mainArgv;
|
|
|
|
|
|
|
|
int main(int argc, char **argv) {
|
|
|
|
mainArgc = argc;
|
|
|
|
mainArgv = argv;
|
|
|
|
|
2020-11-10 15:26:38 +01:00
|
|
|
hex::Window window;
|
|
|
|
|
2020-11-10 21:31:04 +01:00
|
|
|
// Shared Data
|
2020-11-19 11:36:52 +01:00
|
|
|
std::vector<hex::lang::PatternData*> patternData;
|
2020-11-28 00:33:26 +01:00
|
|
|
|
2020-11-10 21:31:04 +01:00
|
|
|
// Create views
|
2020-12-27 15:39:06 +01:00
|
|
|
window.addView<hex::ViewHexEditor>(patternData);
|
|
|
|
window.addView<hex::ViewPattern>(patternData);
|
|
|
|
window.addView<hex::ViewPatternData>(patternData);
|
|
|
|
window.addView<hex::ViewDataInspector>();
|
|
|
|
window.addView<hex::ViewHashes>();
|
|
|
|
window.addView<hex::ViewInformation>();
|
|
|
|
window.addView<hex::ViewStrings>();
|
|
|
|
window.addView<hex::ViewDisassembler>();
|
|
|
|
window.addView<hex::ViewBookmarks>();
|
|
|
|
window.addView<hex::ViewPatches>();
|
|
|
|
window.addView<hex::ViewTools>();
|
2020-12-16 22:43:07 +01:00
|
|
|
window.addView<hex::ViewCommandPalette>();
|
2020-11-22 23:07:50 +01:00
|
|
|
window.addView<hex::ViewHelp>();
|
2020-11-10 15:26:38 +01:00
|
|
|
|
2020-12-05 22:10:03 +01:00
|
|
|
if (argc > 1)
|
|
|
|
hex::View::postEvent(hex::Events::FileDropped, argv[1]);
|
|
|
|
|
2020-11-10 15:26:38 +01:00
|
|
|
window.loop();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|