Commit graph

190 commits

Author SHA1 Message Date
Erin 60b63a7699 Restructured project (#37)
* Separation to two crates
- `ablescript`: library, language
- `ablescript_cli` - cli: repl and executor for files

* Added lints (back) to library
- unsafe_code and unwrap_used are forbidden
2021-08-10 21:32:12 +02:00
Alex Bethel 22afba44b1 Functio & cart comparisons and hashing 2021-08-07 16:33:28 -06:00
Erin 6de8c17c19 Added carts example 2021-08-01 18:47:13 +02:00
Erin 1f891353df Implemented callable expressions in parser 2021-08-01 18:36:09 +02:00
Erin 3262702465 Implemented callable expressions in AST and Interpret 2021-08-01 18:30:07 +02:00
Erin f4beb85de2 fmt 2021-08-01 18:28:59 +02:00
Erin 82767864ab Changed to correct naming conventions 2021-07-29 23:26:43 +02:00
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 d1e0393681 Merge branch 'feature/carts' of github.com:AbleCorp/able-script into feature/carts 2021-07-29 13:30:11 -05: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 02b8e02f27 Bumped version to 0.2.0 2021-07-29 19:18:06 +02: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 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