Greg Shuflin
75b1f9cce5
Working on main compiler pipeline
...
Got rid of a bunch of confusingly-designed debugging infrastruture.
Need a better way to handle per-stage debug outputs (also I don't want
to be using stages at all long-term)
2021-10-14 00:03:51 -07:00
Greg Shuflin
d3ebcc9654
Fix all current warnings
2021-10-13 00:53:32 -07:00
Greg Shuflin
77bf42be6c
Update to current rust
2021-10-07 00:51:45 -07:00
greg
a2bd9a3985
Remove symbol table from evaluator
2019-11-09 19:52:05 -08:00
greg
e4a1a23f4d
Moved sym lookup logic from eval to ast reducer
2019-11-09 19:49:02 -08:00
greg
b967fa1911
to_repl() doesn't need symbol table handle
2019-11-07 02:42:17 -08:00
greg
944916d6af
Alias for symbol table handle type
2019-10-21 04:09:43 -07:00
greg
1493d12a22
Reduce unused imports
2019-10-21 03:02:11 -07:00
greg
86dc5eca02
Get rid of symbol segment kind
...
I don't think I need this after all
2019-10-18 18:24:57 -07:00
greg
26fa4a29ec
Put type names into symbol table
2019-10-16 20:22:40 -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
6c3a4f907b
Warning cleanup, TODOs
2019-09-10 03:40:41 -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
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
fa1544c71f
Fix eval of negatives
2019-08-14 07:31:59 -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
7ae41e717d
Switch away from string builtins
2019-08-12 14:10:07 -07:00
greg
c9bfa2b540
More named struct reduction work
2019-08-12 11:40:16 -07:00
greg
d832583ed9
Fix pluralization wording
2019-08-05 01:11:01 -07:00
greg
87ecc6f0cb
Don't print out bare constructor
...
Instead convert to PrimObject
2019-08-05 01:07:48 -07:00
greg
ee87695626
Simplify Alternative data structure
...
Most of the subfields are duplicated on Subpattern so just use that
directly
2019-07-30 01:33:09 -07:00
greg
32fe7430a4
Equals should be a token type
2019-06-16 16:07:27 -07:00
greg
2bf777f37b
Add this note to self
2019-03-11 19:36:10 -07:00
greg
bdcae36b60
More cleaning up of how scopes are stored
...
on Symbol
2019-03-11 02:47:47 -07:00
greg
c64f53a050
Detect duplicate variable declarations correctly
...
Later I'll probably want to make it so that you can explicitly override
the value of a declared variable
2019-03-10 17:02:01 -07:00
greg
98db60498a
Add very basic symbol table test shim
2019-03-07 23:51:31 -08:00
greg
c0111e30bc
SymbolTable: Add Record type
2019-01-25 00:57:01 -08:00
greg
a63dcf91b0
Replace // with quot
2019-01-10 20:57:13 -08:00
greg
30676722a3
Transition to edition 2018
2019-01-07 13:00:37 -08:00
greg
837a55c718
Test for nested function call
2018-11-06 02:42:28 -08:00
greg
c6b4ed7ee4
Basic lambdas
2018-11-06 01:19:16 -08:00
greg
17e88b33f2
Eval test doesn't need to be a macro
...
Can be a fn
2018-11-05 21:07:06 -08:00
greg
ad53d4394b
Get rid of println
2018-11-05 14:52:51 -08:00
greg
151246e1c5
Test for pattern-matching
2018-11-05 14:11:49 -08:00
greg
77d2826918
Pattern-match on structured objects
2018-11-05 14:01:14 -08:00
greg
1bd48ed5db
Fix problem with parsing commas
...
I should probably rethink how delimited block expressions like if-blocks
(and eventually for-blocks) work
2018-11-05 13:07:08 -08:00
greg
c394b81746
More pattern-matching
2018-11-05 04:02:04 -08:00
greg
ec29077247
More tuple-matching
...
Also discovered parser bug
2018-11-05 03:41:03 -08:00
greg
62043ac2d1
Starting on pattern-matching tuples
...
Lots of duplicated code here
2018-11-05 03:17:03 -08:00
greg
bada386979
More work on subpattern matching
2018-11-03 12:53:09 -07:00
greg
e71d404071
Finished this refactor
2018-11-02 19:54:04 -07:00
greg
cab4702bd6
Refactoring matching - WIP
...
doesn't work yet
2018-11-01 02:43:47 -07:00
greg
ec5a9d457e
String patterns
2018-10-31 01:45:16 -07:00
greg
b8df09e956
Change eval strategy to use conditional sigil
2018-10-29 01:50:43 -07:00