greg
3bca82a8c8
Still more refactoring work
2019-10-10 10:34:54 -07:00
greg
95e278d1b5
Chunk of work on if-expr AST
...
don't expect this to compile yet
2019-10-10 03:29:28 -07:00
greg
2ed84de641
Introduce bare else clause in if exprs
...
With a non-passing test
2019-10-09 01:50:32 -07:00
greg
c427646e75
Change type alias
2019-09-28 02:42:18 -07:00
greg
89649273d8
Still more visitor stuff
2019-09-27 22:34:00 -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
a054de56a2
Import statement syntax
2019-09-21 02:30:28 -07:00
greg
03f8abac6a
Remove Meta type
2019-09-20 12:03:42 -07:00
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
cf9ce74394
still more meta's
2019-09-20 02:05:57 -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
403b171c72
remove another meta-use
2019-09-20 01:08:00 -07:00
greg
6ebe893acb
Add id_to_fqsn table on symbol table
2019-09-19 02:58:52 -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
642f21d298
WIP commit - adding ItemId to Expression
2019-09-18 10:09:33 -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
8b6de6961f
ItemId type
2019-09-18 01:52:43 -07:00
greg
3eaeeb5509
Begin deprecating Meta in favor of an ItemId
2019-09-17 14:32:15 -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
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
fd66a9711d
More work on fully-qualified names
2019-09-03 10:23:38 -07:00
greg
a5c9aca4d7
Halfway done with fqsn lookup pass initial work
2019-09-03 03:20:17 -07:00
greg
724237545f
Start work on scope resolver
2019-09-03 02:19:37 -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
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
33c2786ea1
More complicated FormalParam type
2019-06-16 14:56:52 -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
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
9bb3a2be88
Add type data handle on Node
...
I think the way I want to handle this is a two-step process: first infer and
fill in variables, then unfiy in a separate step. Storing the data in
the AST is handy.
2019-02-21 01:46:27 -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
c225e469ee
Change Record variant representation
2019-01-24 20:47:20 -08:00
greg
ee7861cbd0
Fix how impl blocks work
...
This gets rid of a token-less parseerror
2019-01-08 00:51:56 -08:00
greg
30676722a3
Transition to edition 2018
2019-01-07 13:00:37 -08:00