From ff488f89c93aad767b46c4fe08a20e5fd26b54dc Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Tue, 8 Sep 2020 10:58:20 -0700 Subject: [PATCH] Make the --prev-abi flag work w/ the newest abi change --- cli/src/generate/mod.rs | 15 ++++----------- cli/src/generate/render.rs | 4 +++- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/cli/src/generate/mod.rs b/cli/src/generate/mod.rs index 12a59e1b..830c4a65 100644 --- a/cli/src/generate/mod.rs +++ b/cli/src/generate/mod.rs @@ -31,16 +31,9 @@ lazy_static! { .unwrap(); } -const NEW_HEADER_PARTS: [&'static str; 2] = [ - " - uint32_t large_state_count; - const uint16_t *small_parse_table; - const uint32_t *small_parse_table_map; - const TSSymbol *public_symbol_map;", - " -#define SMALL_STATE(id) id - LARGE_STATE_COUNT -", -]; +const NEW_HEADER_PARTS: &[&'static str] = &[" + const uint16_t *alias_map; + uint32_t state_count;"]; struct GeneratedParser { c_code: String, @@ -101,7 +94,7 @@ pub fn generate_parser_in_directory( } else { let mut header = tree_sitter::PARSER_HEADER.to_string(); - for part in &NEW_HEADER_PARTS { + for part in NEW_HEADER_PARTS.iter() { let pos = header .find(part) .expect("Missing expected part of parser.h header"); diff --git a/cli/src/generate/render.rs b/cli/src/generate/render.rs index 5b016cb6..2758eb58 100644 --- a/cli/src/generate/render.rs +++ b/cli/src/generate/render.rs @@ -109,7 +109,9 @@ impl Generator { self.add_alias_sequences(); } - self.add_non_terminal_alias_map(); + if self.next_abi { + self.add_non_terminal_alias_map(); + } let mut main_lex_table = LexTable::default(); swap(&mut main_lex_table, &mut self.main_lex_table);