Commit Graph

92 Commits

Author SHA1 Message Date
greg 71b3365de2 Remove all the rest of the instances of Meta from the AST
Still need to do tests
2019-09-20 02:21:39 -07:00
greg f5d1c89574 Kill more Meta's 2019-09-20 02:03:10 -07:00
greg 8d1e0ebdea Start to get rid of Meta 2019-09-20 01:57:48 -07:00
greg c9052e0a3b QualifiedName with id 2019-09-19 01:34:21 -07:00
greg 56e6eb44f9 Finish adding ItemId to Expression 2019-09-18 14:15:05 -07:00
greg c12cb99b24 ItemId on statement 2019-09-18 10:07:20 -07:00
greg 8dc8833eb3 Item Id store 2019-09-18 09:56:11 -07:00
greg b517bc2366 Add ItemId type to AST 2019-09-18 02:15:45 -07:00
greg b91c3c9da5 Change design of Statement AST node 2019-09-17 02:25:11 -07:00
greg 08da787aae Make AST a struct 2019-09-11 19:25:12 -07:00
greg 9a28ccfd85 Tests compile again 2019-09-07 19:08:50 -07:00
greg ea542192be Temp qualified names work 2019-09-06 17:19:41 -07:00
greg 79635f2f86 Add Meta annotation to QualifiedName 2019-09-06 10:03:50 -07:00
greg 2b5b1589b0 tests compile, 15 fail 2019-09-06 02:30:18 -07:00
greg 44c073320b Code builds, tests don't 2019-09-06 02:23:04 -07:00
greg c04e4356a1 Changing how patterns work
to support qualified names in patterns
2019-09-04 10:53:52 -07:00
greg 24e0ecbe73 partial work 2019-09-03 21:14:12 -07:00
greg b4da57f5c5 Make Meta<Expression> exist everywhere it needs to 2019-09-02 14:41:09 -07:00
greg 8b87945bee Wrap remaining Expressions in Meta 2019-09-02 14:13:53 -07:00
greg 34abb9b081 Start work on qualified names 2019-08-31 23:39:01 -07:00
greg 063a13f7ff Move BinOp into ast subcrate
now builtins is only builtin semantics and has nothing to do with
operators
2019-08-15 06:28:40 -07:00
greg fde169b623 Make operators live in a submodule of ast
Starting with PrefixOp, BinOp happens next
2019-08-14 07:25:45 -07:00
greg 0dd6b26e5a Move where PrefixOp lives 2019-08-13 04:17:17 -07:00
greg bf3dcc18d0 Fixed trace parsing debug output 2019-08-12 09:34:36 -07:00
greg d67ccf5c7a Refactor Expression struct
to have explicit kind and type_anno fields, to make it clearer
that this represents source-code level annotation and not any kind
of type inference intermediate product
2019-07-10 18:52:25 -07:00
greg b6e3469573 Default argument to function 2019-06-16 21:36:59 -07:00
greg 32fe7430a4 Equals should be a token type 2019-06-16 16:07:27 -07:00
greg c332747c3e Move parse test code into separate module 2019-06-16 15:03:34 -07:00
greg 33c2786ea1 More complicated FormalParam type 2019-06-16 14:56:52 -07:00
greg 71386be80e Make tests pass by using multiple-k lookahead 2019-06-14 02:28:14 -07:00
greg ccdc02bbd0 Peek multiple tokens ahead 2019-06-14 01:30:53 -07:00
greg 3a207cf7a7 Make TokenHandler use an array and index
Instead of a peekable iterator, so I can implement LL(k) parsing
2019-06-14 00:44:54 -07:00
greg 53ce31ea8c Start creating new TokenHandler infra
on top of old stuff
2019-06-14 07:21:32 +00:00
greg 4c688ce8b2 Lol grammar is no longer LL(1)
need to fix
2019-06-13 02:27:11 -07:00
greg 40579d80ce More work on args
not quite done
2019-06-12 03:28:46 -07:00
greg fa1257e2cd Starting work on more complicated call expressions
Probably won't build yet
2019-06-12 00:20:20 +00:00
greg e9fd20bfe5 A few more fixes to EBNF 2019-06-09 01:12:19 -07:00
greg dfbd951aaf Some fixes to the EBNF grammar 2019-06-09 01:08:32 -07:00
greg 6b47ecf2d7 First pass at putting EBNF grammar into rustdoc 2019-06-09 00:01:11 -07:00
greg 956353cd80 Move rc! macro to util
So it can be used anywhere
2019-03-08 01:15:19 -08:00
greg f041cc17d2 Wrap all Expression nodes in Meta<Expression> 2019-02-21 23:35:18 -08:00
greg b35262c444 Rename Node -> Meta 2019-02-21 01:49:15 -08:00
greg 9fa0576547 Rename ExpressionType -> ExpressionKind 2019-02-21 01:26:51 -08:00
greg a6eb2b4020 Allow type annotations in let expressions 2019-02-20 22:44:45 -08:00
greg 2be55958f4 add Into<String> arg for error constructors 2019-02-20 02:06:58 -08:00
greg c225e469ee Change Record variant representation 2019-01-24 20:47:20 -08:00
greg a63dcf91b0 Replace // with `quot` 2019-01-10 20:57:13 -08:00
greg 479a098e0f Make note to fix parsing bug 2019-01-09 17:37:51 -08:00
greg 9b3b5c5541 Token offsets 2019-01-08 02:11:19 -08:00
greg ab8e24a276 ParseError always has token now 2019-01-08 01:04:46 -08:00