diff --git a/MineTweaker3-API/src/main/java/minetweaker/runtime/MTTweaker.java b/MineTweaker3-API/src/main/java/minetweaker/runtime/MTTweaker.java index 1316c13..324c138 100644 --- a/MineTweaker3-API/src/main/java/minetweaker/runtime/MTTweaker.java +++ b/MineTweaker3-API/src/main/java/minetweaker/runtime/MTTweaker.java @@ -128,7 +128,7 @@ public class MTTweaker implements ITweaker { while (script.next()) { Reader reader = null; try { - reader = new InputStreamReader(new BufferedInputStream(script.open()), "UTF-8"); + reader = new InputStreamReader(new BufferedInputStream(script.open())); String filename = script.getName(); String className = extractClassName(filename); diff --git a/ZenScript/src/main/java/stanhebben/zenscript/ZenTokener.java b/ZenScript/src/main/java/stanhebben/zenscript/ZenTokener.java index aae6f6e..e143163 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/ZenTokener.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/ZenTokener.java @@ -95,7 +95,7 @@ public class ZenTokener extends TokenStream { private static final String[] REGEXPS = { "#[^\n]*[\n\\e]", "//[^\n]*[\n\\e]", - "/\\*[^\\*]*(\\*|\\*[^/\\*][^\\*]*)*\\*/", + "/\\*[^\\*]*(\\*[^/]*)*\\*/", "[ \t\r\n]*", "[a-zA-Z_][a-zA-Z_0-9]*", "\\-?(0|[1-9][0-9]*)\\.[0-9]+([eE][\\+\\-]?[0-9]+)?", diff --git a/ZenScript/src/main/java/stanhebben/zenscript/expression/ExpressionJavaLambda.java b/ZenScript/src/main/java/stanhebben/zenscript/expression/ExpressionJavaLambda.java index 4656124..2b23f87 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/expression/ExpressionJavaLambda.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/expression/ExpressionJavaLambda.java @@ -90,7 +90,6 @@ public class ExpressionJavaLambda extends Expression { for (Statement statement : statements) { statement.compile(environmentMethod); } - output.ret(); output.end(); environment.putClass(clsName, cw.toByteArray()); diff --git a/ZenScript/src/main/java/stanhebben/zenscript/parser/NFA.java b/ZenScript/src/main/java/stanhebben/zenscript/parser/NFA.java index c461dd0..8cf6ef9 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/parser/NFA.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/parser/NFA.java @@ -21,10 +21,6 @@ public class NFA { public static final int NOFINAL = Integer.MIN_VALUE; public static final int EPSILON = Integer.MIN_VALUE + 1; - /* UNICODE_ESCAPE should be between 128 and 256, so unicode chars can be - matched by regexp like '.' and '[^a]' and not by '[a-zA-Z]' */ - public static final int UNICODE_ESCAPE = 256; - private final NFAState initial; private HashMap converted; @@ -322,8 +318,6 @@ public class NFA { /* Processes a single character */ private int processChar(CharStream stream) { if (stream.optional('\\')) { - if (stream.optional('u')) - return UNICODE_ESCAPE; if (stream.optional('e')) return -1; if (stream.optional('r')) diff --git a/ZenScript/src/main/java/stanhebben/zenscript/parser/TokenStream.java b/ZenScript/src/main/java/stanhebben/zenscript/parser/TokenStream.java index 21145e0..ca3ca1a 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/parser/TokenStream.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/parser/TokenStream.java @@ -212,17 +212,12 @@ public class TokenStream implements Iterator { StringBuilder value = new StringBuilder(); int tLine = line; int tLineOffset = lineOffset; - int _fakeNextChar = nextChar > 127 ? NFA.UNICODE_ESCAPE : nextChar; - while (dfa.transitions[state].containsKey(_fakeNextChar)) { - if (nextChar < 0) - value.append((char) nextChar); - else - value.appendCodePoint(nextChar); - state = dfa.transitions[state].get(_fakeNextChar); + while (dfa.transitions[state].containsKey(nextChar)) { + value.append((char) nextChar); + state = dfa.transitions[state].get(nextChar); line = reader.line; lineOffset = reader.lineOffset; nextChar = reader.read(); - _fakeNextChar = nextChar > 127 ? NFA.UNICODE_ESCAPE : nextChar; } if (line < 0) diff --git a/ZenScript/src/main/java/stanhebben/zenscript/statements/Statement.java b/ZenScript/src/main/java/stanhebben/zenscript/statements/Statement.java index d78c24e..4ab266c 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/statements/Statement.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/statements/Statement.java @@ -26,10 +26,7 @@ public abstract class Statement { } case T_RETURN: { parser.next(); - ParsedExpression expression = null; - if (parser.peek() != null && !parser.isNext(T_SEMICOLON)) { - expression = ParsedExpression.read(parser, environment); - } + ParsedExpression expression = ParsedExpression.read(parser, environment); parser.required(T_SEMICOLON, "; expected"); return new StatementReturn(next.getPosition(), returnType, expression); } diff --git a/ZenScript/src/main/java/stanhebben/zenscript/statements/StatementForeach.java b/ZenScript/src/main/java/stanhebben/zenscript/statements/StatementForeach.java index 12a244b..7fbbd66 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/statements/StatementForeach.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/statements/StatementForeach.java @@ -57,6 +57,5 @@ public class StatementForeach extends Statement { body.compile(local); iterator.compilePostIterate(localVariables, exit, repeat); methodOutput.label(exit); - iterator.compileEnd(); } } diff --git a/ZenScript/src/main/java/stanhebben/zenscript/type/expand/ZenExpandMember.java b/ZenScript/src/main/java/stanhebben/zenscript/type/expand/ZenExpandMember.java index 2f9a468..1fdad05 100644 --- a/ZenScript/src/main/java/stanhebben/zenscript/type/expand/ZenExpandMember.java +++ b/ZenScript/src/main/java/stanhebben/zenscript/type/expand/ZenExpandMember.java @@ -77,12 +77,12 @@ public class ZenExpandMember { @Override public Expression eval(IEnvironmentGlobal environment) { - return new ExpressionCallStatic(position, environment, getter, value.eval(environment)); + return new ExpressionCallVirtual(position, environment, getter, value.eval(environment)); } @Override public Expression assign(ZenPosition position, IEnvironmentGlobal environment, Expression other) { - return new ExpressionCallStatic(position, environment, setter, value.eval(environment), other); + return new ExpressionCallVirtual(position, environment, setter, value.eval(environment), other); } @Override