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
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
Alex Bethel
e709f398f7
Implement functio
declaration & calling
2021-06-15 09:51:00 -05:00
Alex Bethel
ede6eccc71
Make arithmetic errors evaluate to 42
2021-06-12 10:48:44 -05:00
Alex Bethel
bdb32c4599
Remove 0..0 placeholder from unexpected_eof()
2021-06-07 20:03:26 -05:00
Erin
afee5fb82d
Added basic parsing
...
- Expressions
- If, Functio
2021-06-07 00:09:45 +02:00
Erin
b9d10fae03
AST revamp
...
- Unified terminology of span in error.rs
2021-06-06 23:13:48 +02:00
Alex Bethel
2c35691ec4
Add Brainfuck functio interpretation
...
BF functios can now be declared and called from AbleScript code.
Function parameters supplied from AbleScript are serialized manually
into byte sequences using the `BfWriter` trait, and are available from
BF code using the input operator, `,`.
At the moment, BF functios simply write output to stdout, and are
therefore incapable of communicating results to the rest of the
program; this might change in the future if we can get something close
to pass-by-reference working.
2021-06-02 15:29:31 -05:00
Alex Bethel
7bfefd3ba1
Add some unit tests to interpret.rs
...
Currently `overflow_should_not_panic` and `variable_persistence` both
fail due to bugs in the interpreter.
2021-05-30 13:32:29 -05:00
Alexander Bethel
7537b4ac98
Implement break
and hopback
statements
2021-05-25 21:22:38 -05:00
Alexander Bethel
e31b8fb00d
Implement basic interpreter
...
Added code for interpreting parsed AbleScript expressions and
statements, and hooked it up to the REPL.
2021-05-20 18:18:01 -05:00
Erin
00a464321a
Added parsing of conditionals
2021-04-27 13:48:56 +02:00
Erin
2a0b2952d4
Redone original parser
...
= implemented original features
2021-04-27 11:49:07 +02:00
Erin
138b9efadc
Added testing for base55, new identifier lexing
2021-04-27 11:09:19 +02:00
Erin
47400ee2ce
Starting work on parser improvements
...
- Parser should parse single expressions
2021-04-26 10:44:42 +02:00
Erin
3e2dc5fba9
Added function/variable parsing
...
- Added block support
- TODO: Tidy it up
2021-04-18 22:33:55 +02:00