Commit graph

180 commits

Author SHA1 Message Date
Erin db3b56d798 Double Melo causes variable deletion 2022-04-22 21:14:53 +02:00
Erin 5ccc181f47 Rc is got by reference by default 2022-04-22 21:09:03 +02:00
Erin 95e790d8e8 Reimplemented Melo
- Variable made into enum of `ValueRef or Melo`
- Melo-ing variable causes dropping of the Rc, decreasing reference count
2022-04-22 21:06:34 +02:00
Erin 3916b20b59 clearer comment 2022-04-18 22:09:56 +02:00
Erin 5aada3c09e Made Parser private and made parse function
Parser had only consturctor and parse functions public.

Likely, there would be just a creation of parser followed by .parse(),
and now this action is performed in `parse` function.
2022-04-18 22:09:41 +02:00
Erin 98b72b14e2 Renamed init function in parser 2022-04-18 22:01:35 +02:00
Erin 60fb95cb13 Added crate-level docs for ablescript 2022-04-18 21:59:57 +02:00
Erin ee6105dd91 chore: fmt 2022-04-18 21:43:32 +02:00
Erin f2340dd493 fixed comments and naming 2022-04-18 21:43:19 +02:00
Erin ea13c79fc4 replaced if with unless 2022-04-18 21:42:26 +02:00
Erin 6dd32793bb Chars are no longer special case of identifiers 2022-04-18 21:04:19 +02:00
Erin 0eb2698242 Expr::Literal contains Literal type which contains only possible types instead of any Value 2022-04-18 20:56:11 +02:00
Erin eac86b5e0b 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 c1bc0e8a96 No underscore! 2022-04-16 22:06:37 +02:00
Erin 35caa085f8 fmt 2022-04-12 22:15:53 +02:00
Erin de3b6dc048 version bump 2022-04-12 14:17:20 +02:00
Erin cee4a80584 dependency update + fmt 2022-04-12 14:16:34 +02:00
Erin 60505735c9 removed != in favour of ain't 2022-04-08 17:44:35 +02:00
Erin 89326fd344 Removed ! for ain't 2022-04-08 17:39:14 +02:00
Alex Bethel 19fa04f979 cargo fmt 2022-04-02 12:42:40 -06:00
Erin 45007e7d2b removed \ from idents 2022-04-02 20:39:48 +02:00
Erin ec48508ba7 changed line order 2022-04-02 14:13:49 +02:00
Erin 0b4db65ca3 This isn't AbleScript, we can just negate expressions :D 2022-04-02 13:44:29 +02:00
Erin eae118a78e Small change 2022-04-02 01:42:13 +02:00
Erin 38fe23d2b5 Removed ident type, fixed tests 2022-04-02 01:34:25 +02:00
Erin db7fc4d592 Generalised Spanned items 2022-04-02 01:22:46 +02:00
Erin d890d7cfff Simplified base 55 2022-04-02 01:06:47 +02:00
Erin a3d2922f7e fixed tests 2022-03-30 21:03:17 +02:00
Erin c1c8f17c8d Improved type coercions 2022-03-30 20:56:59 +02:00
Erin 6f663839a7 Removed booleans 2022-03-30 20:55:05 +02:00
Erin 86e1391ea2 Used checked next in require 2022-03-20 02:20:55 +01:00
Erin 5a5403a8df Changed way of String lexing 2022-03-13 13:18:51 +01:00
Erin c567341775 Added support for idents starting with _ 2022-03-12 23:26:39 +01:00
Erin 070f3b2f0e fixed spelling of ain't 2022-03-02 11:36:08 +01:00
Erin 9d6f5740b1 \ is valid part of identifiers 2022-03-01 23:07:23 +01:00
Erin 0ec54ecc51 Introduced newtype for Rc<RefCell<Value>> 2022-03-01 22:13:49 +01:00
Erin 3f4cc58b87 Satisfied most of THE ALLMIGHTY CLIPPY's requests. 2022-03-01 21:53:58 +01:00
Erin b975bc52d0 Bool, Abool and Nil values are no longer tokens 2022-03-01 18:57:03 +01:00
Erin 567665a314 fixed strings 2022-02-24 21:53:43 +01:00
Erin a23dac3ce0 Rust 2021
- Consts map generated using iterators
2022-02-23 21:47:07 +01:00
Erin cb6fcceb79 Fixed tests and examples 2022-02-22 22:49:56 +01:00
Erin f55f9e0512 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 d1f18be279 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 43ae772894 Exposed variables to public API 2022-02-14 00:12:03 +01:00
Erin edce9dcc91 Add from_value variable constructor 2022-02-14 00:11:37 +01:00
Erin ca4a9aba4c added new_with_vars 2022-02-14 00:08:48 +01:00
Erin e79c98f2f6 Fixed all errors 2022-02-13 00:58:50 +01:00
Erin 5d29c8cf87 fixed base 55 2022-02-13 00:55:51 +01:00
Erin 8c867c7899 Value::Int is isize 2022-02-13 00:55:19 +01:00
Erin 5b320259f6 Changed Built-in functio -> integer coercion 2022-02-13 00:37:17 +01:00
Erin a9a9cc71e1 Implemented builtin functio division 2022-02-13 00:30:40 +01:00
Erin 3338ec94c2 implemented subtraction for built-in functios 2022-02-13 00:25:56 +01:00
Erin d634692f12 Implemented not for built-in functios 2022-02-13 00:07:23 +01:00
Erin a1f6d1ae5f Implemented Display for built-ins 2022-02-12 22:52:14 +01:00
Erin 06ec25e717 Implemented coercions for built-in functios 2022-02-12 22:10:30 +01:00
Erin 405f88e394 Implemented built-in functios
- Missing coercions and operations
2022-02-12 21:14:55 +01:00
Erin 68e5e7cf41 Functio -> Int more cursed 2022-01-22 21:02:10 +01:00
Erin 7cf9433462 Cart -> Int more cursed 2022-01-22 20:52:09 +01:00
Erin 2191e126f0 Implemented [] as length operator 2022-01-22 20:48:21 +01:00
Erin 8e55872f10 Implemented Len in parser 2022-01-22 20:37:44 +01:00
Alex Bethel 912437f10c Add martens owo 2021-12-29 17:06:46 -06:00
Alex Bethel b6413f6219 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 20b1408179 Implement function chain division 2021-12-14 16:16:28 -06:00
Erin 573df02ba6 Fixed T-Dark blocks in blocks 2021-12-14 23:16:19 +01:00
Erin c1471bcdb7 Removed clone 2021-12-14 23:05:21 +01:00
Erin 6c836125b3 Renamed stuff 2021-12-14 23:02:55 +01:00
Alex Bethel 57939a87b0 Arity-based functio deinterlacing 2021-12-14 15:56:40 -06:00
Erin db95d2f718 🚗 Implemented ordered functio chaining 2021-12-14 21:45:44 +01:00
Erin 872a16578f Removed a feature which disallowed comments in functios 2021-12-14 21:10:58 +01:00
Erin a9d9c7aa27 Implemented subtraction for functio chains... maybe? 2021-12-09 17:51:03 +01:00
Erin 6430387119 Implemented coercions when subtracting able functios 2021-12-09 17:18:37 +01:00
Erin c92cb7e818 Who cares about the content, we have 256 commits!
And I readded a thing
2021-12-09 00:38:36 +01:00
Erin 6d48dca547 sync 2021-12-09 00:35:43 +01:00
Erin 61ee6b3597 Git things beyond your comprehension mortals 2021-12-09 00:34:41 +01:00
Erin 3bfe600103 Implemented halfway of functio sub 2021-12-09 00:33:45 +01:00
Alex Bethel 0b703173f8 Function division 2021-12-08 16:33:06 -07:00
Erin 3c98caf2d6 Made Clippy happy (so he will not kill us in sleep) 2021-12-08 22:56:12 +01:00
Alex Bethel 3cdca1666a Use b-string instead of array of b-chars 2021-12-08 14:39:04 -07:00
Erin 20c6b4c7cf Implemented Abool -> Functio 2021-12-07 22:58:41 +01:00
Alex Bethel 3044ef91e3 Better BF function conversions 2021-12-07 14:27:45 -07:00
Alex Bethel ffcd0000c2 I made a cursed thing 😂 2021-12-07 14:24:58 -07:00
Erin f5e4be4d67 Implemented Functio to Aboolean 2021-12-07 21:57:37 +01:00
Erin 904d647031 huh??? 2021-12-07 21:20:24 +01:00
Erin 6889c3f3b2 Fmt! 2021-12-07 21:20:16 +01:00
Erin 65bb29d401 Function negation 2021-12-07 21:18:45 +01:00
Alex Bethel 6ee12a7c91 Merge branch 'fix/unused-code' 2021-11-27 17:20:54 -06:00
Alex Bethel 2f31e7c3d5 Fix unused code warnings 2021-11-27 11:15:29 -06:00
Alex Bethel 6cd2b8bd44 Avoid trailing comma in cart printout 2021-11-27 11:11:03 -06:00
Alex Bethel 711b8e1c03 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 9727a9b577 Assign read syntax 2021-11-05 17:09:53 -06:00
Alex Bethel 6849f7f296 Coerce indexing assignments into non-carts 2021-11-05 16:18:07 -06:00
Erin 5d6ac150ab Renamed semi_terminated to semicolon_terminated 2021-10-23 23:20:45 +02:00
Alex Bethel 5634a8ad2b Get cart assignments working 2021-10-23 15:08:10 -06:00
Alex Bethel 5db6eebdc0 Almost get cart assignments working 2021-10-23 14:17:17 -06:00
Erin ae1416e329 Read in AST takes Assignable instead of Ident 2021-10-23 21:53:21 +02:00
Alex Bethel 706d39e860 Merge branch 'feature/line_continuations' 2021-10-23 12:46:05 -06:00
Erin bcd446c5d1 Moved Assignable creation functions 2021-10-21 20:51:24 +02:00
Erin 3e8b80af2a Removed in_the_past_this_used_to_crash_but_not_anymore test 2021-10-19 23:35:46 +02:00
T-Dark 6779d7c898 Fixed integer overflows. Why did I even write in the first place? 2021-10-19 17:29:53 +01:00
Erin 610ba7fc40 Change Cart AssignableKind to Index. 2021-10-13 13:20:23 +02:00