diff options
Diffstat (limited to 'src/state.cpp')
-rw-r--r-- | src/state.cpp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/state.cpp b/src/state.cpp index e798dce..958ab3e 100644 --- a/src/state.cpp +++ b/src/state.cpp @@ -55,11 +55,8 @@ void state_t::add_rule_terminal(unsigned char term) { void state_t::add_rule() { rules.emplace(current.get_lhs(), current); - while (true) { + while (current.has_next()) { items.emplace(current.get_next_symbol(), current); - if (!current.can_shift()) - break; - current.shift(); } } |