File tree Expand file tree Collapse file tree 1 file changed +8
-5
lines changed
src/compiler/generate_code Expand file tree Collapse file tree 1 file changed +8
-5
lines changed Original file line number Diff line number Diff line change @@ -176,11 +176,14 @@ class CCodeGenerator {
176176 }
177177
178178 for (size_t i = 0 ; i < syntax_grammar.external_tokens .size (); i++) {
179- const ExternalToken &external_token = syntax_grammar.external_tokens [i];
180- if (external_token.corresponding_internal_token == rules::NONE ()) {
181- assign_symbol_id (Symbol::external (i), &symbol_id_values);
182- } else {
183- symbol_ids[Symbol::external (i)] = symbol_ids[external_token.corresponding_internal_token ];
179+ Symbol symbol = Symbol::external (i);
180+ if (!symbol_ids.count (symbol)) {
181+ const ExternalToken &external_token = syntax_grammar.external_tokens [i];
182+ if (external_token.corresponding_internal_token == rules::NONE ()) {
183+ assign_symbol_id (Symbol::external (i), &symbol_id_values);
184+ } else {
185+ symbol_ids[Symbol::external (i)] = symbol_ids[external_token.corresponding_internal_token ];
186+ }
184187 }
185188 }
186189
You can’t perform that action at this time.
0 commit comments