Erin
f335302b2a
fixed comments and naming
2022-04-18 21:43:19 +02:00
Erin
152c5c0f88
replaced if with unless
2022-04-18 21:42:26 +02:00
Erin
b346995bfd
Chars are no longer special case of identifiers
2022-04-18 21:04:19 +02:00
Erin
f7cba4b2b6
Expr::Literal contains Literal type which contains only possible types instead of any Value
2022-04-18 20:56:11 +02:00
Erin
e3d49c9c1f
Changed variable declaration / assignment and equals syntax:
...
- `dim <ident> [value];` is now used for declaration
- `<value> =: <assignable>` is used for assignments
- As token `=` doesn't cause any ambiguity now, it can be used for equals operation
2022-04-18 20:34:08 +02:00
Erin
5a18642cd6
No underscore!
2022-04-16 22:06:37 +02:00
Erin
f1da9b2117
fmt
2022-04-12 22:15:53 +02:00
Erin
6720ecc534
version bump
2022-04-12 14:17:20 +02:00
Erin
afac0cdac7
dependency update + fmt
2022-04-12 14:16:34 +02:00
Erin
7a35885282
removed !=
in favour of ain't
2022-04-08 17:44:35 +02:00
Erin
ec1b8200e0
Removed ! for ain't
2022-04-08 17:39:14 +02:00
Alex Bethel
7dfdb35685
cargo fmt
2022-04-02 12:42:40 -06:00
Erin
6dec02c60c
removed \ from idents
2022-04-02 20:39:48 +02:00
Erin
3bb8af5b3f
changed line order
2022-04-02 14:13:49 +02:00
Erin
ac42fdc5ca
This isn't AbleScript, we can just negate expressions :D
2022-04-02 13:44:29 +02:00
Erin
306e6cfc8e
Small change
2022-04-02 01:42:13 +02:00
Erin
176467dfc8
Removed ident type, fixed tests
2022-04-02 01:34:25 +02:00
Erin
ce2de21d9b
Generalised Spanned items
2022-04-02 01:22:46 +02:00
Erin
a6ecf782db
Simplified base 55
2022-04-02 01:06:47 +02:00
Erin
c2e9daf1fc
fixed tests
2022-03-30 21:03:17 +02:00
Erin
f18742a9b3
Improved type coercions
2022-03-30 20:56:59 +02:00
Erin
8d24ad5528
Removed booleans
2022-03-30 20:55:05 +02:00
Erin
04b44fb01e
Used checked next in require
2022-03-20 02:20:55 +01:00
Erin
77c201476b
Changed way of String lexing
2022-03-13 13:18:51 +01:00
Erin
8ad10e132b
Added support for idents starting with _
2022-03-12 23:26:39 +01:00
Erin
4d8ee1a0d7
fixed spelling of ain't
2022-03-02 11:36:08 +01:00
Erin
e17b67e438
\ is valid part of identifiers
2022-03-01 23:07:23 +01:00
Erin
d7ec6b3658
Introduced newtype for Rc<RefCell<Value>>
2022-03-01 22:13:49 +01:00
Erin
81f433e633
Satisfied most of THE ALLMIGHTY CLIPPY's requests.
2022-03-01 21:53:58 +01:00
Erin
a3c0e65f6b
Bool, Abool and Nil values are no longer tokens
2022-03-01 18:57:03 +01:00
Erin
55a455d110
fixed strings
2022-02-24 21:53:43 +01:00
Erin
a3a0663433
Rust 2021
...
- Consts map generated using iterators
2022-02-23 21:47:07 +01:00
Erin
392a357c8e
Fixed tests and examples
2022-02-22 22:49:56 +01:00
Erin
5f135be37c
Changed string delimiters
...
You know what could be cursed? Using Rust's block comment syntax as String delimiters!
2022-02-22 22:39:03 +01:00
Erin
97981c8772
Removed unused tokens from Lexer
...
Uh, they were lying there with no use for 9 months!
2022-02-22 22:31:05 +01:00
Erin
6fc1f59e23
Exposed variables to public API
2022-02-14 00:12:03 +01:00
Erin
5f48d20f2a
Add from_value variable constructor
2022-02-14 00:11:37 +01:00
Erin
417b3b53b4
added new_with_vars
2022-02-14 00:08:48 +01:00
Erin
a636c5926d
Fixed all errors
2022-02-13 00:58:50 +01:00
Erin
bf0e64c26a
fixed base 55
2022-02-13 00:55:51 +01:00
Erin
7f859081ba
Value::Int is isize
2022-02-13 00:55:19 +01:00
Erin
b84b86eef7
Changed Built-in functio -> integer coercion
2022-02-13 00:37:17 +01:00
Erin
56c9ccdf38
Implemented builtin functio division
2022-02-13 00:30:40 +01:00
Erin
0ac507e3b3
implemented subtraction for built-in functios
2022-02-13 00:25:56 +01:00
Erin
5d5c66fb3c
Implemented not for built-in functios
2022-02-13 00:07:23 +01:00
Erin
aa94ae57d8
Implemented Display for built-ins
2022-02-12 22:52:14 +01:00
Erin
49d4699928
Implemented coercions for built-in functios
2022-02-12 22:10:30 +01:00
Erin
1d1919976f
Implemented built-in functios
...
- Missing coercions and operations
2022-02-12 21:14:55 +01:00
Erin
6f5b96b26b
Functio -> Int more cursed
2022-01-22 21:02:10 +01:00
Erin
a3a9b777ad
Cart -> Int more cursed
2022-01-22 20:52:09 +01:00
Erin
3f29fb09cd
Implemented [] as length operator
2022-01-22 20:48:21 +01:00
Erin
30ab0cf7da
Implemented Len in parser
2022-01-22 20:37:44 +01:00
Alex Bethel
78afee1472
Add martens owo
2021-12-29 17:06:46 -06:00
Alex Bethel
f1e964988c
Merge branch 'feature/coercions' of ssh://git.ablecorp.us:20/AbleScript/able-script into feature/coercions
2021-12-14 16:16:44 -06:00
Alex Bethel
ec4a7e2447
Implement function chain division
2021-12-14 16:16:28 -06:00
Erin
007917a217
Fixed T-Dark blocks in blocks
2021-12-14 23:16:19 +01:00
Erin
183f26f415
Removed clone
2021-12-14 23:05:21 +01:00
Erin
0da3d58718
Renamed stuff
2021-12-14 23:02:55 +01:00
Alex Bethel
f890d6248b
Arity-based functio deinterlacing
2021-12-14 15:56:40 -06:00
Erin
cd902e0036
🚗 Implemented ordered functio chaining
2021-12-14 21:45:44 +01:00
Erin
690c78c9c0
Removed a feature which disallowed comments in functios
2021-12-14 21:10:58 +01:00
Erin
6f193577ab
Implemented subtraction for functio chains... maybe?
2021-12-09 17:51:03 +01:00
Erin
7aeb9d525d
Implemented coercions when subtracting able functios
2021-12-09 17:18:37 +01:00
Erin
d570dfcb6f
Who cares about the content, we have 256 commits!
...
And I readded a thing
2021-12-09 00:38:36 +01:00
Erin
d7725b0db7
sync
2021-12-09 00:35:43 +01:00
Erin
dc8f72bcf7
Git things beyond your comprehension mortals
2021-12-09 00:34:41 +01:00
Erin
656926387b
Implemented halfway of functio sub
2021-12-09 00:33:45 +01:00
Alex Bethel
7225bd3004
Function division
2021-12-08 16:33:06 -07:00
Erin
920ff99a7f
Made Clippy happy (so he will not kill us in sleep)
2021-12-08 22:56:12 +01:00
Alex Bethel
8993e78ee6
Use b-string instead of array of b-chars
2021-12-08 14:39:04 -07:00
Erin
66ceb8f8c6
Implemented Abool -> Functio
2021-12-07 22:58:41 +01:00
Alex Bethel
7812058fbf
Better BF function conversions
2021-12-07 14:27:45 -07:00
Alex Bethel
8824633aae
I made a cursed thing 😂
2021-12-07 14:24:58 -07:00
Erin
07d021f610
Implemented Functio to Aboolean
2021-12-07 21:57:37 +01:00
Erin
1a78eaf8c3
huh???
2021-12-07 21:20:24 +01:00
Erin
6b5b8998c9
Fmt!
2021-12-07 21:20:16 +01:00
Erin
3ed60f7306
Function negation
2021-12-07 21:18:45 +01:00
Alex Bethel
b3bbf03e2d
Merge branch 'fix/unused-code'
2021-11-27 17:20:54 -06:00
Alex Bethel
da1fcfd861
Fix unused code warnings
2021-11-27 11:15:29 -06:00
Alex Bethel
716e4997c5
Avoid trailing comma in cart printout
2021-11-27 11:11:03 -06:00
Alex Bethel
38a3414e88
Slightly better ExecEnv::assign
...
A little more idiomatic, avoid some borrow checker clumsiness, add
comments.
2021-11-27 11:02:41 -06:00
Alex Bethel
8a04d9d1e0
Assign read syntax
2021-11-05 17:09:53 -06:00
Alex Bethel
99f84dfd5b
Coerce indexing assignments into non-carts
2021-11-05 16:18:07 -06:00
Erin
9712d58962
Renamed semi_terminated
to semicolon_terminated
2021-10-23 23:20:45 +02:00
Alex Bethel
2871e95e75
Get cart assignments working
2021-10-23 15:08:10 -06:00
Alex Bethel
7e0daeab29
Almost get cart assignments working
2021-10-23 14:17:17 -06:00
Erin
48d9d1e2e1
Read in AST takes Assignable instead of Ident
2021-10-23 21:53:21 +02:00
Alex Bethel
77d75eea62
Merge branch 'feature/line_continuations'
2021-10-23 12:46:05 -06:00
Erin
a82a9d7b79
Moved Assignable creation functions
2021-10-21 20:51:24 +02:00
Erin
06464dfea9
Removed in_the_past_this_used_to_crash_but_not_anymore
test
2021-10-19 23:35:46 +02:00
T-Dark
0c755c927f
Fixed integer overflows. Why did I even write in the first place?
2021-10-19 17:29:53 +01:00
Erin
3cff0da70a
Change Cart AssignableKind to Index.
2021-10-13 13:20:23 +02:00
Alex Bethel
990e2806f1
Sort of fix cart assignments
2021-10-12 14:33:23 -06:00
Erin
cce392aaaa
improvement
2021-10-12 22:22:33 +02:00
Erin
ea79e805f2
Added Assignable support in parser / AST
2021-10-12 22:14:20 +02:00
Alex Bethel
863d03575b
Add statement continuation in REPL in CLI
...
Typing ```
var foo = [
``` into the REPL now causes it to prompt you to complete the
statement rather than just printing an "unexpected EOF" error.
2021-10-09 22:31:14 -06:00
Erin
1a5d2edee1
Generalised some lexer functions
2021-10-04 23:03:23 +02:00
Erin
d229c3d3c3
Renamed Iden
to Ident
2021-10-04 23:00:18 +02:00
Alex Bethel
7673b64a71
Improve consistency of code & comments
...
Changed all `&str.to_string()` into `&str.to_owned()`, and made the
grammar of the `Value::into_*` comments uniform.
2021-09-04 10:54:53 -06:00
Erin
1b9f8a6179
Variable name shortened
2021-09-02 18:36:25 +02:00