Commit Graph
81 Commits
Author SHA1 Message Date
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
Deukhoofd f6cf4d96dd Implements variable assignment evaluation 2019-05-29 14:55:03 +02:00
Deukhoofd 6185f755a4 More fixes for boundscope 2019-05-28 18:50:23 +02:00
Deukhoofd 2c84c1e229 Cleanup and fixes for boundscope 2019-05-28 18:22:07 +02:00
Deukhoofd 5d1c3ac9ba Implements assignment binding 2019-05-28 17:49:03 +02:00
Deukhoofd dbd7dfdd73 Implements assignment parsing 2019-05-26 14:20:40 +02:00
Deukhoofd 0205b92ae6 Implements string evaluation and concat 2019-05-25 16:15:20 +02:00
Deukhoofd b536187593 Implements unary operation evaluation 2019-05-25 14:59:12 +02:00
Deukhoofd 9131fbfee7 Implements inequality token 2019-05-25 14:17:52 +02:00
Deukhoofd d6a6e116fe Added equality operation for eval values 2019-05-25 13:57:43 +02:00
Deukhoofd 4a4a71ca73 Added logical and and or binary operations 2019-05-25 13:30:20 +02:00
Deukhoofd ce3be6a039 Improved performance for binary calculations 2019-05-25 12:51:39 +02:00
Deukhoofd f1fbf7044b Fix issue when deleting script with no evalValue result 2019-05-25 12:26:11 +02:00
Deukhoofd fe2007b095 Fix memory leak on error 2019-05-25 12:01:25 +02:00
Deukhoofd b2fa857c9b Fix memory leak related to lexer skipping whitespace. 2019-05-24 19:18:03 +02:00
Deukhoofd 4a034bc051 Reworked evaluation to use internal type instead of boost::any 2019-05-24 19:14:30 +02:00
Deukhoofd fed4c65bef Rename test files to fit consistency 2019-05-24 15:37:45 +02:00
Deukhoofd e5cc27d43e Fix literal floats evaluating wrong values 2019-05-24 15:33:13 +02:00
Deukhoofd e648013e1d Implements binary operation for floats 2019-05-24 15:31:11 +02:00
Deukhoofd d949d9aa8f Work on evaluation 2019-05-23 18:50:09 +02:00
Deukhoofd 57cd3efec9 Parse and bind strings 2019-05-22 13:29:35 +02:00
Deukhoofd 6eb005ab3f Lex Strings 2019-05-22 13:24:28 +02:00
Deukhoofd 23991ab2ea Improved performance for lexing identifiers/keywords 2019-05-22 12:41:08 +02:00
Deukhoofd 1cf33d5ae8 Fix build error 2019-05-22 12:37:49 +02:00
Deukhoofd 9cc5c14b43 Small optimization for binary binding 2019-05-22 12:29:29 +02:00
Deukhoofd 2cdb9abdb6 Implements binding unary expressions 2019-05-22 12:22:52 +02:00
Deukhoofd 62e938e039 Implements binding binary expressions 2019-05-21 22:15:51 +02:00
Deukhoofd c8183e5405 Implements binding parenthesized expression 2019-05-21 21:00:56 +02:00
Deukhoofd 80998eab14 More work on binder, implements basic literal expressions 2019-05-21 20:59:52 +02:00
Deukhoofd 2fe6f570ec Properly clear up memory of parsed results 2019-05-21 18:36:31 +02:00
Deukhoofd 1e5cd010a1 Initial layout for binder 2019-05-21 18:09:08 +02:00
Deukhoofd 2df4a71ed8 Reorganized tests 2019-05-21 17:23:56 +02:00
Deukhoofd aec07bd29a Adds support for parenthesized expressions 2019-05-21 17:16:53 +02:00
Deukhoofd ae25598864 Expanded on diagnostics, make whitespace completely ignored 2019-05-21 15:11:00 +02:00
Deukhoofd 8f2f122215 Make Diagnostics usage a pointer 2019-05-21 14:15:39 +02:00
Deukhoofd 99f50b6471 Add support for diagnostics to parser 2019-05-21 14:06:35 +02:00
Deukhoofd 2b35da3a7b Add support for diagnostics 2019-05-21 13:56:08 +02:00
Deukhoofd 26f1ed27a3 Cleans up CMakeLists 2019-05-21 13:06:23 +02:00
Deukhoofd ad3e61128c Creates base of script class 2019-05-21 12:59:15 +02:00
Deukhoofd 37e770f1cb Implements expression parsing 2019-05-20 17:45:03 +02:00
Deukhoofd 7edd51d5e3 Save position and length of tokens 2019-05-19 16:11:16 +02:00
Deukhoofd 608a579f19 Adds \v and \f as whitespace characters 2019-05-19 15:28:45 +02:00
Deukhoofd 96943bad7e Remove gitmodule for Catch2, replaced it with header file 2019-05-19 14:42:45 +02:00
Deukhoofd 01e8075958 Fix tests being broken 2019-05-19 14:32:10 +02:00
Deukhoofd 06fe0e7c4c Added lexing support for identifiers and keywords 2019-05-19 14:26:21 +02:00
Deukhoofd 8285811fb7 Add a couple more characters to lex 2019-05-19 12:49:26 +02:00
Deukhoofd 600315d401 Dont consume the character immediately following a number 2019-05-19 12:20:08 +02:00
Deukhoofd 22e450e7e7 Initial commit, adds very basic Lexing 2019-05-18 20:35:51 +02:00