Commit Graph

224 Commits

Author SHA1 Message Date
7ed53193de Make functions be able to call themselves
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-08 16:02:21 +02:00
7d75131822 Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
fc66c15c2f Fixed issue where function declarations without parameters would cause errors
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 14:42:23 +02:00
a2263535d9 Fixed issue where function parser keeps consuming tokens and causes out of range exceptions 2019-06-08 14:40:21 +02:00
ed6fbdbef0 Fix wrong block statements consuming EOF token, causing a nullptr exception 2019-06-08 14:27:24 +02:00
e233616b8e Implements if, elseif and else statements
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 14:25:15 +02:00
f4a3918947 Implements return statement
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-07 15:23:13 +02:00
f143e526ab Added support for calling script functions from extern C hooks
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-07 13:51:49 +02:00
a747c60f32 Removed ununused directive 2019-06-07 12:48:13 +02:00
81d57f6027 Get rid of insert_or_assign functions on map, as mingw seems to be having trouble with it
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-07 12:35:43 +02:00
4464cece57 Mingw doesn't seem to recognize intert_or_assign, so make it only use that on GCC
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-06 20:43:36 +02:00
7f73bf07d2 Create new string in Lexer when not passed by reference
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-06 20:07:55 +02:00
bffa133a3a Renamed import to include 2019-06-06 19:03:28 +02:00
ada2690dcd Rename Diagnostics
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-06 19:01:54 +02:00
cb5d9e2f62 Implements indexing, currently can only be used with strings 2019-06-06 17:35:51 +02:00
b275e1fbd6 Added basics for lexing index expressions 2019-06-05 21:01:59 +02:00
d49692a17e Minor optimizations in lexer 2019-06-05 19:11:56 +02:00
bda26b0ddf Allow non-local script functions to be called from outside the script 2019-06-05 18:44:23 +02:00
43dede9ae2 Work to add C style entry points to library that allow most functionality 2019-06-05 17:46:46 +02:00
6206fef4c5 Rework evaluation to use shared pointers, fix bugs 2019-06-01 21:38:39 +02:00
4408cf00cd Large overhaul of pointers to shared_ptrs, implemented function evaluation 2019-06-01 19:20:31 +02:00
8b70eed516 Implements parsing of function calling 2019-06-01 14:56:28 +02:00
1231a77761 Fixes and changes for function declarations, using shared_ptr instead of raw pointers 2019-06-01 13:43:25 +02:00
6936b26cae Implements binding and evaluating function declarations 2019-06-01 12:33:52 +02:00
c407ba2f50 Implements parsing function declarations 2019-05-31 15:00:14 +02:00
6fad5a0a7d Implements variable usage, tweaks and fixes for variable assignment 2019-05-30 15:23:48 +02:00
257eb942c7 Clean up EvaluationScope class 2019-05-29 15:12:13 +02:00
bda561b775 Fixes for creating variable in local scope 2019-05-29 15:10:16 +02:00
188d89db94 Fixed memory leak in script variables 2019-05-29 15:00:41 +02:00
f6cf4d96dd Implements variable assignment evaluation 2019-05-29 14:55:03 +02:00
6185f755a4 More fixes for boundscope 2019-05-28 18:50:23 +02:00
2c84c1e229 Cleanup and fixes for boundscope 2019-05-28 18:22:07 +02:00
5d1c3ac9ba Implements assignment binding 2019-05-28 17:49:03 +02:00
dbd7dfdd73 Implements assignment parsing 2019-05-26 14:20:40 +02:00
0205b92ae6 Implements string evaluation and concat 2019-05-25 16:15:20 +02:00
b536187593 Implements unary operation evaluation 2019-05-25 14:59:12 +02:00
9131fbfee7 Implements inequality token 2019-05-25 14:17:52 +02:00
d6a6e116fe Added equality operation for eval values 2019-05-25 13:57:43 +02:00
4a4a71ca73 Added logical and and or binary operations 2019-05-25 13:30:20 +02:00
ce3be6a039 Improved performance for binary calculations 2019-05-25 12:51:39 +02:00
f1fbf7044b Fix issue when deleting script with no evalValue result 2019-05-25 12:26:11 +02:00
fe2007b095 Fix memory leak on error 2019-05-25 12:01:25 +02:00
b2fa857c9b Fix memory leak related to lexer skipping whitespace. 2019-05-24 19:18:03 +02:00
4a034bc051 Reworked evaluation to use internal type instead of boost::any 2019-05-24 19:14:30 +02:00
e5cc27d43e Fix literal floats evaluating wrong values 2019-05-24 15:33:13 +02:00
e648013e1d Implements binary operation for floats 2019-05-24 15:31:11 +02:00
d949d9aa8f Work on evaluation 2019-05-23 18:50:09 +02:00
57cd3efec9 Parse and bind strings 2019-05-22 13:29:35 +02:00
6eb005ab3f Lex Strings 2019-05-22 13:24:28 +02:00
23991ab2ea Improved performance for lexing identifiers/keywords 2019-05-22 12:41:08 +02:00