Commit Graph

201 Commits

Author SHA1 Message Date
3dc67ec8a0 Move Lexer to u16string handling, for unicode support
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-15 17:20:27 +02:00
f73bd2003c Don't cascade errors if index assignment index is error
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-15 16:01:34 +02:00
5cd05053e1 Support having no getter/setters on a userdata field
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-15 15:38:52 +02:00
7c345d85e8 Work on making userdata work through extern C entry points
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-14 22:21:33 +02:00
2c313791d9 Ensure memory is handled properly with userdata
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-14 17:35:05 +02:00
a9def6c539 Implements setting table values
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-14 17:12:27 +02:00
996b5be496 Implements basics for UserData 2019-06-14 14:59:38 +02:00
eb57a46b0b Fix tests
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 19:10:22 +02:00
3e00f750ef Make Lexer use constant Tokens
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 18:49:38 +02:00
5910cbbfa9 Make parsed statements constant during binding 2019-06-13 18:14:59 +02:00
601c4a3f89 Always pass the script string around by reference 2019-06-13 17:37:23 +02:00
10a2535c96 Handle bound classes as constants during evaluation
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-13 17:12:46 +02:00
1cb65f17c9 Work on performance improvements
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-13 16:26:10 +02:00
e93bcab14d Changed references of u_int64_t to uint64_t, to account for mingw
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-13 15:31:48 +02:00
9d5c6911b2 Fix memory leak when using variables
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 15:18:20 +02:00
813ab1e90b Rework of variable scope to reduce load on evaluator 2019-06-13 15:16:41 +02:00
0339c44a89 Fix memory leak on tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 18:47:34 +02:00
22149d9243 Fixes for return statement, make Evaluate function on script return value
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-06-12 18:45:47 +02:00
3477ddd18c Rework function evaluation scope to handle tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 17:56:47 +02:00
c022c91777 Implements complex tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 15:19:28 +02:00
ba4fe888fa Pass parsed block statements as reference instead of value 2019-06-11 14:58:43 +02:00
081def0be0 Implements basic numerical tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-09 20:15:09 +02:00
ec2419bc7d Minor cleanup of Parser 2019-06-09 12:48:14 +02:00
9241273e7c Remove variable branch after function is finished running
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-09 12:37:19 +02:00
471632c6e4 Rework of evaluation variable handling, to account for functions having branching variable states
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 18:33:56 +02:00
4d452b33e0 Jump to specific function scope when calling function
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 16:44:47 +02:00
d385a9e3ee Fix parametered functions skipping a token 2019-06-08 16:30:23 +02:00
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