Commit Graph

51 Commits

Author SHA1 Message Date
Greg Shuflin cd1bb91555 Add control flow types 2021-11-01 00:25:52 -07:00
Greg Shuflin 803a836887 Implement immediate records 2021-10-31 02:30:38 -07:00
Greg Shuflin 81bfe22974 Move rest of parse tests over to new format 2021-10-31 02:04:28 -07:00
Greg Shuflin f0e4b50c99 Implement Access AST node
For name.value lookups
2021-10-30 21:22:15 -07:00
Greg Shuflin ea494bb328 Fix a number of TODOs
Add def -> symbol lookup table
Minor syntax changes
2021-10-30 17:38:16 -07:00
Greg Shuflin e7308485df Rewrite many parser tests
Also introduces pretty print crate for parsing tests.
2021-10-30 17:11:45 -07:00
Greg Shuflin 6e7bd1ccb8 Clippy changes 2021-10-30 00:05:18 -07:00
Greg Shuflin b2d9622feb Basic visualizer for AST
Pretty-prints a representation of the AST
2021-10-28 14:41:22 -07:00
Greg Shuflin 5d04a020dc Run rustfmt on ast module 2021-10-28 02:00:37 -07:00
Greg Shuflin d65233240a Unify u32-based identifiers into common code
Create a new type Id<T> paramaterized by whatever specific class of IDs
is relevant to a domain; create stores and macros to support this; and
repace the existing Id types.
2021-10-27 00:36:23 -07:00
Greg Shuflin 851fd9885f Make a distinct Block type 2021-10-26 14:05:54 -07:00
Greg Shuflin 3402cfe326 Clippy pass 2021-10-26 13:37:03 -07:00
Greg Shuflin df173a0096 Variables in pattern match 2021-10-26 11:37:43 -07:00
Greg Shuflin e52d0bf515 Fix AST visitor 2021-10-26 01:03:06 -07:00
Greg Shuflin df41da84b4 Fix scope test bug
This involved fixing how the ScopeResolver handles local bindings. I
probably want to rewrite much of that code.
2021-10-25 01:02:19 -07:00
Greg Shuflin 9ec1e00afa Fix bug with assignment precedence 2021-10-24 23:05:47 -07:00
Greg Shuflin ba09919aa1 Bunch of rewrites to scope resolver 2021-10-24 00:08:26 -07:00
Greg Shuflin d8f6c41f04 Start re-writing reduced ast and evaluator 2021-10-23 21:18:40 -07:00
Greg Shuflin e68331fe0a Make methods on Visitor public
And remove comment
2021-10-23 21:14:13 -07:00
Greg Shuflin e947569100 Rewrite Visitor
And implement the scope resolver in terms of it
2021-10-23 01:02:36 -07:00
Greg Shuflin b342213826 Add ids to type Variants 2021-10-21 20:00:26 -07:00
Greg Shuflin b4f765167b Redesign Variant struct 2021-10-21 19:53:50 -07:00
Greg Shuflin 248af74ec0 Add parsing for annotations 2021-10-21 11:32:14 -07:00
Greg Shuflin ae6a79077f more clippy lints 2021-10-19 22:24:27 -07:00
Greg Shuflin 36f06b38de Automatically apply clippy to various util modules 2021-10-19 21:57:14 -07:00
Greg Shuflin c697c929a4 Use default for ItemId 2021-10-18 17:39:20 -07:00
Greg Shuflin 5bba900a3d Clippy notes in operators.rs 2021-10-16 20:24:36 -07:00
Greg Shuflin 2fe4109296 Change where Builtin is calculated from operators 2021-10-16 20:21:08 -07:00
Greg Shuflin eeb4e743d2 Move submodules into .mod files in directories 2021-10-14 16:06:41 -07:00
Greg Shuflin 3ed5f1d16c Refactor SourceMap
Move it into the SymbolTable entirely, make the parser not care about
it.
2021-10-14 06:28:52 -07:00
greg 3344f6827d Clear out some compiler warnings 2019-10-23 16:07:10 -07:00
greg b38c4b3298 SymbolTable passing, fix test for duplicate line 2019-10-23 14:47:18 -07:00
greg c560c29b2d Start to add module syntax 2019-10-22 03:15:14 -07:00
greg 7cabca2987 Got all tests passing with visitor scope-resolver 2019-10-16 02:46:32 -07:00
greg 77cc1f3824 ASTVisitor imports 2019-10-15 19:03:27 -07:00
greg 9e64a22328 Invocation argument in visitor 2019-10-15 18:58:51 -07:00
greg 5afdc16f2e Still more visitor work 2019-10-15 03:51:36 -07:00
greg f818e86f48 More visitor work 2019-10-15 00:53:21 -07:00
greg 8d3639ab8e Fix everything if-refactor-related save reduced_ast 2019-10-10 14:38:48 -07:00
greg c427646e75 Change type alias 2019-09-28 02:42:18 -07:00
greg f06b5922de Visitor cleanup 2019-09-28 02:37:36 -07:00
greg 253b5d88f0 Finish cleaning up visitor logic 2019-09-28 01:58:22 -07:00
greg f654cd6b50 Start moving all walking logic out of visitor 2019-09-28 01:01:56 -07:00
greg 89649273d8 Still more visitor stuff 2019-09-27 22:34:00 -07:00
greg 9fa4e3797c More visitor stuff 2019-09-27 09:54:24 -07:00
greg c8804eeefb More visitor stuff 2019-09-26 03:26:37 -07:00
greg d80a0036b1 Enough of ASTVisitor to test something 2019-09-26 02:29:35 -07:00
greg 39bb175722 Initial WIP code 2019-09-26 01:31:39 -07:00
greg 6c3a4f907b Warning cleanup, TODOs 2019-09-10 03:40:41 -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