Commit Graph
79 Commits
Author SHA1 Message Date
Deukhoofd e2a0c35992 Large cleanup
continuous-integration/drone/push Build was killed
2019-07-25 17:23:54 +02:00
Deukhoofd 40e45b0112 Fixed infinite loop in diagnostics
continuous-integration/drone/push Build is passing
2019-07-21 12:03:56 +02:00
Deukhoofd 32836c6c58 Make a lot of one-liner functions inline
continuous-integration/drone/push Build is failing
2019-07-04 19:08:13 +02:00
Deukhoofd 0446c1098b Implements toint function
continuous-integration/drone/push Build is passing
2019-07-04 17:18:07 +02:00
Deukhoofd 5e02b6b389 Cleans up basic library handling, implements print function
continuous-integration/drone/push Build is passing
2019-07-04 15:56:42 +02:00
Deukhoofd db2d731b06 Implements support for functions with the same name, but different parameters
continuous-integration/drone/push Build is passing
2019-06-29 19:59:42 +02:00
Deukhoofd 24c560b52d Initial work on standard library
continuous-integration/drone/push Build is passing
2019-06-29 16:18:59 +02:00
Deukhoofd ecfc1ae3b7 Cleaner way to define userdata templates
continuous-integration/drone/push Build is passing
2019-06-28 23:38:47 +02:00
Deukhoofd eda15e501d Better handling of creating EvalValues in UserData templates
continuous-integration/drone/push Build is passing
2019-06-28 18:31:24 +02:00
Deukhoofd 70f2dea0ce Some tweaks to the userdata templates
continuous-integration/drone/push Build is passing
2019-06-28 17:53:37 +02:00
Deukhoofd 88ea4ed8cd Template helpers to help define UserData types
continuous-integration/drone/push Build is passing
2019-06-28 17:02:38 +02:00
Deukhoofd df79489d4d Implements while loop
continuous-integration/drone/push Build is passing
2019-06-28 13:28:39 +02:00
Deukhoofd 3367e60ae5 Support break statements
continuous-integration/drone/push Build is passing
2019-06-27 15:55:46 +02:00
Deukhoofd 9727c9365e Reworked handling of numerical key tables to make iteration over keys actual numerics, instead of strings
continuous-integration/drone/push Build is passing
2019-06-27 14:02:31 +02:00
Deukhoofd d86e9ba8ae Implemented generic for loops
continuous-integration/drone/push Build is passing
2019-06-26 16:19:34 +02:00
Deukhoofd 48224afe45 Reduce amount of copies for HashedString for improved performance
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-25 15:18:36 +02:00
Deukhoofd 021750a135 Fix all valgrind leak issues in tests
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 13:38:41 +02:00
Deukhoofd 76b8ba3ebc Initial work on iterators, rework of variable handling by including actual string
continuous-integration/drone/push Build is failing
2019-06-23 15:58:14 +02:00
Deukhoofd e472dcec1c Implements numeric for loops
continuous-integration/drone/push Build is passing
2019-06-22 17:35:33 +02:00
Deukhoofd 694b0ac0c0 Work on extern support for userdata functions
continuous-integration/drone/push Build is passing
2019-06-21 23:07:17 +02:00
Deukhoofd 95c322ed2c Implements userdata function support
continuous-integration/drone/push Build is failing
2019-06-21 17:03:13 +02:00
Deukhoofd 6f7d319148 Don't parse expression on different line from return keyword
continuous-integration/drone/push Build is passing
2019-06-19 16:21:21 +02:00
Deukhoofd b76548da16 Cache diagnostic message for easier access, and better extern C handling
continuous-integration/drone/push Build is passing
2019-06-19 15:49:44 +02:00
Deukhoofd 7958576b6a Create entry point to get diagnostic string message
continuous-integration/drone/push Build is passing
2019-06-19 13:37:39 +02:00
Deukhoofd 6bcedaf743 Add backslash to invalid control character error, made pretty error messages use 1-based line index
continuous-integration/drone/push Build is passing
2019-06-19 13:33:01 +02:00
Deukhoofd 8541085b27 Added support for full error messages
continuous-integration/drone/push Build is passing
2019-06-18 19:56:47 +02:00
Deukhoofd dc35ba4698 Support getting line for diagnostic 2019-06-18 17:14:18 +02:00
Deukhoofd e07d5cb7cb Move Diagnostics to separate namespace 2019-06-18 16:39:36 +02:00
Deukhoofd fde102d954 Added namespaces to most classes, general cleanup
continuous-integration/drone/push Build is failing
2019-06-17 18:35:12 +02:00
Deukhoofd d91caa7f32 Implements indexing with period identifier style (`foo.bar`)
continuous-integration/drone/push Build is passing
2019-06-17 15:45:33 +02:00
Deukhoofd 90ec4766c3 Support unicode as variables
continuous-integration/drone/push Build is passing
2019-06-15 17:51:10 +02:00
Deukhoofd 3dc67ec8a0 Move Lexer to u16string handling, for unicode support
continuous-integration/drone/push Build is passing
2019-06-15 17:20:27 +02:00
Deukhoofd 2c313791d9 Ensure memory is handled properly with userdata
continuous-integration/drone/push Build is passing
2019-06-14 17:35:05 +02:00
Deukhoofd 3217fd1479 Fix for release builds deleting lexer test script strings before being finished with it
continuous-integration/drone/push Build is passing
2019-06-14 17:20:33 +02:00
Deukhoofd a9def6c539 Implements setting table values
continuous-integration/drone/push Build is failing
2019-06-14 17:12:27 +02:00
Deukhoofd 996b5be496 Implements basics for UserData 2019-06-14 14:59:38 +02:00
Deukhoofd 831dbe6917 Fix Lexer tests losing reference
continuous-integration/drone/push Build is failing
2019-06-13 19:21:22 +02:00
Deukhoofd 3e00f750ef Make Lexer use constant Tokens
continuous-integration/drone/push Build is failing
2019-06-13 18:49:38 +02:00
Deukhoofd 5910cbbfa9 Make parsed statements constant during binding 2019-06-13 18:14:59 +02:00
Deukhoofd 1cb65f17c9 Work on performance improvements
continuous-integration/drone/push Build is passing
2019-06-13 16:26:10 +02:00
Deukhoofd 22149d9243 Fixes for return statement, make Evaluate function on script return value
continuous-integration/drone/push Build was killed
2019-06-12 18:45:47 +02:00
Deukhoofd 3477ddd18c Rework function evaluation scope to handle tables
continuous-integration/drone/push Build is passing
2019-06-12 17:56:47 +02:00
Deukhoofd c022c91777 Implements complex tables
continuous-integration/drone/push Build is passing
2019-06-12 15:19:28 +02:00
Deukhoofd ba4fe888fa Pass parsed block statements as reference instead of value 2019-06-11 14:58:43 +02:00
Deukhoofd 081def0be0 Implements basic numerical tables
continuous-integration/drone/push Build is passing
2019-06-09 20:15:09 +02:00
Deukhoofd 471632c6e4 Rework of evaluation variable handling, to account for functions having branching variable states
continuous-integration/drone/push Build is passing
2019-06-08 18:33:56 +02:00
Deukhoofd 7ed53193de Make functions be able to call themselves
continuous-integration/drone/push Build is failing
2019-06-08 16:02:21 +02:00
Deukhoofd 7d75131822 Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
Deukhoofd e233616b8e Implements if, elseif and else statements
continuous-integration/drone/push Build is passing
2019-06-08 14:25:15 +02:00
Deukhoofd f4a3918947 Implements return statement
continuous-integration/drone/push Build is passing
2019-06-07 15:23:13 +02:00