Commit graph

264 commits

Author SHA1 Message Date
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 6b4a2469b6 Revert "Update README.md"
This reverts commit 55a0d9923e.

It is, in fact, still better than Javascript.
2021-07-01 17:17:48 -05:00
Alex Bethel 6d49d142f7 Add more info to Cargo.toml 2021-06-30 16:45:44 -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 f06fba1741 Lack of else statements is intentional 2021-06-15 09:51:00 -05:00
Alex Bethel da53ba4040 Improve pass-by-reference test 2021-06-15 09:51:00 -05:00
Alex Bethel 817ca7cf9a Add pass-by-reference test (doesn't work yet)
Also rename the "hello_world.able" test to "hello-world.able" for
consistency.
2021-06-15 09:51:00 -05:00
Alex Bethel e709f398f7 Implement functio declaration & calling 2021-06-15 09:51:00 -05:00
Able a1aa4edc30 Merge pull request #33 from HTG-YT/master 2021-06-15 04:39:07 -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 552c793e2f Update rickroll 2021-06-14 09:42:38 +08:00
HTG-YT 087768fcbc move rickroll content into a file 2021-06-14 09:42:23 +08:00
HTG-YT acff3e2139 Create rickroll 2021-06-14 09:41:20 +08:00
HTG-YT 7ceab0d3fd rustfmt: add trailing comma 2021-06-14 09:40:42 +08:00
HTG-YT cbe07d87db Merge branch 'AbleCorp:master' into master 2021-06-14 09:40:00 +08:00
Erin 9912ea4b9b Added build staus badge 2021-06-13 18:43:09 +02:00
ondra05 6e13e9163f Added CI config
Rust Template
2021-06-13 18:14:41 +02:00
ondra05 7ca5917d59 Update README.md 2021-06-13 18:12:21 +02: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
Alex Bethel 1a8f17339e Reimplement BF function declaration semantics 2021-06-12 09:26:21 -05:00
Erin ae3a7b7c8a Better comment 2021-06-11 19:44:53 +02:00
Erin 76e5fb9043 Removed todo when unknown token 2021-06-11 18:34:34 +02:00
Erin 8dbf93caa5 Fixed invalid spanning of UnexpectedToken in parse_expr 2021-06-11 18:31:25 +02:00
Erin f3c459f26e BF code is now Vec<u8> 2021-06-11 18:10:11 +02:00