Erin
aa854a067b
Restructured project ( #37 )
...
* Separation to two crates
- `ablescript`: library, language
- `ablescript_cli` - cli: repl and executor for files
* Added lints (back) to library
- unsafe_code and unwrap_used are forbidden
2021-08-10 21:32:12 +02:00
Alex Bethel
c1cc54be75
Merge 'feature/forty-two' into master
2021-06-19 17:32:12 -05:00
Alex Bethel
430f0c2b90
Forbid use of unwrap
w/ clippy
2021-06-16 10:36:52 -05:00
Alex Bethel
cdb4a22443
Add --debug
option for printing AST
2021-06-16 10:29:27 -05:00
Alex Bethel
098137082e
Better error messages, remove debug AST printing
2021-06-16 10:25:55 -05:00
Alex Bethel
92e0a22e24
Integrate const.rs
as consts
2021-06-12 10:45:25 -05:00
Alex Bethel
426aee6a2b
Repair interpreter after parser changes
2021-06-07 16:20:20 -05:00
Erin
f893e24aed
Changed position terminology
2021-06-07 21:28:24 +02:00
Alex Bethel
4bda25c9f3
Correct spelling of "occurred"
2021-06-05 08:50:20 -05:00
Alexander Bethel
669f379700
Better abstractions, implement scoping rules
2021-05-25 13:26:01 -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
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
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
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
cc4ec803c4
Starting work on parser improvements
...
- Parser should parse single expressions
2021-04-26 10:44:42 +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
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