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
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