Commit Graph

90 Commits

Author SHA1 Message Date
Deukhoofd 30d82085cc
Implements exponent and modulus operators 2019-09-22 17:38:17 +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 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 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 80f3af22ac
Fix single item numerical tables being parsed as complex tables 2019-09-12 20:57:53 +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 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 e0941a9db8
Handle comments 2019-09-01 20:18:32 +02:00
Deukhoofd cf1daf7805
Handle nil keyword
continuous-integration/drone/push Build is failing Details
2019-09-01 16:16:36 +02:00
Deukhoofd b2ee008ba2
Fix Windows version not allowing us to change GLIBC version for functions
continuous-integration/drone/push Build is failing Details
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 Details
2019-08-25 17:58:57 +02:00
Deukhoofd 4c97a7c811
Handling for when userdata is not defined yet, but might be defined later
continuous-integration/drone/push Build is passing Details
2019-08-25 11:53:37 +02:00
Deukhoofd 18ffe00bc4
Fix SIGSEV with malformed functions 2019-08-24 13:54:01 +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 Details
2019-08-18 15:44:55 +02:00
Deukhoofd 2d4d3d8856
Apparently Windows does not handle 'long' the same as Unix.
continuous-integration/drone/push Build is passing Details
2019-08-18 10:30:58 +02:00
Deukhoofd 1f3ab9243e
Cleaned up tokens 2019-07-28 12:19:45 +02:00
Deukhoofd e2a0c35992
Large cleanup
continuous-integration/drone/push Build was killed Details
2019-07-25 17:23:54 +02:00
Deukhoofd 32836c6c58
Make a lot of one-liner functions inline
continuous-integration/drone/push Build is failing Details
2019-07-04 19:08:13 +02:00
Deukhoofd bb0a6aba19
General cleanup
continuous-integration/drone/push Build is passing Details
2019-07-04 18:24:49 +02:00
Deukhoofd 0446c1098b
Implements toint function
continuous-integration/drone/push Build is passing Details
2019-07-04 17:18:07 +02:00
Deukhoofd df79489d4d
Implements while loop
continuous-integration/drone/push Build is passing Details
2019-06-28 13:28:39 +02:00
Deukhoofd 3367e60ae5
Support break statements
continuous-integration/drone/push Build is passing Details
2019-06-27 15:55:46 +02:00
Deukhoofd d86e9ba8ae
Implemented generic for loops
continuous-integration/drone/push Build is passing Details
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 Details
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 Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 13:38:41 +02:00
Deukhoofd e472dcec1c
Implements numeric for loops
continuous-integration/drone/push Build is passing Details
2019-06-22 17:35:33 +02:00
Deukhoofd 6f7d319148
Don't parse expression on different line from return keyword
continuous-integration/drone/push Build is passing Details
2019-06-19 16:21:21 +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 Details
2019-06-19 13:33:01 +02:00
Deukhoofd 8541085b27
Added support for full error messages
continuous-integration/drone/push Build is passing Details
2019-06-18 19:56:47 +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 Details
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 Details
2019-06-17 15:45:33 +02:00
Deukhoofd 90ec4766c3
Support unicode as variables
continuous-integration/drone/push Build is passing Details
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 Details
2019-06-15 17:20:27 +02:00
Deukhoofd a9def6c539
Implements setting table values
continuous-integration/drone/push Build is failing Details
2019-06-14 17:12:27 +02:00
Deukhoofd eb57a46b0b
Fix tests
continuous-integration/drone/push Build is failing Details
2019-06-13 19:10:22 +02:00
Deukhoofd 3e00f750ef
Make Lexer use constant Tokens
continuous-integration/drone/push Build is failing Details
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 601c4a3f89
Always pass the script string around by reference 2019-06-13 17:37:23 +02:00
Deukhoofd c022c91777
Implements complex tables
continuous-integration/drone/push Build is passing Details
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 Details
2019-06-09 20:15:09 +02:00
Deukhoofd ec2419bc7d
Minor cleanup of Parser 2019-06-09 12:48:14 +02:00
Deukhoofd d385a9e3ee
Fix parametered functions skipping a token 2019-06-08 16:30:23 +02:00
Deukhoofd 7ed53193de
Make functions be able to call themselves
continuous-integration/drone/push Build is failing Details
2019-06-08 16:02:21 +02:00
Deukhoofd 7d75131822
Implemented comparison equality operators 2019-06-08 15:38:08 +02:00