Commit Graph

61 Commits

Author SHA1 Message Date
Greg Shuflin da4990107c Run clippy 2021-11-14 03:27:30 -08:00
Greg Shuflin 94ee3e1897 Delete a bunch of now-obsolete parsing/tokenizing code 2021-11-14 03:18:05 -08:00
Greg Shuflin a00125d4a5 Make string literals work properly 2021-11-13 13:47:10 -08:00
Greg Shuflin 87141fcca3 for expressions 2021-11-05 12:52:41 -07:00
Greg Shuflin 6a318257d6 If exprs, patterns 2021-11-04 21:11:19 -07:00
Greg Shuflin 8e19b7c39d Precedence 2021-11-03 23:57:22 -07:00
Greg Shuflin 3e16070602 Make modules a type of declaration 2021-11-02 18:34:15 -07:00
Greg Shuflin e40782739d Use annotations to mark builtins 2021-11-02 16:56:12 -07:00
Greg Shuflin 9de1b4ea33 Nest annotated declarations within the annotation ast node 2021-11-02 14:43:32 -07:00
Greg Shuflin f4d3282090 Implement return control flow 2021-11-01 04:19:18 -07:00
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