Commit graph

144 commits

Author SHA1 Message Date
Erin fa63fda7f8 Obeyed clippy 2021-07-29 23:22:38 +02:00
Erin 35ddf85a92 removed unused enum variant 2021-07-29 23:04:04 +02:00
Erin 281fc9c635 Added history (session based) 2021-07-29 22:48:36 +02:00
Erin d1146824f8 Added carts tests 2021-07-29 22:39:28 +02:00
Alex Bethel 8570f495f5 Get carts sort of working
still a bunch of `todo`s and needs a lot of work, but I'm hungry and
going on lunch break :)
2021-07-29 13:29:23 -05:00
Erin 754ad496af Nest the loop inside a match arm 2021-07-29 19:17:10 +02:00
Erin 50be7ca556 Added cart parsing 2021-07-29 18:58:11 +02:00
Erin 68d0b8d334 Not fails on cart contruction parsing, does nothing. 2021-07-29 18:17:08 +02:00
Erin 1f8d6a8ec2 Extracted construction of carts to separate function 2021-07-27 12:14:11 +02:00
Erin fa87efa7e8 Implemented cart indexing parsing 2021-07-27 12:09:36 +02:00
Erin 4c735d0928 Added arrow token 2021-07-27 11:52:43 +02:00
Erin 1714629492 Added cart support into AST 2021-07-27 11:51:05 +02:00
Alex Bethel 003d800d6e Fix broken type_errors unit test 2021-07-22 22:27:17 -05:00
Alex Bethel 594968f781 Remove latent debug println for BFF input 2021-07-22 22:11:55 -05:00
Alex Bethel 4fd61b71dd Merge branch 'master' of github.com:AbleCorp/able-script 2021-07-22 22:09:40 -05:00
Alex Bethel afc1d9b18c Use coercion in BFF argument passing 2021-07-22 22:08:04 -05:00
Alex Bethel 5b87ed220a Eliminate type errors
Hooray, we've just made a whole class of errors impossible! :D
2021-07-16 19:03:27 -05:00
Alex Bethel 9beb45adf0 Silently fail when calling a non-function
The most cursed possible way to deal with this error.
2021-07-16 19:02:51 -05:00
Alex Bethel 56623de96a Make integer coercion infallible 2021-07-16 18:56:45 -05:00
ondra05 ffcbdc258b Reduced parser boilerplate 2021-07-15 21:39:01 +02:00
Alex Bethel f6e6f8cea1 Fix function call type error message 2021-07-15 14:24:07 -05:00
Alex Bethel a4d815cf7c Make consts accessible from AbleScript code 2021-07-13 14:22:06 -05:00
Alex Bethel e00df9d5ac Prettier error handling 2021-07-13 13:54:27 -05:00
Alex Bethel 53e624fdff Merge branch 'feature/read' 2021-06-19 17:34:19 -05:00
Alex Bethel 09d551075a Merge 'feature/forty-two' into master 2021-06-19 17:32:12 -05:00
Alex Bethel f7ac2a1a43 Implement read semantics in interpreter
Also added a test file `iotest.able` to just read data and print
it (the `cat` of AbleScript I guess).
2021-06-18 16:05:50 -05:00
Erin 2ec416db97 Implemented read in Parser 2021-06-18 20:28:53 +02:00
Alex Bethel 4b6c3528da Forbid use of unwrap w/ clippy 2021-06-16 10:36:52 -05:00
Alex Bethel b26c0ab639 Clippy conformance 2021-06-16 10:35:06 -05:00
Alex Bethel e45df2efe7 Add --debug option for printing AST 2021-06-16 10:29:27 -05:00
Alex Bethel 151564b718 Better error messages, remove debug AST printing 2021-06-16 10:25:55 -05:00
Alex Bethel ca61561ade Remove quotes around rickroll string
They're not necessary, because the `rickroll` file is already included
as a string.
2021-06-15 11:47:39 -05:00
Alex Bethel 90c3e31824 Fix ignored unit tests in interpret.rs 2021-06-15 11:46:01 -05:00
Alex Bethel d0f7052290 Fix unit tests 2021-06-15 11:29:52 -05:00
Alex Bethel c35f3d80ff rustfmt: whoops, let's put a semicolon there
maybe I should have actually looked at what rustfmt produced before I
just blindly accepted it and pushed it onto master.
2021-06-15 10:26:44 -05:00
Alex Bethel f02b33d564 rustfmt: break long line 2021-06-15 10:24:50 -05:00
Alex Bethel 0e6bf2b27e Use pass-by-reference for variables, pass-by-value for expressions 2021-06-15 09:51:00 -05:00
Alex Bethel 5ac9117651 Implement most of pass-by-reference
We need some parser changes to make it work fully: function arguments
are now identifiers rather than expressions.
2021-06-15 09:51:00 -05:00
Alex Bethel e709f398f7 Implement functio declaration & calling 2021-06-15 09:51:00 -05:00
HTG-YT aa33fe88db comply with the move of rickroll 2021-06-14 20:53:27 +08:00
HTG-YT 6a01893f2e move rickroll to src/ folder 2021-06-14 20:52:38 +08:00
HTG-YT 087768fcbc move rickroll content into a file 2021-06-14 09:42:23 +08:00
HTG-YT 7ceab0d3fd rustfmt: add trailing comma 2021-06-14 09:40:42 +08:00
HTG-YT aa5000c6c8 handle Token::Rickroll in parser 2021-06-13 13:24:09 +08:00
HTG-YT 1bba812018 Update interpret.rs 2021-06-13 13:22:30 +08:00
HTG-YT 141feac31c handle StmtKind::Rickroll 2021-06-13 13:22:01 +08:00
HTG-YT f9f891cd20 add StmtKind::Rickroll 2021-06-13 13:11:51 +08:00
HTG-YT 3ffdd15b41 add rickroll lexeme in lexer 2021-06-13 13:11:02 +08:00
Alex Bethel ede6eccc71 Make arithmetic errors evaluate to 42 2021-06-12 10:48:44 -05:00
Alex Bethel 083eb01282 Integrate const.rs as consts 2021-06-12 10:45:25 -05:00