merge
This commit is contained in:
commit
c967e4bfd0
1 changed files with 65 additions and 0 deletions
|
|
@ -367,7 +367,11 @@ static bool ts_parser__better_version_exists(t_parser *self,
|
|||
return true;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
=======
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
>>>>>>> master
|
||||
t_error_status status = {
|
||||
.cost = cost,
|
||||
.is_in_error = is_in_error,
|
||||
|
|
@ -506,6 +510,7 @@ static Subtree ts_parser__lex(t_parser *self, StackVersion version,
|
|||
return NULL_SUBTREE;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
const t_parse_length start_position =
|
||||
ts_stack_position(self->stack, version);
|
||||
const Subtree external_token =
|
||||
|
|
@ -521,11 +526,31 @@ static Subtree ts_parser__lex(t_parser *self, StackVersion version,
|
|||
t_i32 lookahead_end_byte = 0;
|
||||
t_i32 external_scanner_state_len = 0;
|
||||
bool external_scanner_state_changed = false;
|
||||
=======
|
||||
const t_parse_length start_position = ts_stack_position(self->stack, version);
|
||||
const Subtree external_token =
|
||||
ts_stack_last_external_token(self->stack, version);
|
||||
|
||||
bool found_external_token = false;
|
||||
bool error_mode = parse_state == ERROR_STATE;
|
||||
bool skipped_error = false;
|
||||
bool called_get_column = false;
|
||||
t_i32 first_error_character = 0;
|
||||
t_parse_length error_start_position = length_zero();
|
||||
t_parse_length error_end_position = length_zero();
|
||||
t_i32 lookahead_end_byte = 0;
|
||||
t_i32 external_scanner_state_len = 0;
|
||||
bool external_scanner_state_changed = false;
|
||||
>>>>>>> master
|
||||
ts_lexer_reset(&self->lexer, start_position);
|
||||
|
||||
for (;;)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
bool found_token = false;
|
||||
=======
|
||||
bool found_token = false;
|
||||
>>>>>>> master
|
||||
t_parse_length current_position = self->lexer.current_position;
|
||||
|
||||
if (lex_mode.external_lex_state != 0)
|
||||
|
|
@ -627,17 +652,25 @@ static Subtree ts_parser__lex(t_parser *self, StackVersion version,
|
|||
Subtree result;
|
||||
if (skipped_error)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
t_parse_length padding =
|
||||
length_sub(error_start_position, start_position);
|
||||
t_parse_length size =
|
||||
length_sub(error_end_position, error_start_position);
|
||||
t_u32 lookahead_bytes = lookahead_end_byte - error_end_position.bytes;
|
||||
=======
|
||||
t_parse_length padding = length_sub(error_start_position, start_position);
|
||||
t_parse_length size = length_sub(error_end_position, error_start_position);
|
||||
t_u32 lookahead_bytes =
|
||||
lookahead_end_byte - error_end_position.bytes;
|
||||
>>>>>>> master
|
||||
result = ts_subtree_new_error(&self->tree_pool, first_error_character,
|
||||
padding, size, lookahead_bytes,
|
||||
parse_state, self->language);
|
||||
}
|
||||
else
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
bool is_keyword = false;
|
||||
t_symbol symbol = self->lexer.data.result_symbol;
|
||||
t_parse_length padding =
|
||||
|
|
@ -645,6 +678,15 @@ static Subtree ts_parser__lex(t_parser *self, StackVersion version,
|
|||
t_parse_length size = length_sub(self->lexer.token_end_position,
|
||||
self->lexer.token_start_position);
|
||||
t_u32 lookahead_bytes =
|
||||
=======
|
||||
bool is_keyword = false;
|
||||
t_symbol symbol = self->lexer.data.result_symbol;
|
||||
t_parse_length padding =
|
||||
length_sub(self->lexer.token_start_position, start_position);
|
||||
t_parse_length size = length_sub(self->lexer.token_end_position,
|
||||
self->lexer.token_start_position);
|
||||
t_u32 lookahead_bytes =
|
||||
>>>>>>> master
|
||||
lookahead_end_byte - self->lexer.token_end_position.bytes;
|
||||
|
||||
if (found_external_token)
|
||||
|
|
@ -1301,11 +1343,19 @@ static bool ts_parser__recover_to_state(t_parser *self, StackVersion version,
|
|||
static void ts_parser__recover(t_parser *self, StackVersion version,
|
||||
Subtree lookahead)
|
||||
{
|
||||
<<<<<<< HEAD
|
||||
bool did_recover = false;
|
||||
unsigned previous_version_count = ts_stack_version_count(self->stack);
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
StackSummary *summary = ts_stack_get_summary(self->stack, version);
|
||||
unsigned node_count_since_error =
|
||||
=======
|
||||
bool did_recover = false;
|
||||
unsigned previous_version_count = ts_stack_version_count(self->stack);
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
StackSummary *summary = ts_stack_get_summary(self->stack, version);
|
||||
unsigned node_count_since_error =
|
||||
>>>>>>> master
|
||||
ts_stack_node_count_since_error(self->stack, version);
|
||||
unsigned current_error_cost = ts_stack_error_cost(self->stack, version);
|
||||
|
||||
|
|
@ -1517,8 +1567,13 @@ static void ts_parser__handle_error(t_parser *self, StackVersion version,
|
|||
// lookahead. After skipping one or more invalid tokens, the parser might
|
||||
// find a token that would have allowed a reduction to take place.
|
||||
ts_parser__do_all_potential_reductions(self, version, 0);
|
||||
<<<<<<< HEAD
|
||||
t_u32 version_count = ts_stack_version_count(self->stack);
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
=======
|
||||
t_u32 version_count = ts_stack_version_count(self->stack);
|
||||
t_parse_length position = ts_stack_position(self->stack, version);
|
||||
>>>>>>> master
|
||||
|
||||
// Push a discontinuity onto the stack. Merge all of the stack versions that
|
||||
// were created in the previous step.
|
||||
|
|
@ -2143,8 +2198,12 @@ void ts_parser_reset(t_parser *self)
|
|||
self->has_scanner_error = false;
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
t_parse_tree *ts_parser_parse(t_parser *self, const t_parse_tree *old_tree,
|
||||
t_parse_input input)
|
||||
=======
|
||||
t_parse_tree *ts_parser_parse(t_parser *self, const t_parse_tree *old_tree, t_parse_input input)
|
||||
>>>>>>> master
|
||||
{
|
||||
t_parse_tree *result = NULL;
|
||||
old_tree = NULL;
|
||||
|
|
@ -2265,10 +2324,16 @@ t_parse_tree *ts_parser_parse_string(t_parser *self,
|
|||
InputEncoding8);
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
t_parse_tree *ts_parser_parse_string_encoding(t_parser *self,
|
||||
const t_parse_tree *old_tree,
|
||||
const char *string, t_u32 length,
|
||||
t_input_encoding encoding)
|
||||
=======
|
||||
t_parse_tree *ts_parser_parse_string_encoding(t_parser *self, const t_parse_tree *old_tree,
|
||||
const char *string, t_u32 length,
|
||||
t_input_encoding encoding)
|
||||
>>>>>>> master
|
||||
{
|
||||
t_string_input input = {string, length};
|
||||
return ts_parser_parse(self, old_tree,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue