Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 48224afe45 Reduce amount of copies for HashedString for improved performance
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-25 15:18:36 +02:00
Deukhoofd bace7b294d This mutex issue is going to drive me insane
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 20:22:20 +02:00
Deukhoofd e13d75a502 move mutex closer to guard call
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 17:12:46 +02:00
Deukhoofd e363d55206 Make mutex non-static again
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 16:34:09 +02:00
Deukhoofd ef150f6851 Make internal storage of userdata non copyable or movable
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 16:21:47 +02:00
Deukhoofd 09e30a234c Mark mutex in userdata handler as static
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:51:51 +02:00
Deukhoofd fd83b6b992 Implemented copy without state function for script
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:35:25 +02:00
Deukhoofd 97be8cded0 More valgrind fixes
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:33:29 +02:00
Deukhoofd 907e444389 More valgrind fixes
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:09:00 +02:00
Deukhoofd 021750a135 Fix all valgrind leak issues in tests
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 13:38:41 +02:00
Deukhoofd 76b8ba3ebc Initial work on iterators, rework of variable handling by including actual string
continuous-integration/drone/push Build is failing
2019-06-23 15:58:14 +02:00
Deukhoofd 1a84661c79 Make zero step numerical for loop use the positive number evaluation 2019-06-23 12:58:01 +02:00
Deukhoofd e472dcec1c Implements numeric for loops
continuous-integration/drone/push Build is passing
2019-06-22 17:35:33 +02:00
Deukhoofd 694b0ac0c0 Work on extern support for userdata functions
continuous-integration/drone/push Build is passing
2019-06-21 23:07:17 +02:00
Deukhoofd 95c322ed2c Implements userdata function support
continuous-integration/drone/push Build is failing
2019-06-21 17:03:13 +02:00
Deukhoofd 6f7d319148 Don't parse expression on different line from return keyword
continuous-integration/drone/push Build is passing
2019-06-19 16:21:21 +02:00
Deukhoofd b76548da16 Cache diagnostic message for easier access, and better extern C handling
continuous-integration/drone/push Build is passing
2019-06-19 15:49:44 +02:00
Deukhoofd 7958576b6a Create entry point to get diagnostic string message
continuous-integration/drone/push Build is passing
2019-06-19 13:37:39 +02:00
Deukhoofd 6bcedaf743 Add backslash to invalid control character error, made pretty error messages use 1-based line index
continuous-integration/drone/push Build is passing
2019-06-19 13:33:01 +02:00
Deukhoofd 8541085b27 Added support for full error messages
continuous-integration/drone/push Build is passing
2019-06-18 19:56:47 +02:00
Deukhoofd dc35ba4698 Support getting line for diagnostic 2019-06-18 17:14:18 +02:00
Deukhoofd e07d5cb7cb Move Diagnostics to separate namespace 2019-06-18 16:39:36 +02:00
Deukhoofd 88df299e14 Disable Windows build until Dockcross includes updated GCC version
continuous-integration/drone/push Build is passing
2019-06-18 16:30:08 +02:00
Deukhoofd cf752971a4 Attempt to use newer GCC on the Windows build
continuous-integration/drone/push Build is failing
2019-06-18 15:58:06 +02:00
Deukhoofd 1563e45c3f Enforce C++17 to use CMake to build, as we're using C++17 features
continuous-integration/drone/push Build is failing
2019-06-18 14:45:44 +02:00
Deukhoofd fde102d954 Added namespaces to most classes, general cleanup
continuous-integration/drone/push Build is failing
2019-06-17 18:35:12 +02:00
Deukhoofd 21d3329c55 Mark evalValues as const
continuous-integration/drone/push Build is passing
2019-06-17 17:43:54 +02:00
Deukhoofd d91caa7f32 Implements indexing with period identifier style (`foo.bar`)
continuous-integration/drone/push Build is passing
2019-06-17 15:45:33 +02:00
Deukhoofd d06b04cae9 Gitignore automatically generated project files
continuous-integration/drone/push Build is passing
2019-06-15 18:05:42 +02:00
Deukhoofd 90ec4766c3 Support unicode as variables
continuous-integration/drone/push Build is passing
2019-06-15 17:51:10 +02:00
Deukhoofd 3dc67ec8a0 Move Lexer to u16string handling, for unicode support
continuous-integration/drone/push Build is passing
2019-06-15 17:20:27 +02:00
Deukhoofd f73bd2003c Don't cascade errors if index assignment index is error
continuous-integration/drone/push Build is passing
2019-06-15 16:01:34 +02:00
Deukhoofd 5cd05053e1 Support having no getter/setters on a userdata field
continuous-integration/drone/push Build is passing
2019-06-15 15:38:52 +02:00
Deukhoofd 7c345d85e8 Work on making userdata work through extern C entry points
continuous-integration/drone/push Build is passing
2019-06-14 22:21:33 +02:00
Deukhoofd 2c313791d9 Ensure memory is handled properly with userdata
continuous-integration/drone/push Build is passing
2019-06-14 17:35:05 +02:00
Deukhoofd 3217fd1479 Fix for release builds deleting lexer test script strings before being finished with it
continuous-integration/drone/push Build is passing
2019-06-14 17:20:33 +02:00
Deukhoofd a9def6c539 Implements setting table values
continuous-integration/drone/push Build is failing
2019-06-14 17:12:27 +02:00
Deukhoofd 996b5be496 Implements basics for UserData 2019-06-14 14:59:38 +02:00
Deukhoofd 831dbe6917 Fix Lexer tests losing reference
continuous-integration/drone/push Build is failing
2019-06-13 19:21:22 +02:00
Deukhoofd eb57a46b0b Fix tests
continuous-integration/drone/push Build is failing
2019-06-13 19:10:22 +02:00
Deukhoofd 3e00f750ef Make Lexer use constant Tokens
continuous-integration/drone/push Build is failing
2019-06-13 18:49:38 +02:00
Deukhoofd 5910cbbfa9 Make parsed statements constant during binding 2019-06-13 18:14:59 +02:00
Deukhoofd 601c4a3f89 Always pass the script string around by reference 2019-06-13 17:37:23 +02:00
Deukhoofd 10a2535c96 Handle bound classes as constants during evaluation
continuous-integration/drone/push Build is passing
2019-06-13 17:12:46 +02:00
Deukhoofd 1cb65f17c9 Work on performance improvements
continuous-integration/drone/push Build is passing
2019-06-13 16:26:10 +02:00
Deukhoofd e93bcab14d Changed references of u_int64_t to uint64_t, to account for mingw
continuous-integration/drone/push Build is passing
2019-06-13 15:31:48 +02:00
Deukhoofd 9d5c6911b2 Fix memory leak when using variables
continuous-integration/drone/push Build is failing
2019-06-13 15:18:20 +02:00
Deukhoofd 813ab1e90b Rework of variable scope to reduce load on evaluator 2019-06-13 15:16:41 +02:00
Deukhoofd 0339c44a89 Fix memory leak on tables
continuous-integration/drone/push Build is passing
2019-06-12 18:47:34 +02:00
Deukhoofd 22149d9243 Fixes for return statement, make Evaluate function on script return value
continuous-integration/drone/push Build was killed
2019-06-12 18:45:47 +02:00
Deukhoofd 3477ddd18c Rework function evaluation scope to handle tables
continuous-integration/drone/push Build is passing
2019-06-12 17:56:47 +02:00
Deukhoofd c022c91777 Implements complex tables
continuous-integration/drone/push Build is passing
2019-06-12 15:19:28 +02:00
Deukhoofd ba4fe888fa Pass parsed block statements as reference instead of value 2019-06-11 14:58:43 +02:00
Deukhoofd 081def0be0 Implements basic numerical tables
continuous-integration/drone/push Build is passing
2019-06-09 20:15:09 +02:00
Deukhoofd ec2419bc7d Minor cleanup of Parser 2019-06-09 12:48:14 +02:00
Deukhoofd 9241273e7c Remove variable branch after function is finished running
continuous-integration/drone/push Build is passing
2019-06-09 12:37:19 +02:00
Deukhoofd 471632c6e4 Rework of evaluation variable handling, to account for functions having branching variable states
continuous-integration/drone/push Build is passing
2019-06-08 18:33:56 +02:00
Deukhoofd 4d452b33e0 Jump to specific function scope when calling function
continuous-integration/drone/push Build is passing
2019-06-08 16:44:47 +02:00
Deukhoofd d385a9e3ee Fix parametered functions skipping a token 2019-06-08 16:30:23 +02:00
Deukhoofd 7ed53193de Make functions be able to call themselves
continuous-integration/drone/push Build is failing
2019-06-08 16:02:21 +02:00
Deukhoofd 7d75131822 Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
Deukhoofd fc66c15c2f Fixed issue where function declarations without parameters would cause errors
continuous-integration/drone/push Build is passing
2019-06-08 14:42:23 +02:00
Deukhoofd a2263535d9 Fixed issue where function parser keeps consuming tokens and causes out of range exceptions 2019-06-08 14:40:21 +02:00
Deukhoofd ed6fbdbef0 Fix wrong block statements consuming EOF token, causing a nullptr exception 2019-06-08 14:27:24 +02:00
Deukhoofd e233616b8e Implements if, elseif and else statements
continuous-integration/drone/push Build is passing
2019-06-08 14:25:15 +02:00
Deukhoofd f4a3918947 Implements return statement
continuous-integration/drone/push Build is passing
2019-06-07 15:23:13 +02:00
Deukhoofd f143e526ab Added support for calling script functions from extern C hooks
continuous-integration/drone/push Build is passing
2019-06-07 13:51:49 +02:00
Deukhoofd a747c60f32 Removed ununused directive 2019-06-07 12:48:13 +02:00
Deukhoofd 81d57f6027 Get rid of insert_or_assign functions on map, as mingw seems to be having trouble with it
continuous-integration/drone/push Build is passing
2019-06-07 12:35:43 +02:00
Deukhoofd 4464cece57 Mingw doesn't seem to recognize intert_or_assign, so make it only use that on GCC
continuous-integration/drone/push Build is failing
2019-06-06 20:43:36 +02:00
Deukhoofd 29561c7ef5 More fixes for CI
continuous-integration/drone/push Build is failing
2019-06-06 20:28:00 +02:00
Deukhoofd 043ab5dd7e Downgraded minimum cmake required
continuous-integration/drone/push Build is failing
2019-06-06 20:15:45 +02:00
Deukhoofd 7f73bf07d2 Create new string in Lexer when not passed by reference
continuous-integration/drone/push Build is failing
2019-06-06 20:07:55 +02:00
Deukhoofd 976b4ef2ec Test to see if environment variables handle everything properly
continuous-integration/drone/push Build is failing
2019-06-06 19:49:00 +02:00
Deukhoofd 2085334d0d Try CI for Windows
continuous-integration/drone/push Build is failing
2019-06-06 19:24:27 +02:00
Deukhoofd 1d9271735c More fixes for CI
continuous-integration/drone/push Build is passing
2019-06-06 19:16:30 +02:00
Deukhoofd 935b21a2eb Try this
continuous-integration/drone/push Build is failing
2019-06-06 19:09:27 +02:00
Deukhoofd fa705786f1 Fixes for CI 2019-06-06 19:07:28 +02:00
Deukhoofd bffa133a3a Renamed import to include 2019-06-06 19:03:28 +02:00
Deukhoofd ada2690dcd Rename Diagnostics
continuous-integration/drone/push Build is failing
2019-06-06 19:01:54 +02:00
Deukhoofd 89ada09272 CI fixes
continuous-integration/drone/push Build is failing
2019-06-06 18:58:51 +02:00
Deukhoofd 549b53a69b Remove CMake cache
continuous-integration/drone/push Build is failing
2019-06-06 18:53:15 +02:00
Deukhoofd f77192a01f Initial work on CI
continuous-integration/drone/push Build is failing
2019-06-06 18:02:46 +02:00
Deukhoofd cb5d9e2f62 Implements indexing, currently can only be used with strings 2019-06-06 17:35:51 +02:00
Deukhoofd b275e1fbd6 Added basics for lexing index expressions 2019-06-05 21:01:59 +02:00
Deukhoofd 7f79c4d8bb Minor test memory cleanup 2019-06-05 19:18:11 +02:00
Deukhoofd d49692a17e Minor optimizations in lexer 2019-06-05 19:11:56 +02:00
Deukhoofd bda26b0ddf Allow non-local script functions to be called from outside the script 2019-06-05 18:44:23 +02:00
Deukhoofd 43dede9ae2 Work to add C style entry points to library that allow most functionality 2019-06-05 17:46:46 +02:00
Deukhoofd 6206fef4c5 Rework evaluation to use shared pointers, fix bugs 2019-06-01 21:38:39 +02:00
Deukhoofd 4408cf00cd Large overhaul of pointers to shared_ptrs, implemented function evaluation 2019-06-01 19:20:31 +02:00
Deukhoofd 8b70eed516 Implements parsing of function calling 2019-06-01 14:56:28 +02:00
Deukhoofd 1231a77761 Fixes and changes for function declarations, using shared_ptr instead of raw pointers 2019-06-01 13:43:25 +02:00
Deukhoofd 6936b26cae Implements binding and evaluating function declarations 2019-06-01 12:33:52 +02:00
Deukhoofd c407ba2f50 Implements parsing function declarations 2019-05-31 15:00:14 +02:00
Deukhoofd 6fad5a0a7d Implements variable usage, tweaks and fixes for variable assignment 2019-05-30 15:23:48 +02:00
Deukhoofd 257eb942c7 Clean up EvaluationScope class 2019-05-29 15:12:13 +02:00
Deukhoofd bda561b775 Fixes for creating variable in local scope 2019-05-29 15:10:16 +02:00
Deukhoofd 188d89db94 Fixed memory leak in script variables 2019-05-29 15:00:41 +02:00
Deukhoofd 3c0df2e615 Delete script after tests 2019-05-29 14:58:00 +02:00