Commit Graph

95 Commits

Author SHA1 Message Date
greg
b4054d7581 Impl blocks 2017-10-08 14:24:02 -07:00
greg
3f9ae5fac3 Symbol table accepts variables 2017-10-08 13:51:56 -07:00
greg
87cfe854ac Tuple literals 2017-10-06 20:28:07 -07:00
greg
184a2ae03a Change syntax for type alias 2017-10-04 22:02:31 -07:00
greg
3025af3ded Starting on impls 2017-10-03 03:49:07 -07:00
greg
abbbb34901 Some very basic evaluation stuff 2017-10-02 20:11:27 -07:00
greg
d16a0c9380 Evaluation of literals 2017-10-01 12:55:28 -07:00
greg
daf9878020 Kill some unused code 2017-10-01 00:50:13 -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