Able
c27837a807
Slightly more curse
2021-05-24 01:18:36 -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
ea211fc3b0
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
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
tdark
1b195dc955
Added support for specifying a tape size limit
2021-05-15 18:39:49 +02:00
tdark
7b5ae34bfd
Implemented brainfuck interpreter
2021-05-15 18:10:50 +02:00
able
87139c4448
consider using able brand products
2021-05-05 07:33:40 -05:00
able
9b7367353d
Brain fuck work
2021-05-04 22:23:17 -05:00
able
bdf27c83da
Minor Changes
2021-05-03 19:33:21 -05:00
Erin
72cd540728
Tidy up
2021-05-03 23:02:19 +02:00
Erin
798c1807db
Obeyed our paperclip overlord + fmt
2021-05-03 21:36:32 +02:00
Erin
30eedbc854
Fixed some incompatible old code
...
- Added assignment support
- Reduced boilerplate
- Removed `else`
2021-05-03 21:35:43 +02:00
Erin
29bf01935c
Variable assignment implemented
2021-05-03 09:54:27 +02:00
Erin
8c6f415ac9
Fixed #13
2021-05-03 08:47:52 +02: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
5a8dd5051f
Parser production ready
...
- TODO: T-Dark block
- cargo fmt
- Obeyed our clippy overlord
2021-05-02 16:48:33 +02:00
Erin
c90d242b0f
Parser implements examples
...
- Function call is now stmt (muhehe)
2021-05-02 15:43:25 +02:00
Erin
18a1343e11
Added basic math operations
...
- cargo fmt
2021-05-02 00:39:08 +02:00
Erin
3794fd3c8f
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
eef7ec16fa
Tidy up
2021-04-29 19:19:35 +02:00
Erin
ca60f818eb
Implemented function calls
2021-04-29 18:50:51 +02:00
Erin
17a32a8df7
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
e45afeac5e
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
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
39a8bf6a54
Redone original parser
...
= implemented original features
2021-04-27 11:49:07 +02:00
Erin
d2160a3a4a
Added testing for base55, new identifier lexing
2021-04-27 11:09:19 +02:00
Erin
3b8ce34c2b
Continue work on parser, improved lexer
...
- Added literal parsing (improved lexing)
- Revised error handling
2021-04-27 10:51:39 +02:00
Erin
cc4ec803c4
Starting work on parser improvements
...
- Parser should parse single expressions
2021-04-26 10:44:42 +02:00
Erin
e020fc4267
Implemented abool
...
- Tidied up code
2021-04-18 23:40:41 +02:00
Erin
7e0c881130
Added function/variable parsing
...
- Added block support
- TODO: Tidy it up
2021-04-18 22:33:55 +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
Erin
1db4bd74cf
clippy + fmt
2021-04-13 17:43:54 +02:00
Erin
81ff84ad73
Improved Scanner
2021-04-13 17:40:20 +02:00
Erin
968a65b1fb
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
1abd802b58
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
Erin
0d35f7f0a5
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