Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd 8dcf31cb40 Extern support for getting data from Table EvalValues
continuous-integration/drone/push Build is passing
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
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
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
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
2019-09-19 13:28:32 +02:00
Deukhoofd 454c0c581d Fixes setting CMAKE_C_COMPILER flag being ignored
continuous-integration/drone/push Build is passing
2019-09-19 12:29:56 +02:00
Deukhoofd 4eea5a7007 Use Clang as default compiler
continuous-integration/drone/push Build is failing
2019-09-19 12:00:48 +02:00
Deukhoofd 24923deed0 Fixes and improvements for new table system
continuous-integration/drone/push Build is passing
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
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
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
2019-09-14 10:45:32 +02:00
Deukhoofd 12c55a12ba Cleanup of Parsed Expression classes
continuous-integration/drone/push Build is passing
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
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
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
2019-09-12 18:25:18 +02:00
Deukhoofd 73142afa8a Support for length unary operator
continuous-integration/drone/push Build is passing
2019-09-12 18:19:06 +02:00
Deukhoofd bd9eac9056 Better diagnostics for CantIndex error message
continuous-integration/drone/push Build is passing
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
2019-09-12 15:21:10 +02:00
Deukhoofd b94c811e94 Support Any type in function parameters
continuous-integration/drone/push Build is passing
2019-09-12 13:26:59 +02:00
Deukhoofd eca0c6b075 Work on userdata binary operations
continuous-integration/drone/push Build encountered an error
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
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
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
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
2019-09-07 12:12:37 +02:00
Deukhoofd acc687f213 Cleanup of main script type class 2019-09-07 11:16:12 +02:00
Deukhoofd 5d700aa0e9 Greatly simplify handling numerical eval values, using std::variant
continuous-integration/drone/push Build is passing
2019-09-07 10:57:09 +02:00
Deukhoofd 7b5d03ed74 Tests for debug strings for many expressions
continuous-integration/drone/push Build is passing
2019-09-05 17:55:00 +02:00
Deukhoofd f547715842 Fixes and tests for function declaration to string 2019-09-05 16:41:12 +02:00
Deukhoofd 256969e912 Some fixes for statements to string, added more tests
continuous-integration/drone/push Build is passing
2019-09-05 12:22:10 +02:00
Deukhoofd fb142c7f25 Fixed Windows issue
continuous-integration/drone/push Build is passing
2019-09-05 10:59:01 +02:00
Deukhoofd b6b1496e82 Hopefully resolve Windows issue with symver attributes
continuous-integration/drone/push Build is failing
2019-09-02 20:58:18 +02:00
Deukhoofd 8bdc1ccfc7 Fixed memory leak in test cases
continuous-integration/drone/push Build was killed
2019-09-02 20:49:45 +02:00
Deukhoofd d21cfeaac8 Added support for creating a string outline of a bound script for debugging purposes
continuous-integration/drone/push Build was killed
2019-09-02 20:48:52 +02:00
Deukhoofd e0941a9db8 Handle comments 2019-09-01 20:18:32 +02:00
Deukhoofd 0e9c9abf7c Implements unknown types
continuous-integration/drone/push Build is failing
2019-09-01 20:07:09 +02:00
Deukhoofd 01e5441d62 Make nil equivalent type to string and userdata
continuous-integration/drone/push Build is failing
2019-09-01 17:10:03 +02:00
Deukhoofd 2fbe1fdf09 Dont use cached version of NumericScriptType with extern, this causes issues
continuous-integration/drone/push Build is failing
2019-09-01 16:51:26 +02:00
Deukhoofd cf1daf7805 Handle nil keyword
continuous-integration/drone/push Build is failing
2019-09-01 16:16:36 +02:00
Deukhoofd a3e77f650a Improved performance when binding by reusing many common scripttype objects
continuous-integration/drone/push Build is failing
2019-09-01 15:35:45 +02:00
Deukhoofd 79873d9d6a Support for setting userdata casting handling 2019-09-01 13:35:13 +02:00
Deukhoofd b2ee008ba2 Fix Windows version not allowing us to change GLIBC version for functions
continuous-integration/drone/push Build is failing
2019-08-25 18:22:32 +02:00
Deukhoofd b3eee4e89a Enforce older versions of libm for several math libraries to ensure compatibility
continuous-integration/drone/push Build is failing
2019-08-25 17:58:57 +02:00
Deukhoofd f5bfd9c710 Extern C support for creating NilEvalValue
continuous-integration/drone/push Build is passing
2019-08-25 12:38:36 +02:00
Deukhoofd 4c97a7c811 Handling for when userdata is not defined yet, but might be defined later
continuous-integration/drone/push Build is passing
2019-08-25 11:53:37 +02:00
Deukhoofd 5b7da77027 Improvements for extern C scriptoptions calling
continuous-integration/drone/push Build is failing
2019-08-24 18:52:11 +02:00
Deukhoofd df755fcdd3 General fixes for ScriptOptions 2019-08-24 16:11:09 +02:00
Deukhoofd e913f8d052 Allow passing custom scriptoptions 2019-08-24 15:12:09 +02:00
Deukhoofd 1fcde396c3 Added mutex locks on static variables such as static scope and userdata, that could be shared around threads 2019-08-24 15:11:53 +02:00
Deukhoofd 18ffe00bc4 Fix SIGSEV with malformed functions 2019-08-24 13:54:01 +02:00
Deukhoofd 8103099287 Add extern C function to clone scripts 2019-08-21 10:34:10 +02:00
Deukhoofd faa3000d95 Fixed issue where an indexer followed by a binary operator would ignore the binary
continuous-integration/drone/push Build is passing
2019-08-18 15:44:55 +02:00
Deukhoofd b4897c77ec Adds localized error messages 2019-08-18 15:29:52 +02:00
Deukhoofd 184ef8ec9a Added extern C support for registering static variables 2019-08-18 15:09:44 +02:00
Deukhoofd e939920e5c Support for explicit casting
continuous-integration/drone/push Build is passing
2019-08-18 14:32:14 +02:00
Deukhoofd 1d72e2eccd Better handling of casting
continuous-integration/drone/push Build is passing
2019-08-18 13:17:53 +02:00
Deukhoofd 0fde3d46df Initial work on implicit casting when calling a function
continuous-integration/drone/push Build is passing
2019-08-18 12:13:13 +02:00
Deukhoofd 61d89bd21b Massively reduce Windows build size (~90% reduction in size)
continuous-integration/drone/push Build is passing
2019-08-18 10:57:34 +02:00
Deukhoofd 2d4d3d8856 Apparently Windows does not handle 'long' the same as Unix.
continuous-integration/drone/push Build is passing
2019-08-18 10:30:58 +02:00
Deukhoofd 86d6d5a9cb Enforce 64 bit for Windows test
continuous-integration/drone/push Build is failing
2019-08-17 18:58:43 +02:00
Deukhoofd e9a3a6b391 Tweak approx of math.log test to handle different architectures
continuous-integration/drone/push Build was killed
2019-08-17 18:54:38 +02:00
Deukhoofd 7675af62de Fully implements math library
continuous-integration/drone/push Build is failing
2019-08-17 18:29:02 +02:00
Deukhoofd 5e96250d96 Implements initial math library, several reworks for Userdata memory management
continuous-integration/drone/push Build is passing
2019-08-17 14:42:48 +02:00
Deukhoofd 13b382def2 Implements most of the remaining core standard functions
continuous-integration/drone/push Build is passing
2019-08-15 18:12:29 +02:00
Deukhoofd 7523fb4294 Extern support for creating iterators
continuous-integration/drone/push Build is passing
2019-08-15 16:58:16 +02:00
Deukhoofd 0d30d788e9 Extern support for getting a userdata type by hash id
continuous-integration/drone/push Build is passing
2019-08-15 16:42:18 +02:00
Deukhoofd 8e64da15a0 Extern support for creating userdata collections 2019-08-15 15:01:27 +02:00
Deukhoofd 5b3bc26bdb Fixed tests not passing due to 1-indexed system vs 0-indexed thinking
continuous-integration/drone/push Build is passing
2019-08-15 11:53:40 +02:00
Deukhoofd 471dbac3b9 Implements iterator for user data collection
continuous-integration/drone/push Build is failing
2019-08-15 11:43:08 +02:00
Deukhoofd 5387cd15ff Fix windows build using wrong directory
continuous-integration/drone/push Build is passing
2019-08-11 16:49:07 +02:00
Deukhoofd 36a7fd6739 Fixes for CI
continuous-integration/drone/push Build is failing
2019-08-11 16:35:33 +02:00
Deukhoofd ece9c1f5eb Support for Windows builds
continuous-integration/drone/push Build is failing
2019-08-11 16:05:14 +02:00
Deukhoofd 641b6784c7 Support for loading variables from module with require
continuous-integration/drone/push Build is failing
2019-08-11 12:32:18 +02:00
Deukhoofd c39f3a0884 Initial support for require statements
continuous-integration/drone/push Build is failing
2019-08-10 16:45:15 +02:00
Deukhoofd 2f912afe92 Setup for making script options non global if desired
continuous-integration/drone/push Build is passing
2019-08-10 11:55:45 +02:00
Deukhoofd bbda668b3e Fixed build issues
continuous-integration/drone/push Build is passing
2019-07-28 19:20:28 +02:00
Deukhoofd f2cb8d4016 Fix memory leak when setting in UserDataCollection
continuous-integration/drone/push Build is failing
2019-07-28 19:03:13 +02:00
Deukhoofd 4b5672e3f5 Implements handling of userdata collection items
continuous-integration/drone/push Build was killed
2019-07-28 19:01:07 +02:00
Deukhoofd bbcebffefd Moved ScriptType classes into separate directory
continuous-integration/drone/push Build is passing
2019-07-28 12:58:38 +02:00
Deukhoofd 3b344d6d72 Improve performance of cloning StringEvalValue
continuous-integration/drone/push Build is passing
2019-07-28 12:33:14 +02:00
Deukhoofd 1f3ab9243e Cleaned up tokens 2019-07-28 12:19:45 +02:00
Deukhoofd faa9300132 More performant lookup for line number 2019-07-28 12:14:10 +02:00
Deukhoofd 2b248101d5 Better handling of exceptions for extern usage
continuous-integration/drone/push Build is passing
2019-07-27 19:45:15 +02:00
Deukhoofd 586dd994e2 Fix annoying build warnings
continuous-integration/drone/push Build is passing
2019-07-27 18:47:29 +02:00