Commit Graph

255 Commits

Author SHA1 Message Date
Deukhoofd a32b76d904
Fixed error string from userdata return values not persisting long enough.
continuous-integration/drone/push Build is passing Details
2019-09-28 13:35:32 +02:00
Deukhoofd f8cbe502c9
Better handling of userdata exceptions in other languages.
continuous-integration/drone/push Build is passing Details
2019-09-28 13:08:32 +02:00
Deukhoofd e7e5e64bbb
Separate userdata collection handling 2019-09-28 12:03:50 +02:00
Deukhoofd 30d82085cc
Implements exponent and modulus operators 2019-09-22 17:38:17 +02:00
Deukhoofd de39464b33
Fixed not being able to set to a string indexed userdata value. 2019-09-22 17:09:14 +02:00
Deukhoofd eacdb8a593
Add information about whether we know a numeric script type is a float in GetBoundTreeString() 2019-09-22 16:46:31 +02:00
Deukhoofd 7bca80092d
Dont evaluate right hand side of Logical Or if left hand is true. 2019-09-22 16:30:56 +02:00
Deukhoofd 256244eabb
Fixes for setting to tables not working properly
continuous-integration/drone/push Build is passing Details
2019-09-22 15:20:22 +02:00
Deukhoofd 62be1c78f3
Allow nil to be set to nullable types 2019-09-22 15:19:58 +02:00
Deukhoofd 2cd787c536
Support "next" statement, skipping the remainder of the loop block.
continuous-integration/drone/push Build is passing Details
2019-09-22 13:49:37 +02:00
Deukhoofd f4277d47c3
extern C entry point to check if NumericEvalValue is float or int
continuous-integration/drone/push Build is passing Details
2019-09-22 13:30:25 +02:00
Deukhoofd 8dcf31cb40
Extern support for getting data from Table EvalValues
continuous-integration/drone/push Build is passing Details
2019-09-22 11:11:22 +02:00
Deukhoofd 74d23530a1
Speed up parser by allocating more space for its statements initially.
continuous-integration/drone/push Build is passing Details
2019-09-21 09:52:22 +02:00
Deukhoofd 0d59a1d029
Speed up lexer by allocating more space for its tokens initially. 2019-09-20 18:51:31 +02:00
Deukhoofd 0763ebbad0
Dont allow setting to a userdata field if it has no setter 2019-09-20 18:15:48 +02:00
Deukhoofd 99c91164be
Fixed issue where attempting setting to a non existing field on userdata would crash.
continuous-integration/drone/push Build is passing Details
2019-09-19 15:27:31 +02:00
Deukhoofd 8c13c2c84c
Fix issues with casting when type is the same.
continuous-integration/drone/push Build is passing Details
2019-09-19 14:54:18 +02:00
Deukhoofd a7fee1437c
Add missing switch statement for Count unary operation to string
continuous-integration/drone/push Build is passing Details
2019-09-19 13:28:32 +02:00
Deukhoofd 24923deed0
Fixes and improvements for new table system
continuous-integration/drone/push Build is passing Details
2019-09-19 11:28:00 +02:00
Deukhoofd 6c6d977000
Union with shared_ptr caused a memory leak. Prevent this using std::variant 2019-09-19 11:02:59 +02:00
Deukhoofd 458274f370
Large rework of tables
continuous-integration/drone/push Build is failing Details
2019-09-15 13:08:11 +02:00
Deukhoofd e89782f921
Make numerical table type countable 2019-09-14 13:20:00 +02:00
Deukhoofd 98b605a18b
Fixes for implicit casting when assigning variables 2019-09-14 11:44:43 +02:00
Deukhoofd 54778adf82
Allow variables be assigned to other types if they are implicitly castable
continuous-integration/drone/push Build is passing Details
2019-09-14 11:14:50 +02:00
Deukhoofd 9520b98f2e
Better handling of return followed by end keyword 2019-09-14 11:05:10 +02:00
Deukhoofd e75d13f509
Fixed return followed by end keyword log an error
continuous-integration/drone/push Build is passing Details
2019-09-14 10:45:32 +02:00
Deukhoofd 12c55a12ba
Cleanup of Parsed Expression classes
continuous-integration/drone/push Build is passing Details
2019-09-14 10:39:31 +02:00
Deukhoofd b462c1b873
Fixes empty script returning segmentation fault 2019-09-14 10:35:32 +02:00
Deukhoofd 45d3bc690b
Extern C support for registering function overloads
continuous-integration/drone/push Build is passing Details
2019-09-14 10:19:56 +02:00
Deukhoofd 3a9f1f976a
Fix modules without return type throwing segmentation fault
continuous-integration/drone/push Build is passing Details
2019-09-12 21:50:48 +02:00
Deukhoofd 80f3af22ac
Fix single item numerical tables being parsed as complex tables 2019-09-12 20:57:53 +02:00
Deukhoofd 0266b3c616
Better error handling for extern functions that retrieve userdata 2019-09-12 20:42:18 +02:00
Deukhoofd bae3e92577
Better error handling when variable is not found
continuous-integration/drone/push Build is passing Details
2019-09-12 18:25:18 +02:00
Deukhoofd 73142afa8a
Support for length unary operator
continuous-integration/drone/push Build is passing Details
2019-09-12 18:19:06 +02:00
Deukhoofd bd9eac9056
Better diagnostics for CantIndex error message
continuous-integration/drone/push Build is passing Details
2019-09-12 17:16:11 +02:00
Deukhoofd 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
Deukhoofd bd343c1b7e
Allows userdata binary operations to be set externally
continuous-integration/drone/push Build is passing Details
2019-09-12 15:21:10 +02:00
Deukhoofd b94c811e94
Support Any type in function parameters
continuous-integration/drone/push Build is passing Details
2019-09-12 13:26:59 +02:00
Deukhoofd eca0c6b075
Work on userdata binary operations
continuous-integration/drone/push Build encountered an error Details
2019-09-08 13:53:24 +02:00
Deukhoofd 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
Deukhoofd 8f078e580e
Include type in BoundVariableKey for debugging purposes
continuous-integration/drone/push Build is passing Details
2019-09-07 15:33:26 +02:00
Deukhoofd 629adafeaf
Include Userdata string key in userdata object for debugging 2019-09-07 15:22:24 +02:00
Deukhoofd bd054b1077
Fixed right hand in Logical And operation being evaluated when left hand was false
continuous-integration/drone/push Build is passing Details
2019-09-07 13:52:44 +02:00
Deukhoofd fab2c9eabd
Require explicit inequality as well as equality operators on evalvalues 2019-09-07 13:28:25 +02:00
Deukhoofd d8c67f2dde
Even better exception handling when we can't index an evalvalue 2019-09-07 13:21:35 +02:00
Deukhoofd 2e1bdcf3a4
Better error handling when unable to index an eval value
continuous-integration/drone/push Build is passing Details
2019-09-07 13:04:42 +02:00
Deukhoofd 5c63b15ab7
Display whether an assignment is to a local or global variable 2019-09-07 12:48:17 +02:00
Deukhoofd dd98a34b63
Fixed missing endlines between parameters in function calls 2019-09-07 12:32:42 +02:00
Deukhoofd 1235e8893f
Fixes trailing endline in numerical table to string 2019-09-07 12:30:30 +02:00
Deukhoofd da4258506e
Support for retrieving bound tree string from script objecsts
continuous-integration/drone/push Build is passing Details
2019-09-07 12:12:37 +02:00