Commit graph

688 commits

Author SHA1 Message Date
Max Brunsfeld
a7ca28403e Log when selecting a tree in an ambiguity 2015-12-08 12:25:41 -08:00
Max Brunsfeld
10286f307f Pass reference to parser in stack's tree selection callback 2015-12-08 12:21:27 -08:00
Max Brunsfeld
4abb415113 Handle parse stack splitting while breaking down unverified reduction 2015-12-06 21:10:47 -08:00
Max Brunsfeld
4d48a2b1b5 Mark direct parents of errors as fragile 2015-12-06 20:31:10 -08:00
Max Brunsfeld
98f190d3ba When the parse stack is split, mark all reductions as fragile 2015-12-06 20:30:48 -08:00
Max Brunsfeld
26dad87299 Always mark reduce actions as fragile when they're discarded due to precedence 2015-12-06 14:09:24 -08:00
Max Brunsfeld
738c49abc8 Log each step when breaking down the parse stack 2015-12-04 20:57:33 -08:00
Max Brunsfeld
d69fef11f9 Break down top of parse stack when needed
Also, start randomizing the edits in the corpus specs
2015-12-04 20:57:33 -08:00
Max Brunsfeld
08d50c25ae clang-format 2015-12-04 20:56:33 -08:00
Max Brunsfeld
27bce56ef2 Merge pull request #12 from maxbrunsfeld/api-cleanup
Clean up API a bit after the addition of row/column tracking
2015-12-04 20:41:20 -08:00
Max Brunsfeld
d2bf88d5fe Include rows and columns in TSLength
This way, we don't have to have separate 1D and 2D versions for so many values
2015-12-04 20:20:29 -08:00
Max Brunsfeld
8939bd549d Fix named child count computation
Signed-off-by: Josh Vera <vera@github.com>
2015-12-04 15:51:04 -08:00
Max Brunsfeld
22c76fc71b Remove TSLength from runtime header
Refactor node functions now that character offset and byte offset are stored separately
2015-12-04 10:45:30 -08:00
Max Brunsfeld
8e217f758c Use individual args instead of TSLength in input seek function 2015-12-03 23:06:01 -08:00
Max Brunsfeld
b3a6de6dad Replace node pos/size functions with start/end char/byte functions 2015-12-03 22:59:27 -08:00
Max Brunsfeld
fe5286f863 Merge pull request #11 from maxbrunsfeld/move-ubiquitous-tokens-outward
Put ubiquitous tokens as high in the tree as possible
2015-12-03 10:06:50 -08:00
Max Brunsfeld
8a146a9bef Reset lexer correctly when old input was blank 2015-12-03 10:00:39 -08:00
Max Brunsfeld
863cabc827 Don't include trailing ubiquitous tokens as children when reducing 2015-12-02 15:31:15 -08:00
Max Brunsfeld
ad619d95f6 Add 'extra' field to symbol metadata
This stores whether a symbol is only ever used as a ubiquitous token. This will
allow ubiquitous nodes to be reused more effectively: if they are always
ubiquitous, then they can be reused immediately, and otherwise, they must be
broken down in case they need to be used structurally.
2015-12-02 15:10:24 -08:00
Max Brunsfeld
f08554e958 Replace NodeType enum with SymbolMetadata bitfield
This will allow storing other metadata about symbols, like if they
only appear as ubiquitous tokens
2015-12-02 15:10:24 -08:00
Max Brunsfeld
53424699e4 Comment all the steps of prepare_grammar 2015-12-02 14:56:59 -08:00
joshvera
06c790e16e declare ts_point_make before using it 2015-12-02 17:51:06 -05:00
joshvera
144aab22e6 missed two 2015-12-02 17:47:46 -05:00
joshvera
debf5205fb Don't use c-style structs 2015-12-02 17:44:14 -05:00
joshvera
e52c38a68f Work correctly when node's offset point is zero 2015-12-02 17:12:32 -05:00
joshvera
4953182707 add row to node equality 2015-12-02 16:45:20 -05:00
joshvera
7ad82cf684 add const 2015-12-02 16:45:12 -05:00
joshvera
5e748fdf63 s/ts_tree_offset_point/ts_tree_total_size_point 2015-12-02 16:41:56 -05:00
joshvera
e674094f64 Sum the offset_point like offset in ts_tree_assign_parents 2015-12-02 16:41:40 -05:00
joshvera
3f9c8b76de Add padding_point.row to ts_node_start_point's row. 2015-12-02 16:41:16 -05:00
joshvera
9da4aeaeff columns start at 0 for sanity's sake 2015-11-30 17:22:47 -05:00
joshvera
dc3818987c start points from zero 2015-11-30 16:54:10 -05:00
joshvera
cc77889d11 combine logs 2015-11-30 14:19:50 -05:00
joshvera
88d3432787 Merge remote-tracking branch 'joshvera/line-numbers' into line-numbers 2015-11-30 13:06:54 -05:00
joshvera
7633cbb836 indentation 2015-11-30 12:59:23 -05:00
joshvera
4af3b7d0fd Add offset_point to LookaheadState 2015-11-30 12:50:16 -05:00
joshvera
f5fc247c8b Merge remote-tracking branch 'origin/master' into line-numbers 2015-11-30 12:36:11 -05:00
joshvera
4cbc4b8bcf Revert "try starting from 1"
This reverts commit 11efff2442.
2015-11-30 12:16:58 -05:00
joshvera
2dc63f2c30 Revert "start the root node from 1"
This reverts commit 7fab9e2c42.
2015-11-30 12:16:49 -05:00
joshvera
7fab9e2c42 start the root node from 1 2015-11-25 14:28:52 -05:00
joshvera
11efff2442 try starting from 1 2015-11-25 14:25:11 -05:00
joshvera
3d9a44d880 Calculate the column and offset separately in TSNode 2015-11-25 13:36:19 -05:00
joshvera
4663b9ce89 Add padding and size points to ts_tree_make_leaf in ts_lexer__accept 2015-11-25 11:44:13 -05:00
joshvera
ad58b752e6 Rename ts_tree_total_size_point to ts_tree_offset_point 2015-11-25 11:28:28 -05:00
joshvera
2669933d06 Implement ts_find_parent_offset_point 2015-11-25 11:08:44 -05:00
Max Brunsfeld
ce27c2ee97 🔥 variable accidentally left in for debugging 2015-11-20 13:12:32 -08:00
Max Brunsfeld
c28db44cd9 🎨 2015-11-20 13:10:11 -08:00
Max Brunsfeld
32b1088823 Rename HeadState -> LookaheadState, remove parser.lookahead field 2015-11-20 12:55:01 -08:00
Max Brunsfeld
467930a785 Move some ts_language functions to the right file 2015-11-20 12:00:49 -08:00
Max Brunsfeld
5c95d02bd0 Move ts_tree_compare to the right file 2015-11-20 11:53:03 -08:00