Commit graph

13 commits

Author SHA1 Message Date
Alex Bethel 326d0511e7 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
Alexander Bethel 109c77eeb2 Implement more statements
Added variable declaration, `if` statements, `loop` statements,
variable assignment, and variable banning to go along with
printing (which was already implemented). We still need function
declarations, brainfuck declarations, function calls, and the control
flow operators "break" and "hopback".
2021-05-24 10:50:26 -05:00
Alexander Bethel b625a71711 Allow abool -> bool coercion
The expression `sometimes & true` now evaluates to `true` 50% of the
time and false 50% of the time, rather than throwing a type error
because `sometimes` is not a bool.
2021-05-21 12:25:37 -05:00
Alexander Bethel eccc00ff81 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
able bdf27c83da Minor Changes 2021-05-03 19:33:21 -05:00
Erin 051f6e781f Added tests and loop flow 2021-05-02 18:12:51 +02:00
Erin ecce080378 Added T-Dark block
- obeyed clippy
2021-05-02 17:38:12 +02:00
Erin ca60f818eb Implemented function calls 2021-04-29 18:50:51 +02:00
Erin f3779deeb5 Added parsing of conditionals 2021-04-27 13:48:56 +02:00
Erin 3f9e6b72cc Made parser to throw error when unexpected EOF 2021-04-27 11:57:11 +02:00
Erin e020fc4267 Implemented abool
- Tidied up code
2021-04-18 23:40:41 +02:00
Erin 48dd930872 Initial parser work 2021-04-18 16:39:43 +02:00
able bc1eb42af4 variable things added 2021-04-13 18:01:19 -05:00