Commit Graph

52 Commits

Author SHA1 Message Date
b462c1b873 Fixes empty script returning segmentation fault 2019-09-14 10:35:32 +02:00
80f3af22ac Fix single item numerical tables being parsed as complex tables 2019-09-12 20:57:53 +02:00
73142afa8a Support for length unary operator
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-12 18:19:06 +02:00
cf1daf7805 Handle nil keyword
Some checks failed
continuous-integration/drone/push Build is failing
2019-09-01 16:16:36 +02:00
4c97a7c811 Handling for when userdata is not defined yet, but might be defined later
All checks were successful
continuous-integration/drone/push Build is passing
2019-08-25 11:53:37 +02:00
18ffe00bc4 Fix SIGSEV with malformed functions 2019-08-24 13:54:01 +02:00
faa3000d95 Fixed issue where an indexer followed by a binary operator would ignore the binary
All checks were successful
continuous-integration/drone/push Build is passing
2019-08-18 15:44:55 +02:00
e2a0c35992 Large cleanup
Some checks reported errors
continuous-integration/drone/push Build was killed
2019-07-25 17:23:54 +02:00
32836c6c58 Make a lot of one-liner functions inline
Some checks failed
continuous-integration/drone/push Build is failing
2019-07-04 19:08:13 +02:00
bb0a6aba19 General cleanup
All checks were successful
continuous-integration/drone/push Build is passing
2019-07-04 18:24:49 +02:00
df79489d4d Implements while loop
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-28 13:28:39 +02:00
3367e60ae5 Support break statements
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-27 15:55:46 +02:00
d86e9ba8ae Implemented generic for loops
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-26 16:19:34 +02:00
021750a135 Fix all valgrind leak issues in tests
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 13:38:41 +02:00
e472dcec1c Implements numeric for loops
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-22 17:35:33 +02:00
6f7d319148 Don't parse expression on different line from return keyword
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-19 16:21:21 +02:00
e07d5cb7cb Move Diagnostics to separate namespace 2019-06-18 16:39:36 +02:00
fde102d954 Added namespaces to most classes, general cleanup
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-17 18:35:12 +02:00
d91caa7f32 Implements indexing with period identifier style (`foo.bar`)
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-17 15:45:33 +02:00
a9def6c539 Implements setting table values
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-14 17:12:27 +02:00
eb57a46b0b Fix tests
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 19:10:22 +02:00
3e00f750ef Make Lexer use constant Tokens
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-13 18:49:38 +02:00
5910cbbfa9 Make parsed statements constant during binding 2019-06-13 18:14:59 +02:00
c022c91777 Implements complex tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-12 15:19:28 +02:00
ba4fe888fa Pass parsed block statements as reference instead of value 2019-06-11 14:58:43 +02:00
081def0be0 Implements basic numerical tables
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-09 20:15:09 +02:00
ec2419bc7d Minor cleanup of Parser 2019-06-09 12:48:14 +02:00
d385a9e3ee Fix parametered functions skipping a token 2019-06-08 16:30:23 +02:00
7ed53193de Make functions be able to call themselves
Some checks failed
continuous-integration/drone/push Build is failing
2019-06-08 16:02:21 +02:00
7d75131822 Implemented comparison equality operators 2019-06-08 15:38:08 +02:00
fc66c15c2f Fixed issue where function declarations without parameters would cause errors
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 14:42:23 +02:00
a2263535d9 Fixed issue where function parser keeps consuming tokens and causes out of range exceptions 2019-06-08 14:40:21 +02:00
ed6fbdbef0 Fix wrong block statements consuming EOF token, causing a nullptr exception 2019-06-08 14:27:24 +02:00
e233616b8e Implements if, elseif and else statements
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-08 14:25:15 +02:00
f4a3918947 Implements return statement
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-07 15:23:13 +02:00
cb5d9e2f62 Implements indexing, currently can only be used with strings 2019-06-06 17:35:51 +02:00
b275e1fbd6 Added basics for lexing index expressions 2019-06-05 21:01:59 +02:00
6206fef4c5 Rework evaluation to use shared pointers, fix bugs 2019-06-01 21:38:39 +02:00
8b70eed516 Implements parsing of function calling 2019-06-01 14:56:28 +02:00
c407ba2f50 Implements parsing function declarations 2019-05-31 15:00:14 +02:00
6fad5a0a7d Implements variable usage, tweaks and fixes for variable assignment 2019-05-30 15:23:48 +02:00
dbd7dfdd73 Implements assignment parsing 2019-05-26 14:20:40 +02:00
9131fbfee7 Implements inequality token 2019-05-25 14:17:52 +02:00
57cd3efec9 Parse and bind strings 2019-05-22 13:29:35 +02:00
2fe6f570ec Properly clear up memory of parsed results 2019-05-21 18:36:31 +02:00
1e5cd010a1 Initial layout for binder 2019-05-21 18:09:08 +02:00
aec07bd29a Adds support for parenthesized expressions 2019-05-21 17:16:53 +02:00
ae25598864 Expanded on diagnostics, make whitespace completely ignored 2019-05-21 15:11:00 +02:00
8f2f122215 Make Diagnostics usage a pointer 2019-05-21 14:15:39 +02:00
99f50b6471 Add support for diagnostics to parser 2019-05-21 14:06:35 +02:00