Commit graph

124 commits

Author SHA1 Message Date
Max Brunsfeld
7e0d46002c Rename type ts_state_id -> TSStateId 2014-06-28 18:51:06 -07:00
Max Brunsfeld
5f59de72a8 Rename type ts_tree -> TSTree 2014-06-28 18:48:07 -07:00
Max Brunsfeld
2795078633 Rename type ts_document -> TSDocument 2014-06-28 18:37:29 -07:00
Max Brunsfeld
9686c57e90 Allow ubiquitous tokens to also be used in grammar rules 2014-06-26 08:52:42 -07:00
Max Brunsfeld
81880e000e Tweak header include paths in tests 2014-06-23 18:50:03 -07:00
Max Brunsfeld
2c382b7363 Trim trailing whitespace 2014-06-16 21:33:35 -07:00
Max Brunsfeld
bb4d83ce47 Add regex postfix flags to javascript grammar
- Refactor statement terminators in javascript grammar
- Reorganize javascript language tests
2014-06-11 16:43:27 -07:00
Max Brunsfeld
082560dd6e Fix operator precedence of '.' operator in js grammar 2014-06-11 14:01:38 -07:00
Max Brunsfeld
174f306e2a Fix precedence of comments vs '/' operator 2014-06-11 12:27:58 -07:00
Max Brunsfeld
4ad6278334 Add finally, instance of, typeof, in to js grammar 2014-06-11 11:49:06 -07:00
Max Brunsfeld
c91c5cb730 Add range statements to golang grammar 2014-06-10 14:11:25 -07:00
Max Brunsfeld
53bc633a22 Add var decl and if statements to golang grammar 2014-06-10 13:27:55 -07:00
Max Brunsfeld
1c93d5e1a6 Add declarations w/o initialization to golang grammar 2014-06-10 11:57:45 -07:00
Max Brunsfeld
3968f36a03 Reorganize golang specs 2014-06-10 11:39:36 -07:00
Max Brunsfeld
123d3b26d8 Add more expressions, statements to golang grammar 2014-06-10 11:33:05 -07:00
Max Brunsfeld
8d48c3e48a Fix integer type incompatibility warnings in specs 2014-06-09 21:35:41 -07:00
Max Brunsfeld
1b1f53a5e7 Fix memory leaks in tests 2014-06-09 21:16:33 -07:00
Max Brunsfeld
21c259df9c Clean up lint errors 2014-06-09 21:14:38 -07:00
Max Brunsfeld
12331d66f5 Fix memory leaks 2014-06-09 13:12:44 -07:00
Max Brunsfeld
4602690c1a Fix lr parser spec for gcc 2014-06-08 23:34:08 +00:00
Max Brunsfeld
652fa2f8a5 Fix stack spec on gcc 2014-06-04 18:24:54 -07:00
Max Brunsfeld
9a4889176e Move lr_parser implementation into a separate .c file 2014-06-04 13:34:37 -07:00
Max Brunsfeld
63cde3967c Add unit test for stack
- Also, fix bug where trees pushed onto the stack were not retained
2014-06-03 13:19:49 -07:00
Max Brunsfeld
baec9f2c9a Move computation of tree size/offset into tree constructor 2014-06-02 13:32:36 -07:00
Max Brunsfeld
e93e254518 In lexer, prefer tokens to skipped separator characters
This was causing newlines in go and javascript to be parsed as
meaningless separator characters instead of statement terminators
2014-05-30 13:29:54 -07:00
Max Brunsfeld
2988cc5aa2 Show offending lookahead chars when pretty-printing trees w/ errors 2014-05-26 21:50:01 -07:00
Max Brunsfeld
6f45380f71 Move type-related tests for go grammar into their own file 2014-05-26 21:48:00 -07:00
Max Brunsfeld
4c9ac3dada Fix parsing of empty strings in javascript and golang 2014-05-20 09:47:26 -07:00
Max Brunsfeld
2d0f90c7d5 Add try and while statements to js grammar 2014-05-09 21:36:18 -07:00
Max Brunsfeld
e4be585c43 Handle ubiquitous tokens at the beginning of programs
As a final step before returning the finished parse tree, check if
there are still multiple nodes on the stack. If so, make the inner
nodes children of the top node.
2014-05-09 12:46:36 -07:00
Max Brunsfeld
4700e33746 Introduce 'ubiquitous_tokens' concept, for parsing comments and such 2014-05-06 12:54:04 -07:00
Max Brunsfeld
bae32adc7b Add constructor calls, pre/postfix operators to js grammar 2014-05-04 13:36:19 -07:00
Max Brunsfeld
1bdd87535a Add prefix math operators +, - to javascript grammar 2014-05-02 07:42:13 -07:00
Max Brunsfeld
a2c125998e Add single quoted strings and regexes to javascript grammar 2014-05-01 12:43:53 -07:00
Max Brunsfeld
801f4bd0a8 Add returns, deletes and bool operators to js grammar 2014-04-25 22:08:11 -07:00
Max Brunsfeld
61692c8bb1 Add error recovery in function calls to javascript gramamr 2014-04-24 13:22:54 -07:00
Max Brunsfeld
68c26a06b1 Add comments to javascript grammar 2014-04-24 13:22:23 -07:00
Max Brunsfeld
52c338ed60 Add some infix math operators to javascript grammar 2014-04-23 22:25:48 -07:00
Max Brunsfeld
7be8d469b8 Add ternary expressions to javascript grammar 2014-04-23 22:15:07 -07:00
Max Brunsfeld
a437d39773 Add rule precedence construct
Still need to add some way of expressing left and right
associativity
2014-04-15 08:40:46 -07:00
Max Brunsfeld
cad6122295 Use boost regex on travis ci 2014-04-10 13:17:45 -07:00
Max Brunsfeld
6a0a28f4b3 WIP - try to fix travis build 2014-04-08 21:41:38 -07:00
Max Brunsfeld
be1c8e0f17 Add dynamic property access to javascript grammar 2014-04-05 15:55:20 -07:00
Max Brunsfeld
2191a7d988 Add switch statements to javascript grammar 2014-04-04 13:10:33 -07:00
Max Brunsfeld
129d2b9314 Remove extra EOF actions in lexer 2014-04-04 08:44:35 -07:00
Max Brunsfeld
1cc7e32e2d Fix handling of tokens consisting of separator characters
The parser is no longer hard-coded to skip whitespace. Tokens
such as newlines, whose characters overlap with the separator
characters, can now be correctly recognized.
2014-04-03 19:10:09 -07:00
Max Brunsfeld
8e1b78ca8e Remove trailing whitespace from generated c code 2014-03-29 19:00:31 -07:00
Max Brunsfeld
99817a38c1 Improve trees generated by arithmetic grammar
This work should inform how to implement operator
precedence helper functions
2014-03-29 18:37:51 -07:00
Max Brunsfeld
7adb0bf34f Add golang example grammar
Also, support '\a' character class shorthand in regexes,
for alphabetical characters
2014-03-29 16:29:34 -07:00
Max Brunsfeld
13c4e6e648 Tweak format for example grammars 2014-03-28 13:51:32 -07:00