greg
|
b6e3469573
|
Default argument to function
|
2019-06-16 21:36:59 -07:00 |
|
greg
|
32fe7430a4
|
Equals should be a token type
|
2019-06-16 16:07:27 -07:00 |
|
greg
|
c332747c3e
|
Move parse test code into separate module
|
2019-06-16 15:03:34 -07:00 |
|
greg
|
33c2786ea1
|
More complicated FormalParam type
|
2019-06-16 14:56:52 -07:00 |
|
greg
|
71386be80e
|
Make tests pass by using multiple-k lookahead
|
2019-06-14 02:28:14 -07:00 |
|
greg
|
ccdc02bbd0
|
Peek multiple tokens ahead
|
2019-06-14 01:30:53 -07:00 |
|
greg
|
3a207cf7a7
|
Make TokenHandler use an array and index
Instead of a peekable iterator, so I can implement LL(k) parsing
|
2019-06-14 00:44:54 -07:00 |
|
greg
|
53ce31ea8c
|
Start creating new TokenHandler infra
on top of old stuff
|
2019-06-14 07:21:32 +00:00 |
|
greg
|
4c688ce8b2
|
Lol grammar is no longer LL(1)
need to fix
|
2019-06-13 02:27:11 -07:00 |
|
greg
|
40579d80ce
|
More work on args
not quite done
|
2019-06-12 03:28:46 -07:00 |
|
greg
|
fa1257e2cd
|
Starting work on more complicated call expressions
Probably won't build yet
|
2019-06-12 00:20:20 +00:00 |
|
greg
|
e9fd20bfe5
|
A few more fixes to EBNF
|
2019-06-09 01:12:19 -07:00 |
|
greg
|
dfbd951aaf
|
Some fixes to the EBNF grammar
|
2019-06-09 01:08:32 -07:00 |
|
greg
|
6b47ecf2d7
|
First pass at putting EBNF grammar into rustdoc
|
2019-06-09 00:01:11 -07:00 |
|
greg
|
956353cd80
|
Move rc! macro to util
So it can be used anywhere
|
2019-03-08 01:15:19 -08:00 |
|
greg
|
f041cc17d2
|
Wrap all Expression nodes in Meta<Expression>
|
2019-02-21 23:35:18 -08:00 |
|
greg
|
b35262c444
|
Rename Node -> Meta
|
2019-02-21 01:49:15 -08:00 |
|
greg
|
9fa0576547
|
Rename ExpressionType -> ExpressionKind
|
2019-02-21 01:26:51 -08:00 |
|
greg
|
a6eb2b4020
|
Allow type annotations in let expressions
|
2019-02-20 22:44:45 -08:00 |
|
greg
|
2be55958f4
|
add Into<String> arg for error constructors
|
2019-02-20 02:06:58 -08:00 |
|
greg
|
c225e469ee
|
Change Record variant representation
|
2019-01-24 20:47:20 -08:00 |
|
greg
|
a63dcf91b0
|
Replace // with quot
|
2019-01-10 20:57:13 -08:00 |
|
greg
|
479a098e0f
|
Make note to fix parsing bug
|
2019-01-09 17:37:51 -08:00 |
|
greg
|
9b3b5c5541
|
Token offsets
|
2019-01-08 02:11:19 -08:00 |
|
greg
|
ab8e24a276
|
ParseError always has token now
|
2019-01-08 01:04:46 -08:00 |
|
greg
|
09e2d8579d
|
Remove all ParseErrors that don't return the failed token
|
2019-01-08 01:00:40 -08:00 |
|
greg
|
ee7861cbd0
|
Fix how impl blocks work
This gets rid of a token-less parseerror
|
2019-01-08 00:51:56 -08:00 |
|
greg
|
30676722a3
|
Transition to edition 2018
|
2019-01-07 13:00:37 -08:00 |
|
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 |
|