summaryrefslogtreecommitdiffstats
path: root/src/state.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/state.cpp')
-rw-r--r--src/state.cpp5
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();
}
}