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
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
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
e7308485df
Rewrite many parser tests
...
Also introduces pretty print crate for parsing tests.
2021-10-30 17:11:45 -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
df173a0096
Variables in pattern match
2021-10-26 11:37:43 -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
c697c929a4
Use default for ItemId
2021-10-18 17:39:20 -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