From c112dbea7ff32cfe85716de9b34fc33bd2eaa582 Mon Sep 17 00:00:00 2001 From: Victor Date: Thu, 23 Apr 2015 14:22:13 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D1=8C=20=D0=B2=D0=BE=D1=81=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D1=8F=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=BD=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=BF=D0=B0=D1=80=D1=81=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/com/annimon/everlastingsummer/Parser.java | 16 +++++++++++++--- .../annimon/everlastingsummer/ViewActivity.java | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/com/annimon/everlastingsummer/Parser.java b/src/com/annimon/everlastingsummer/Parser.java index 59288bb..48b96ee 100644 --- a/src/com/annimon/everlastingsummer/Parser.java +++ b/src/com/annimon/everlastingsummer/Parser.java @@ -16,8 +16,9 @@ public final class Parser { private static Parser instance; - public static Parser parse(List tokens) { - instance = new Parser(tokens); + public static Parser parse(List tokens, SaveInfo save) { + if (save == null) instance = new Parser(tokens); + else instance = new Parser(tokens, save); return instance; } @@ -42,9 +43,18 @@ public final class Parser { private boolean hasEndMenu, hasEndIf; public Parser(List tokens) { + this(tokens, 0); + } + + public Parser(List tokens, SaveInfo info) { + this(tokens, info.getPosition()); + Variables.setVariables(info.getVariables()); + } + + private Parser(List tokens, int position) { this.tokens = tokens; tokensCount = tokens.size(); - position = 0; + this.position = position; labels = new HashMap(); hasEndMenu = false; hasEndIf = false; diff --git a/src/com/annimon/everlastingsummer/ViewActivity.java b/src/com/annimon/everlastingsummer/ViewActivity.java index f790b93..e6d085c 100644 --- a/src/com/annimon/everlastingsummer/ViewActivity.java +++ b/src/com/annimon/everlastingsummer/ViewActivity.java @@ -94,7 +94,7 @@ public final class ViewActivity extends Activity implements TouchGesture.OnTouch finish(); } - Parser.parse(Lexer.tokenize( IOUtil.readContents(stream) )); + Parser.parse(Lexer.tokenize( IOUtil.readContents(stream) ), save); Parser.getInstance().next(); stream = null; } catch (Exception ex) {