diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index 48b96ee..d10870d 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -78,6 +78,12 @@ public final class Parser { this.position = position; next(); } + + public void jumpLabel(String label) { + if (labels.containsKey(label)) { + position = labels.get(label); + } + } public void next() { // Команды разделяются на терминальные и нетерминальные. @@ -410,9 +416,7 @@ public final class Parser { private boolean jump() { final String labelName = consume(TokenType.WORD).getText(); - if (labels.containsKey(labelName)) { - position = labels.get(labelName); - } + jumpLabel(labelName); return false; }