Commit Graph

280 Commits

Author SHA1 Message Date
2cd787c536 Support "next" statement, skipping the remainder of the loop block.
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-22 13:49:37 +02:00
f4277d47c3 extern C entry point to check if NumericEvalValue is float or int
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-22 13:30:25 +02:00
8dcf31cb40 Extern support for getting data from Table EvalValues
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-22 11:11:22 +02:00
74d23530a1 Speed up parser by allocating more space for its statements initially.
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-21 09:52:22 +02:00
0d59a1d029 Speed up lexer by allocating more space for its tokens initially. 2019-09-20 18:51:31 +02:00
0763ebbad0 Dont allow setting to a userdata field if it has no setter 2019-09-20 18:15:48 +02:00
99c91164be Fixed issue where attempting setting to a non existing field on userdata would crash.
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 15:27:31 +02:00
8c13c2c84c Fix issues with casting when type is the same.
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 14:54:18 +02:00
a7fee1437c Add missing switch statement for Count unary operation to string
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 13:28:32 +02:00
454c0c581d Fixes setting CMAKE_C_COMPILER flag being ignored
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 12:29:56 +02:00
4eea5a7007 Use Clang as default compiler
Some checks failed
continuous-integration/drone/push Build is failing
2019-09-19 12:00:48 +02:00
24923deed0 Fixes and improvements for new table system
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-19 11:28:00 +02:00
6c6d977000 Union with shared_ptr caused a memory leak. Prevent this using std::variant 2019-09-19 11:02:59 +02:00
458274f370 Large rework of tables
Some checks failed
continuous-integration/drone/push Build is failing
2019-09-15 13:08:11 +02:00
e89782f921 Make numerical table type countable 2019-09-14 13:20:00 +02:00
98b605a18b Fixes for implicit casting when assigning variables 2019-09-14 11:44:43 +02:00
54778adf82 Allow variables be assigned to other types if they are implicitly castable
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-14 11:14:50 +02:00
9520b98f2e Better handling of return followed by end keyword 2019-09-14 11:05:10 +02:00
e75d13f509 Fixed return followed by end keyword log an error
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-14 10:45:32 +02:00
12c55a12ba Cleanup of Parsed Expression classes
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-14 10:39:31 +02:00
b462c1b873 Fixes empty script returning segmentation fault 2019-09-14 10:35:32 +02:00
45d3bc690b Extern C support for registering function overloads
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-14 10:19:56 +02:00
3a9f1f976a Fix modules without return type throwing segmentation fault
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 21:50:48 +02:00
80f3af22ac Fix single item numerical tables being parsed as complex tables 2019-09-12 20:57:53 +02:00
0266b3c616 Better error handling for extern functions that retrieve userdata 2019-09-12 20:42:18 +02:00
bae3e92577 Better error handling when variable is not found
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 18:25:18 +02:00
73142afa8a Support for length unary operator
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 18:19:06 +02:00
bd9eac9056 Better diagnostics for CantIndex error message
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 17:16:11 +02:00
ff4af34478 Userdata equality should always be valid to check, even when no explicit operator is given for it 2019-09-12 17:10:44 +02:00
bd343c1b7e Allows userdata binary operations to be set externally
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 15:21:10 +02:00
b94c811e94 Support Any type in function parameters
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 13:26:59 +02:00
eca0c6b075 Work on userdata binary operations
Some checks reported errors
continuous-integration/drone/push Build encountered an error
2019-09-08 13:53:24 +02:00
85936f3d68 Fix Key Identifier and Value identifier in generic for loop using same type for debug string 2019-09-07 15:38:03 +02:00
8f078e580e Include type in BoundVariableKey for debugging purposes
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-07 15:33:26 +02:00
629adafeaf Include Userdata string key in userdata object for debugging 2019-09-07 15:22:24 +02:00
bd054b1077 Fixed right hand in Logical And operation being evaluated when left hand was false
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-07 13:52:44 +02:00
fab2c9eabd Require explicit inequality as well as equality operators on evalvalues 2019-09-07 13:28:25 +02:00
d8c67f2dde Even better exception handling when we can't index an evalvalue 2019-09-07 13:21:35 +02:00
2e1bdcf3a4 Better error handling when unable to index an eval value
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-07 13:04:42 +02:00
5c63b15ab7 Display whether an assignment is to a local or global variable 2019-09-07 12:48:17 +02:00
dd98a34b63 Fixed missing endlines between parameters in function calls 2019-09-07 12:32:42 +02:00
1235e8893f Fixes trailing endline in numerical table to string 2019-09-07 12:30:30 +02:00
da4258506e Support for retrieving bound tree string from script objecsts
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-07 12:12:37 +02:00
acc687f213 Cleanup of main script type class 2019-09-07 11:16:12 +02:00
5d700aa0e9 Greatly simplify handling numerical eval values, using std::variant
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-07 10:57:09 +02:00
7b5d03ed74 Tests for debug strings for many expressions
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-05 17:55:00 +02:00
f547715842 Fixes and tests for function declaration to string 2019-09-05 16:41:12 +02:00
256969e912 Some fixes for statements to string, added more tests
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-05 12:22:10 +02:00
fb142c7f25 Fixed Windows issue
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-05 10:59:01 +02:00
b6b1496e82 Hopefully resolve Windows issue with symver attributes
Some checks failed
continuous-integration/drone/push Build is failing
2019-09-02 20:58:18 +02:00