Commit graph

29 commits

Author SHA1 Message Date
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 3bca3f88a6 Repair interpreter after parser changes 2021-06-07 16:20:20 -05:00
Erin beffef80c6 Changed position terminology 2021-06-07 21:28:24 +02:00
Alex Bethel 08b4fff20d Correct spelling of "occurred" 2021-06-05 08:50:20 -05:00
Alexander Bethel e7560f9364 Better abstractions, implement scoping rules 2021-05-25 13:26:01 -05:00
Alexander Bethel 464337bd53 Make ablescript -f run interpreter
`ablescript -f foo.able` will now both parse and interpret `foo.able`,
rather than just parsing it.
2021-05-20 18:24:18 -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
tdark 99758a177b Implemented brainfuck interpreter 2021-05-15 18:10:50 +02:00
able fafe6cf672 consider using able brand products 2021-05-05 07:33:40 -05:00
able ac88a2e3c6 Brain fuck work 2021-05-04 22:23:17 -05:00
able f98c4d83d9 Minor Changes 2021-05-03 19:33:21 -05:00
Erin 4a9b656093 Parser implements examples
- Function call is now stmt (muhehe)
2021-05-02 15:43:25 +02:00
Erin 91bd015e9b Added basic math operations
- cargo fmt
2021-05-02 00:39:08 +02:00
Erin d7cf1b013d Divided token types
- Item = Expr | Stmt
- Added REPL (AST dump)
- Removed operator parsing because it was horrible and I need to redo it
2021-05-01 13:44:58 +02:00
Erin 3e019621b2 Added Peekable Lexer
- Added wrapper for Lexer with `peek()` method
- Renamed `token` module to `lexer` as it more describe it's function
- Started work on operator flow
2021-04-28 22:52: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
Erin 7026711b64 Initial parser work 2021-04-18 16:39:43 +02:00
able 08af75fbda variable things added 2021-04-13 18:01:19 -05:00
Erin 4ca017671c clippy + fmt 2021-04-13 17:43:54 +02:00
Erin 406c6b1297 Improved Scanner 2021-04-13 17:40:20 +02:00
Erin 2194e2726f Added tokenization
- Added tokenization
- Modified `Token` definition for make it compatible with Logos
- And also obeyed our paperclip overlord and changed all names to be complaint with Rust conventions
2021-04-12 20:20:45 +02:00
able 2c4154025f Tokens added or something 2021-04-11 17:22:06 -05:00
able 6719d955e8 Worst best parser 2021-04-11 15:11:23 -05:00
able b96bba96de damn ablelang 2021-04-11 14:11:39 -05:00
able c81fa06641 License and constants added 2021-04-11 13:22:59 -05:00
able 1e701f73ab added base 55 2021-04-11 11:47:35 -05:00
able cc66d0b63a AbleLang is coming together boys :) and girls and enby pals 2021-04-08 16:11:20 -05:00