Commit Graph

89 Commits

Author SHA1 Message Date
greg
5491169d55 Refactor parsing structure
TokenHandler should contain all the methods for actually manipulating
tokens, Parser should only contain the recursive descent methods
2019-01-05 20:23:07 -08:00
greg
2b338fd3c9 Move .next() onto token_handler 2019-01-05 18:29:24 -08:00
greg
821f321261 More Node-wrapping of Expression 2019-01-05 18:11:51 -08:00
greg
846eeae04c More use of Token instead of TokenKind 2019-01-05 17:50:54 -08:00
greg
22f2750853 More use of Token in error messages 2019-01-05 17:40:05 -08:00
greg
f2f8ac7ee8 Make parserrors have token 2019-01-05 17:32:49 -08:00
greg
d0c5dce92b Use get_kind() 2019-01-05 17:28:35 -08:00
greg
8eda74c9a5 Starting to keep track of locations of errors in file 2019-01-05 17:18:10 -08:00
greg
2efac109ef Node for TupleLiteral 2019-01-05 16:06:55 -08:00
greg
215e2bbb0d PrefixOp have Node 2019-01-05 16:02:30 -08:00
greg
2590def3be More Node-wrapping 2019-01-05 15:54:03 -08:00
greg
879a7de83d Wrap Expression in Node 2019-01-05 15:47:44 -08:00
greg
4c2e0b8a21 Get rid of old code from old ideas 2019-01-05 15:35:51 -08:00
greg
282c42da3c Adding Node intermediate type to AST 2019-01-05 01:44:32 -08:00
greg
0af6fed505 Clear up some code a bit 2018-11-17 01:10:23 -08:00
greg
1f527f7949 Rename TokenType -> TokenKind 2018-11-16 23:17:34 -08:00
greg
58779f8470 Rename method, make sourcemap optional 2018-11-16 12:58:10 -08:00
greg
d357876b16 WIP source map stuff 2018-11-16 04:12:07 -08:00
greg
2ec7bf3b9a Some initial work on passing token metadata to AST 2018-11-16 03:51:03 -08:00
greg
5147e1a3eb Handle underscores in identifiers 2018-11-15 16:19:53 -08:00
greg
cee5b085d5 Simpler syntax for single param in lambdas
This kind of implies that I might want -> for function types after all,
instead of :
2018-11-06 02:58:57 -08:00
greg
f4f89b39b6 Handle nested function calls 2018-11-06 02:40:10 -08:00
greg
72d0cfe466 More macro test consolidation 2018-11-05 20:52:18 -08:00
greg
cea2f63b44 Use macros to make types more concise 2018-11-05 20:12:10 -08:00
greg
eec315dd58 Get rid of exprstatement! macro
For shorter exst! one
2018-11-05 19:58:55 -08:00
greg
1e9aa91c5d More concise test macros 2018-11-05 19:57:11 -08:00
greg
9813609ad7 Minor test refactoring 2018-11-05 19:17:53 -08:00
greg
5953d9d815 type annotations on lambdas 2018-11-05 19:10:34 -08:00
greg
a74e09c761 Change lambda syntax 2018-11-05 18:51:01 -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
f883512882 New abstraction layer in Schala-lang parser
Just for manipulating tokens
2018-10-21 16:33:21 -07:00
greg
d7baf065fb Changing what method to call to start parsing 2018-10-20 15:41:09 -07:00
greg
6b42f8b8de Change how parsing works 2018-10-20 14:27:00 -07:00
greg
4679a9fc7f Remove compiler warnings 2018-10-20 00:55:37 -07:00
greg
dca9ad06c3 Handle HalfExpr closer to correct 2018-10-19 11:02:10 -07:00
greg
6219a06d6f Converted all parser methods to use the annotation 2018-10-19 02:56:11 -07:00
greg
4ecf63c54d Okay the proc_macro is actually doing something
At the cost of breaking code
2018-10-19 02:36:23 -07:00
greg
4b9c7e38dd Rename TypeName -> TypeIdentifier 2018-10-18 13:27:09 -07:00
greg
3b20b9e209 Put schala-lang crates into a subdirectory 2018-10-17 14:51:48 -07:00