Phil Turnbull
dee86f908a
Correctly check type is ParseActionTypeRecover
2017-06-07 17:05:39 -04:00
Max Brunsfeld
f829e81f30
Add MIT license
2017-05-03 10:32:12 -07:00
Max Brunsfeld
7b401de5a6
Don't use pointer equality to compare external token states
2017-05-03 09:57:09 -07:00
Max Brunsfeld
34b47536e0
Merge pull request #75 from tree-sitter/halt-on-error-option
...
Add an option to immediately halt on syntax error
2017-05-03 09:49:40 -07:00
Max Brunsfeld
e8a9bb7a51
🎨 Extract parser__halt_parse function
2017-05-01 14:41:55 -07:00
Max Brunsfeld
74f5ceddf7
Fix parsing of valid code with halt_on_error flag set
...
Signed-off-by: Tim Clem <timothy.clem@gmail.com>
2017-05-01 14:25:25 -07:00
Max Brunsfeld
a98d449d88
Add an option to immediately halt on syntax error
2017-05-01 13:50:49 -07:00
Timothy Clem
f594ed2519
Merge pull request #74 from tree-sitter/check-utf8proc_iterate-return
...
Check utf8proc_iterate return
2017-05-01 10:46:24 -07:00
Max Brunsfeld
82cb1c9806
Handle invalid UTF8 in encoding test helpers
...
Signed-off-by: Tim Clem <timothy.clem@gmail.com>
2017-04-27 14:49:44 -07:00
Max Brunsfeld
704c2d5907
Fix lookahead_char type in ts_tree_make_error function
2017-04-27 14:49:04 -07:00
Max Brunsfeld
03a555a86e
Finish test for invalid UTF8 handling
...
Signed-off-by: Tim Clem <timothy.clem@gmail.com>
2017-04-27 14:48:16 -07:00
Timothy Clem
37f2a4745f
Test demonstrating non-UT8 input failure
2017-04-27 14:46:36 -07:00
Timothy Clem
91558f0a0e
utf8proc_iterate can set codepoint_ref to -1 and returns negative error
2017-04-27 14:46:36 -07:00
Rob Rix
09d3b5ef3a
Merge pull request #73 from tree-sitter/symbol-types
...
Symbol types
2017-04-12 12:42:57 -04:00
Rob Rix
3a888b1623
Define a function providing the type of a given symbol.
2017-04-12 09:47:51 -04:00
Rob Rix
4b1f69142d
Define a symbol type enum.
2017-04-12 09:46:01 -04:00
Max Brunsfeld
3298c2ce88
Merge pull request #72 from tree-sitter/unique-external-scanner-map
...
Make external scanner symbol map unique
2017-03-24 16:02:47 -07:00
joshvera
f76935cc7e
just make it static
2017-03-24 18:38:21 -04:00
joshvera
6938b288a5
Make external scanner symbol map unique
2017-03-24 14:51:37 -04:00
Max Brunsfeld
3f0640aa8d
Merge pull request #70 from tree-sitter/anonymous-external-tokens
...
Allow anonymous tokens to be used in grammars' external token lists
2017-03-17 17:10:13 -07:00
Max Brunsfeld
24878277e9
Use new version of python grammar in tests
2017-03-17 17:05:02 -07:00
Max Brunsfeld
6d8f9ebaba
In tests, regenerate parser if its timestamp matches grammar.json
...
After running the fetch-fixtures script, their timestamps may be equal,
but in this situation we *do* want to re-generate the parsers.
2017-03-17 17:04:04 -07:00
Max Brunsfeld
17876b6826
Update grammar JSON schema
2017-03-17 16:41:30 -07:00
Max Brunsfeld
ed8fbff175
Allow anonymous tokens to be used in grammars' external token lists
2017-03-17 16:31:29 -07:00
Max Brunsfeld
e2baf0930b
Use simple CharacterSet constructor in LexItem test
2017-03-17 14:47:11 -07:00
Max Brunsfeld
4d39f13eaf
Merge pull request #69 from tree-sitter/rules-variant
...
Implement Rule as a union type rather than an abstract base class
2017-03-17 14:35:42 -07:00
Max Brunsfeld
b3edd8f749
Remove use of shared_ptr in choice, repeat, and seq factories
2017-03-17 14:28:13 -07:00
Max Brunsfeld
d9fb863bea
Fix build errors w/ gcc
2017-03-17 14:03:49 -07:00
Max Brunsfeld
416cbb9def
Add missing cassert includes
2017-03-17 13:54:40 -07:00
Max Brunsfeld
90d21adf3b
Format make_visitor helper consistently w/ project
2017-03-17 13:37:26 -07:00
Max Brunsfeld
79ffc20be1
Remove RTTI flag in gyp file
2017-03-17 13:31:35 -07:00
Max Brunsfeld
db4b9ebc7c
Implement Rule as a union rather than an abstract base class
2017-03-17 13:29:31 -07:00
Max Brunsfeld
272e3cc9c6
Merge pull request #68 from tree-sitter/lexer-lookahead
...
Allow lexer to look ahead in order to find the actual longest match
2017-03-13 17:40:52 -07:00
Max Brunsfeld
42b05b4b5e
Add simple unit test for invalidating trees preceding an edit due to lookahead
2017-03-13 17:34:31 -07:00
Max Brunsfeld
d222dbb9fd
Allow lexer to accept tokens that ended at previous positions
...
* Track lookahead in each tree
* Add 'mark_end' API that external scanners can use
2017-03-13 17:06:52 -07:00
Max Brunsfeld
12d2a9d93f
Merge pull request #66 from tree-sitter/handle-unused-tokens
...
Handle unused tokens
2017-03-09 21:20:13 -08:00
Max Brunsfeld
f04d7c5860
Handle unused tokens
2017-03-09 21:16:37 -08:00
Max Brunsfeld
c79fae6d21
Clean up extract_tokens function
2017-03-09 21:16:20 -08:00
Max Brunsfeld
dc2035c262
Clean up gitignore
2017-03-09 20:49:11 -08:00
Max Brunsfeld
6dc0ff359d
Rename spec -> test
...
'Test' is a lot more straightforward of a name.
2017-03-09 20:40:01 -08:00
Max Brunsfeld
7d8daf573e
Remove gitattrs file
...
There's no longer any generated code checked in.
2017-03-09 20:31:18 -08:00
Max Brunsfeld
796fc26c74
Add a readme to another fixture grammar
2017-03-09 14:37:55 -08:00
Max Brunsfeld
53f72f0eca
Fix list formatting in a fixture grammar readme
2017-03-09 12:28:25 -08:00
Max Brunsfeld
352e678c12
Merge pull request #63 from tree-sitter/avoid-lexing-issues-when-merging-states
...
Avoid introducing new lexical conflicts when merging parse states
2017-03-09 12:19:46 -08:00
Max Brunsfeld
56ec45729c
Add regression test for avoiding lexical conflicts due to state merging
2017-03-09 12:13:44 -08:00
Max Brunsfeld
ac4167fdc9
Restructure integration tests to use separate JSON and corpus files
...
This makes these tests way easier to write and read.
2017-03-09 11:49:36 -08:00
Max Brunsfeld
f049d5d94c
Make ParseItem a struct, not a class
2017-03-08 21:06:30 -08:00
Max Brunsfeld
64e9230071
Use LexTableBuilder to detect conflicts between tokens more correctly
2017-03-08 12:47:38 -08:00
Max Brunsfeld
abf8a4f2c2
🎨
2017-03-01 22:15:26 -08:00
Max Brunsfeld
686dc0997c
Avoid introducing certain lexical conflicts during parse state merging
...
The current pretty conservative approach is to avoid merging parse states which
would cause a pair tokens to co-exist for the first time in any parse state,
where the two tokens can start with the same character and at least one of the
tokens can contain a character which is part of the grammar's separators.
2017-02-27 22:54:38 -08:00