greg
daf9878020
Kill some unused code
2017-10-01 00:50:13 -07:00
greg
f825c87397
Type checking beginnings
2017-10-01 00:48:08 -07:00
greg
8d2a65b44e
Starting eval framework
2017-09-30 23:30:02 -07:00
greg
6b9fee1aed
Made handling parse errors nicer
2017-09-30 14:41:37 -07:00
greg
d05f173dd3
Using delmited! macro for more things
2017-09-30 14:11:38 -07:00
greg
e88a0f59b5
Made macro less complicatd
2017-09-30 13:46:50 -07:00
greg
90cf7db609
Use the delimiter macro in a few places
...
Made it capable of handling the strict <item> <delim> behavior necessary
for non-blocks, as well as teh loose behavior necessary for blocks,
added a test for a parse error.
2017-09-30 13:04:56 -07:00
greg
1ae9dbcba7
Tests for tuple type annotations
2017-09-30 01:14:49 -07:00
greg
9214f36c04
Tests for type annotations
2017-09-29 19:10:37 -07:00
greg
98169bd352
update test for new type anno format
2017-09-29 14:53:16 -07:00
greg
d60cf99ab5
Parsing sorta works
...
Need to handle double >> bug
2017-09-29 14:10:49 -07:00
greg
bb93d29beb
Some type anno parsing work
2017-09-28 23:55:10 -07:00
greg
c20f93e18c
A test for type annotation
2017-09-28 00:45:36 -07:00
greg
f48adbd9bf
Made the tests work again
2017-09-28 00:06:08 -07:00
greg
9ad506fc78
Handling type annotations in the AST
2017-09-27 22:27:50 -07:00
greg
4c81c36d67
Parse type annotations
...
Not using them yet
2017-09-26 22:10:13 -07:00
greg
230f2dd7ff
More match expr work
2017-09-21 16:00:14 -07:00
greg
8b83d982c0
More work on match expression
2017-09-20 21:05:08 -07:00
greg
6bff7aac0d
Match expressions
...
not done yet
2017-09-20 20:30:30 -07:00
greg
e3b236a15d
If expressions
2017-09-19 22:11:04 -07:00
greg
68bbd62ab6
Make token debug nicer
2017-09-19 22:11:04 -07:00
greg
a8b77848b4
kill old EBNF in comments
2017-09-19 22:11:04 -07:00
greg
839731f2d1
Make op! macro part of binexp!/prefexp! macros
...
For tests
2017-09-19 22:11:04 -07:00
greg
f51e1a3c47
make Operation a tuple-style struct
2017-09-19 22:11:04 -07:00
greg
fc350cd03e
Prefix operators
2017-09-19 22:11:04 -07:00
greg
8fe7c85b00
return keyword + idea for how to use it in for
2017-09-19 22:11:04 -07:00
greg
b920fae93b
variable bindings
2017-09-19 22:11:04 -07:00
greg
1981b74d89
Nicen up precedence-testing
2017-09-19 22:11:04 -07:00
greg
077ab8ddb8
Add trace to binexp parser
2017-09-19 22:11:04 -07:00
greg
9775bfc342
bool literals
2017-09-19 22:11:04 -07:00
greg
505d23a327
Parse . operator
2017-09-19 22:11:04 -07:00
greg
81c4566c2b
Improved operator parsing
2017-09-19 22:11:04 -07:00
greg
8be757beca
Some changes to EBNF grammar
2017-09-19 22:11:04 -07:00
greg
20c74953b5
Get rid of unimplemented! and panic!
2017-09-19 22:11:04 -07:00
greg
d5c3227966
Parse string literals
2017-09-19 22:11:04 -07:00
greg
18c761a5b5
Wrap all parse methods in record-printing macro
2017-09-19 22:11:04 -07:00
greg
89cf101362
Refactoring prace trace infra
2017-09-19 22:11:04 -07:00
greg
66d10604ba
make parse_method! macro more naturalistic
2017-09-19 22:11:04 -07:00
greg
565461e1db
Show more useful information in parse tracing
2017-09-19 22:11:04 -07:00
greg
5ecd28d057
Print parse record in REPL as TraceArtifact
2017-09-19 22:11:04 -07:00
greg
6c5dbac406
Starting to add logic to track recursive descent calls
2017-09-19 22:11:04 -07:00
greg
5dd1cd79ff
Parsing call expressions
2017-09-19 22:11:03 -07:00
greg
dfc89e5060
Index expressions
...
This only partially works
2017-09-19 22:11:03 -07:00
greg
5871bf68de
test for function parsing
2017-09-19 22:11:03 -07:00
greg
34b569eb5f
Starting to parse formal params
2017-09-19 22:11:03 -07:00
greg
5810fb7961
type alias test
2017-09-19 22:11:03 -07:00
greg
1a3076a949
Change syntax of rc macro
2017-09-19 22:11:03 -07:00
greg
1d9e5edfba
Rudimentary type stuff
2017-09-19 22:11:03 -07:00
greg
555d2a7ba5
Identifier tests
2017-09-19 22:11:03 -07:00
greg
291fb61c8d
Parse identifiers
...
Some more complicted types of expression
2017-09-19 22:11:03 -07:00