Commit Graph

40 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 0d59a1d029
Speed up lexer by allocating more space for its tokens initially. 2019-09-20 18:51:31 +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 e0941a9db8
Handle comments 2019-09-01 20:18:32 +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 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 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 0446c1098b
Implements toint function
continuous-integration/drone/push Build is passing Details
2019-07-04 17:18:07 +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 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 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 3e00f750ef
Make Lexer use constant Tokens
continuous-integration/drone/push Build is failing Details
2019-06-13 18:49:38 +02:00
Deukhoofd 601c4a3f89
Always pass the script string around by reference 2019-06-13 17:37:23 +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 7d75131822
Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
Deukhoofd 7f73bf07d2
Create new string in Lexer when not passed by reference
continuous-integration/drone/push Build is failing Details
2019-06-06 20:07:55 +02:00
Deukhoofd b275e1fbd6
Added basics for lexing index expressions 2019-06-05 21:01:59 +02:00
Deukhoofd d49692a17e
Minor optimizations in lexer 2019-06-05 19:11:56 +02:00
Deukhoofd c407ba2f50
Implements parsing function declarations 2019-05-31 15:00:14 +02:00
Deukhoofd 9131fbfee7
Implements inequality token 2019-05-25 14:17:52 +02:00
Deukhoofd b2fa857c9b
Fix memory leak related to lexer skipping whitespace. 2019-05-24 19:18:03 +02:00
Deukhoofd 6eb005ab3f
Lex Strings 2019-05-22 13:24:28 +02:00
Deukhoofd 23991ab2ea
Improved performance for lexing identifiers/keywords 2019-05-22 12:41:08 +02:00
Deukhoofd aec07bd29a
Adds support for parenthesized expressions 2019-05-21 17:16:53 +02:00
Deukhoofd ae25598864
Expanded on diagnostics, make whitespace completely ignored 2019-05-21 15:11:00 +02:00
Deukhoofd 8f2f122215
Make Diagnostics usage a pointer 2019-05-21 14:15:39 +02:00
Deukhoofd 2b35da3a7b
Add support for diagnostics 2019-05-21 13:56:08 +02:00
Deukhoofd 7edd51d5e3
Save position and length of tokens 2019-05-19 16:11:16 +02:00
Deukhoofd 608a579f19
Adds \v and \f as whitespace characters 2019-05-19 15:28:45 +02:00
Deukhoofd 06fe0e7c4c
Added lexing support for identifiers and keywords 2019-05-19 14:26:21 +02:00
Deukhoofd 8285811fb7
Add a couple more characters to lex 2019-05-19 12:49:26 +02:00
Deukhoofd 600315d401
Dont consume the character immediately following a number 2019-05-19 12:20:08 +02:00
Deukhoofd 22e450e7e7
Initial commit, adds very basic Lexing 2019-05-18 20:35:51 +02:00