greg
|
811c52c8d3
|
More if-expr refactoring work
Think I finished all the parsing stuff, just need to fix the types
everywhere else
|
2019-10-10 03:56:35 -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
|
61b757313d
|
Alter grammar of if-blocks
|
2019-10-10 02:34:56 -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
|
22efd39114
|
Change if-expr syntax
use else instead of ->
|
2019-10-08 18:23:16 -07:00 |
|
greg
|
a48bb61eb3
|
Get rid of this test
need to rethink how if-expressions should work
|
2019-10-05 16:41:51 -07:00 |
|
greg
|
904d5c4431
|
Add "production" line to parse debug output
And also add a .next() in the parser that should've been there
|
2019-10-04 03:12:09 -07:00 |
|
greg
|
28056b1f89
|
Add production name in ParseError
for debugging
|
2019-10-04 03:12:00 -07:00 |
|
greg
|
f9a59838b0
|
Get rid of .into()'s in parser
|
2019-10-01 02:19:12 -07:00 |
|
greg
|
f02d7cb924
|
Add test for failing if expression
|
2019-09-28 17:42:22 -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
|
ae65455374
|
Add type alias for name scope data structure
|
2019-09-25 03:26:31 -07:00 |
|
greg
|
1fc028c9fc
|
Make lookup_name_in_scope a method
|
2019-09-25 03:18:54 -07:00 |
|
greg
|
031ff9fe7e
|
Add top-level variable to schala prelude
|
2019-09-25 02:54:56 -07:00 |
|
greg
|
5a9f3c1850
|
Sort symbols in debug
|
2019-09-25 02:43:07 -07:00 |
|
greg
|
58251d3f28
|
Use colored in symbol table debug
|
2019-09-25 02:28:24 -07:00 |
|
greg
|
2e42313991
|
add_new_symbol clarification
|
2019-09-25 02:18:36 -07:00 |
|
greg
|
0b57561114
|
Use block in scope resolution
|
2019-09-25 01:45:02 -07:00 |
|
greg
|
dbd81ca83d
|
names
|
2019-09-24 19:24:07 -07:00 |
|
greg
|
6368d10d92
|
Rename Symbol.name -> Symbol.local_name
to make it clearer what this means
|
2019-09-24 18:56:53 -07:00 |
|
greg
|
9cd64d97a5
|
Isolate import handling code
|
2019-09-24 18:42:01 -07:00 |
|
greg
|
41cad61e34
|
Start work on name resolution
|
2019-09-24 03:28:59 -07:00 |
|
greg
|
a054de56a2
|
Import statement syntax
|
2019-09-21 02:30:28 -07:00 |
|
greg
|
603ea89b98
|
Start adding import keyword
|
2019-09-20 18:19:29 -07:00 |
|
greg
|
06026604cc
|
Fix test
|
2019-09-20 12:14:15 -07:00 |
|
greg
|
03f8abac6a
|
Remove Meta type
|
2019-09-20 12:03:42 -07:00 |
|
greg
|
fd3922d866
|
Get rid of Meta from tests
|
2019-09-20 10:10:57 -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
|
69c215eac9
|
Get rid of Meta elsewhere
|
2019-09-20 01:44:20 -07:00 |
|
greg
|
8a34034819
|
Symbol table map for NamedStruct
|
2019-09-20 01:36:58 -07:00 |
|
greg
|
403b171c72
|
remove another meta-use
|
2019-09-20 01:08:00 -07:00 |
|
greg
|
e5a09a6ee8
|
Get rid of Meta use in reduce_named_struct
|
2019-09-19 18:38:15 -07:00 |
|
greg
|
e1a83b5de3
|
Start to use table lookups instead of Meta
For fqsn
|
2019-09-19 03:34:09 -07:00 |
|
greg
|
8b1dd561f2
|
Add get_fqsn_from_id opposite lookup method
|
2019-09-19 03:06:49 -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
|
73519d5be5
|
Add derivative crate
|
2019-09-18 01:58:38 -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
|
a85d3c46bd
|
Finish conversion of AST Reducer
|
2019-09-11 01:27:52 -07:00 |
|
greg
|
25f51a314d
|
Start transitioning design of ast reduction
to method-on-struct based system
|
2019-09-10 09:27:33 -07:00 |
|
greg
|
6c3a4f907b
|
Warning cleanup, TODOs
|
2019-09-10 03:40:41 -07:00 |
|
greg
|
22887678bd
|
Remove lookup_by_name
|
2019-09-10 03:35:11 -07:00 |
|
greg
|
1ecf1e506c
|
Update more notes
|
2019-09-10 03:33:28 -07:00 |
|
greg
|
72944ded1b
|
Fixed all broken tests
|
2019-09-10 03:31:23 -07:00 |
|
greg
|
b65779fb93
|
Add symbol_table to scope_resolution
|
2019-09-09 18:12:14 -07:00 |
|
greg
|
418d77770f
|
Start adding symbol_table to scope resolution
|
2019-09-09 17:45:34 -07:00 |
|
greg
|
5572e0eebb
|
Make some notes about what to do next
|
2019-09-09 10:17:46 -07:00 |
|
greg
|
65bc32b033
|
Fixed many of the broken tests
|
2019-09-09 01:04:46 -07:00 |
|
greg
|
29f4060a71
|
VarOrName fix in reduced ast
|
2019-09-08 17:01:07 -07:00 |
|
greg
|
09dbe5b736
|
Rename function
|
2019-09-08 04:27:04 -07:00 |
|
greg
|
cfa65e5339
|
Wire up all the qualified names
|
2019-09-08 02:11:15 -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
|
2b5b1589b0
|
tests compile, 15 fail
|
2019-09-06 02:30:18 -07:00 |
|
greg
|
44c073320b
|
Code builds, tests don't
|
2019-09-06 02:23:04 -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
|
cefaeb1180
|
Make ScopeResolver struct
|
2019-09-03 02:59:19 -07:00 |
|
greg
|
724237545f
|
Start work on scope resolver
|
2019-09-03 02:19:37 -07:00 |
|
greg
|
0f7f5cb416
|
Add new stage scope-resolution
|
2019-09-03 01:42:28 -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
|
f96469178d
|
Tests for qualified names
|
2019-09-01 01:07:00 -07:00 |
|
greg
|
34abb9b081
|
Start work on qualified names
|
2019-08-31 23:39:01 -07:00 |
|
greg
|
89d967aee4
|
FullyQualifiedSymbolName string representation
|
2019-08-30 22:55:59 -07:00 |
|
greg
|
0540df4024
|
Rename Val -> Sym
|
2019-08-30 19:10:16 -07:00 |
|
greg
|
61182a847f
|
Rename lookup_by_path -> lookup_by_fqsn
|
2019-08-30 19:05:01 -07:00 |
|
greg
|
f6dcd7f0b8
|
Use proper symbol_table lookup in eval
|
2019-08-30 19:03:52 -07:00 |
|
greg
|
16dc973aa6
|
Remove one use of symbol_table.lookup_by_name
Should aim to remove it entirely
|
2019-08-30 18:56:16 -07:00 |
|
greg
|
611e46938d
|
Make symbol names better
Refactor of symbol table to make name lookups
more precise, necessary for struct member lookups
|
2019-08-30 18:41:47 -07:00 |
|
greg
|
3d6447abb4
|
Start work on symbol table lookup by type name
|
2019-08-21 10:10:57 -07:00 |
|
greg
|
a74027bb1f
|
Start adding object access
|
2019-08-20 00:20:07 -07:00 |
|
greg
|
583e87c19a
|
Make apply_builtin compatible with Node
|
2019-08-19 21:49:46 -07:00 |
|
greg
|
12ed2f5c8e
|
Pass symbol table reference to to_repl
|
2019-08-19 19:38:24 -07:00 |
|
greg
|
3caf9c763c
|
Move eval tests
|
2019-08-16 10:39:21 -07:00 |
|
greg
|
cd20afc3c7
|
Add note about Nodes
|
2019-08-15 08:07:52 -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
|
b0a1f3337c
|
Clean up some operator code
|
2019-08-14 10:31:07 -07:00 |
|