Commit Graph

46 Commits (67e1d26c15a34ad94dc00492125195adcc4984db)

Author SHA1 Message Date
ondra05 4d6b30bcd0
Fixed BF code parsing 2023-05-18 23:49:54 +02:00
ondra05 dbaa390113
Updated dependencies. 2023-05-18 20:33:58 +02:00
ondra05 0bcea85a1f Invalid Token error + fixed forgotten refactor 2022-07-02 00:30:51 +02:00
ondra05 18c4791201 EOF -> EOI 2022-07-02 00:22:40 +02:00
ondra05 4a2674a035 Implemented finally 2022-07-01 22:56:22 +02:00
ondra05 c93c55694c Parser cleanup 2022-06-06 23:30:08 +02:00
ondra05 8297c192ac Changed dim syntax 2022-06-03 00:10:19 +02:00
ondra05 32f3bf471e Changed `hopback` to `and again` (credits: Evrey#6086) 2022-05-17 19:03:02 +02:00
ondra05 ad2839d497 Replaced `break` with `enough` (credits: Evrey#6086) 2022-05-06 23:52:43 +02:00
ondra05 cc7d6d6ba1 Added non-newline print. 2022-05-03 23:13:17 +02:00
ondra05 e10a6c8c9d T-Dark letter cases implemented 2022-05-02 23:40:42 +02:00
ondra05 77dc87901e extracted t-dark substitution to separate function 2022-05-02 23:12:32 +02:00
ondra05 4b7aa07d06 Implemented key extraction 2022-04-25 14:56:35 +02:00
ondra05 53e2b0677a clearer comment 2022-04-18 22:09:56 +02:00
ondra05 5c11cd39bb 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
ondra05 dbe4835732 Renamed init function in parser 2022-04-18 22:01:35 +02:00
ondra05 4c218e3ab8 chore: fmt 2022-04-18 21:43:32 +02:00
ondra05 141164b46a fixed comments and naming 2022-04-18 21:43:19 +02:00
ondra05 097a5571ae replaced if with unless 2022-04-18 21:42:26 +02:00
ondra05 df32550844 Chars are no longer special case of identifiers 2022-04-18 21:04:19 +02:00
ondra05 e24bc5af35 Expr::Literal contains Literal type which contains only possible types instead of any Value 2022-04-18 20:56:11 +02:00
ondra05 0ef7177a03 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
ondra05 8234a9d9fe fmt 2022-04-12 22:15:53 +02:00
ondra05 87555a6184 removed `!=` in favour of `ain't` 2022-04-08 17:44:35 +02:00
ondra05 4c20ef179e Removed ! for ain't 2022-04-08 17:39:14 +02:00
ondra05 1dc9979738 Removed ident type, fixed tests 2022-04-02 01:34:25 +02:00
ondra05 75df416679 Generalised Spanned items 2022-04-02 01:22:46 +02:00
ondra05 8f6d2483f3 fixed tests 2022-03-30 21:03:17 +02:00
ondra05 7cc456ee40 Used checked next in require 2022-03-20 02:20:55 +01:00
ondra05 816cb9ac82 Bool, Abool and Nil values are no longer tokens 2022-03-01 18:57:03 +01:00
ondra05 f703a2546d Fixed tests and examples 2022-02-22 22:49:56 +01:00
ondra05 9a93202979 Removed unused tokens from Lexer
Uh, they were lying there with no use for 9 months!
2022-02-22 22:31:05 +01:00
ondra05 622ce45435 Implemented Len in parser 2022-01-22 20:37:44 +01:00
ondra05 220d85355a Fixed T-Dark blocks in blocks 2021-12-14 23:16:19 +01:00
ondra05 a722ea00d5 Removed a feature which disallowed comments in functios 2021-12-14 21:10:58 +01:00
ondra05 9067a05426 Renamed `semi_terminated` to `semicolon_terminated` 2021-10-23 23:20:45 +02:00
ondra05 aedc2f12b1 Read in AST takes Assignable instead of Ident 2021-10-23 21:53:21 +02:00
ondra05 ec49940b92 Moved Assignable creation functions 2021-10-21 20:51:24 +02:00
ondra05 83e3ea9283 Change Cart AssignableKind to Index. 2021-10-13 13:20:23 +02:00
ondra05 f0f0becec9 Added Assignable support in parser / AST 2021-10-12 22:14:20 +02:00
ondra05 d77a7a45fc Renamed `Iden` to `Ident` 2021-10-04 23:00:18 +02:00
Alex Bethel fa16442560 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
ondra05 bbabc8e195 Not is now lexing and parsing correctly 2021-08-30 22:55:31 +02:00
ondra05 6570292323 Removed And and Or ops because they aren't cursed enough 2021-08-30 22:18:09 +02:00
ondra05 1a5b29e833 Most coercions implemented 2021-08-28 23:27:35 +02:00
ondra05 528b916a69
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