Commit graph

170 commits

Author SHA1 Message Date
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
Erin fb16cb2ebb Fixed division
x/0 is now x/42 instead of 42 which makes it more confusing
2021-09-02 18:35:33 +02:00
Erin 23f03e7f67 Clippy 2021-09-01 17:46:17 +02:00