Alexander Bethel
e79fc9a005
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
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
1306c797c8
Added support for specifying a tape size limit
2021-05-15 18:39:49 +02: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
1618262948
Tidy up
2021-05-03 23:02:19 +02:00
Erin
5bdbc2bbb0
Obeyed our paperclip overlord + fmt
2021-05-03 21:36:32 +02:00
Erin
7057c3cfef
Fixed some incompatible old code
...
- Added assignment support
- Reduced boilerplate
- Removed `else`
2021-05-03 21:35:43 +02:00
Erin
c0ecf5f2a3
Variable assignment implemented
2021-05-03 09:54:27 +02:00
Erin
4b2d306ccb
Fixed #13
2021-05-03 08:47:52 +02:00
Erin
d80b5514ce
Added tests and loop flow
2021-05-02 18:12:51 +02:00
Erin
f8db60bc7c
Added T-Dark block
...
- obeyed clippy
2021-05-02 17:38:12 +02:00
Erin
ecd972e55d
Parser production ready
...
- TODO: T-Dark block
- cargo fmt
- Obeyed our clippy overlord
2021-05-02 16:48:33 +02: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
c26c4a14bb
Tidy up
2021-04-29 19:19:35 +02:00
Erin
5c00446c59
Implemented function calls
2021-04-29 18:50:51 +02:00
Erin
27a8de70fa
Bugfix: Peeking
...
- Fixed `PeekableLexer` next to not-be passtrough to iterator
- Made error handling depend on state of Option
2021-04-29 09:47:29 +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
00a464321a
Added parsing of conditionals
2021-04-27 13:48:56 +02:00
Erin
fc8c3a3499
Made parser to throw error when unexpected EOF
2021-04-27 11:57:11 +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
83c549607c
Continue work on parser, improved lexer
...
- Added literal parsing (improved lexing)
- Revised error handling
2021-04-27 10:51:39 +02:00
Erin
47400ee2ce
Starting work on parser improvements
...
- Parser should parse single expressions
2021-04-26 10:44:42 +02:00
Erin
f7d1287fd5
Implemented abool
...
- Tidied up code
2021-04-18 23:40:41 +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
00cca9fc74
Merge branch 'master' of https://github.com/AbleTheAbove/able-lang
...
merge
2021-04-11 22:40:32 -05:00
able
607b51c6cb
abbolean change
2021-04-11 21:47:10 -05:00
ondra05
b062b9a216
Add ANSWER const
2021-04-12 01:02:08 +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
abd2d7e5f8
more fixes
2021-04-11 14:18:41 -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
18354befd1
More representative of base_55 as it should be
2021-04-11 11:59:26 -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