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