diff --git a/src/backends/lalr.c b/src/backends/lalr.c index 15236f5e9e4992cf3fad76ff4b82a56311be6289..7a07c3d439ea267b3703b2002d8faac0281cb7db 100644 --- a/src/backends/lalr.c +++ b/src/backends/lalr.c @@ -250,6 +250,8 @@ HLRDFA *h_lalr_dfa(HCFGrammar *g) h_hashtable_put(states, neighbor, (void *)(uintptr_t)neighbor_idx); h_slist_push(work, neighbor); h_slist_push(work, (void *)(uintptr_t)neighbor_idx); + } else { + neighbor_idx = (uintptr_t)h_hashtable_get(states, neighbor); } // add transition "state --symbol--> neighbor"