Commit graph

341 commits

Author SHA1 Message Date
Erin aa854a067b 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 a2d240f471 Format .able test files
Unified mixed 2-space and 4-space indentation into uniform 3-space
indentation.
2021-08-09 14:41:02 -06:00
Alex Bethel fd9054d3d3 Functio & cart comparisons and hashing 2021-08-07 16:33:28 -06:00
Erin 3686b3b608 Added carts example 2021-08-01 18:47:13 +02:00
Erin 83a4f67121 Implemented callable expressions in parser 2021-08-01 18:36:09 +02:00
Erin 3df3cbbf6d Implemented callable expressions in AST and Interpret 2021-08-01 18:30:07 +02:00
Erin 0c000337d2 fmt 2021-08-01 18:28:59 +02:00
Erin 25a3c14145 Changed to correct naming conventions 2021-07-29 23:26:43 +02:00
Erin b451503a27 Obeyed clippy 2021-07-29 23:22:38 +02:00
Erin e3cfaaf32c removed unused enum variant 2021-07-29 23:04:04 +02:00
Erin 241f2261d1 Added history (session based) 2021-07-29 22:48:36 +02:00
Erin eb91aa96fa Added carts tests 2021-07-29 22:39:28 +02:00
Alex Bethel 3cd1115f5d Merge branch 'feature/carts' of github.com:AbleCorp/able-script into feature/carts 2021-07-29 13:30:11 -05:00
Alex Bethel 0bca9ff79c 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 a6f86b7e26 Bumped version to 0.2.0 2021-07-29 19:18:06 +02:00
Erin 603a244b78 Nest the loop inside a match arm 2021-07-29 19:17:10 +02:00
Erin 0d497bccdd Added cart parsing 2021-07-29 18:58:11 +02:00
Erin b53cc1e768 Not fails on cart contruction parsing, does nothing. 2021-07-29 18:17:08 +02:00
Erin bf2e73a5d1 Extracted construction of carts to separate function 2021-07-27 12:14:11 +02:00
Erin e7bd81e12a Implemented cart indexing parsing 2021-07-27 12:09:36 +02:00
Erin ab1515cdb0 Added arrow token 2021-07-27 11:52:43 +02:00
Erin e847a76c6d Added cart support into AST 2021-07-27 11:51:05 +02:00
Alex Bethel 282a9a6a07 Fix broken type_errors unit test 2021-07-22 22:27:17 -05:00
Alex Bethel 0b0a8942de Remove latent debug println for BFF input 2021-07-22 22:11:55 -05:00
Alex Bethel dcc0c0b00f Merge branch 'master' of github.com:AbleCorp/able-script 2021-07-22 22:09:40 -05:00
Alex Bethel 501d182fb4 Use coercion in BFF argument passing 2021-07-22 22:08:04 -05:00
Alex Bethel 50f9bfa4c6 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 821eeae322 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 d3242484fc Make integer coercion infallible 2021-07-16 18:56:45 -05:00
Erin 0c795741e8 Reduced parser boilerplate 2021-07-15 21:39:01 +02:00
Alex Bethel 141220fb38 Fix function call type error message 2021-07-15 14:24:07 -05:00
Alex Bethel 3d9f847862 Make consts accessible from AbleScript code 2021-07-13 14:22:06 -05:00
Alex Bethel a225105f09 Prettier error handling 2021-07-13 13:54:27 -05:00
Alex Bethel 8818536717 Revert "Update README.md"
This reverts commit e02edbbd16.

It is, in fact, still better than Javascript.
2021-07-01 17:17:48 -05:00
Alex Bethel bc7427014d Add more info to Cargo.toml 2021-06-30 16:45:44 -05:00
Alex Bethel 1e8314b1a1 Merge branch 'feature/read' 2021-06-19 17:34:19 -05:00
Alex Bethel c1cc54be75 Merge 'feature/forty-two' into master 2021-06-19 17:32:12 -05:00
Alex Bethel eee173060c 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 3edbca51d5 Implemented read in Parser 2021-06-18 20:28:53 +02:00
Alex Bethel 430f0c2b90 Forbid use of unwrap w/ clippy 2021-06-16 10:36:52 -05:00
Alex Bethel 4011997e60 Clippy conformance 2021-06-16 10:35:06 -05:00
Alex Bethel cdb4a22443 Add --debug option for printing AST 2021-06-16 10:29:27 -05:00
Alex Bethel 098137082e Better error messages, remove debug AST printing 2021-06-16 10:25:55 -05:00
Alex Bethel 2e5799d9e6 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 9965d97713 Fix ignored unit tests in interpret.rs 2021-06-15 11:46:01 -05:00
Alex Bethel d1064802ec Fix unit tests 2021-06-15 11:29:52 -05:00
Alex Bethel 8aa6fc502a 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 7bf3cc6f5d rustfmt: break long line 2021-06-15 10:24:50 -05:00
Alex Bethel ae0955209c Use pass-by-reference for variables, pass-by-value for expressions 2021-06-15 09:51:00 -05:00
Alex Bethel 66d4f4f82d 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