diff options
Diffstat (limited to 'src/Compiler/Expression.java')
-rw-r--r-- | src/Compiler/Expression.java | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/src/Compiler/Expression.java b/src/Compiler/Expression.java index d331f24..8bdf378 100644 --- a/src/Compiler/Expression.java +++ b/src/Compiler/Expression.java @@ -1,5 +1,7 @@ package Compiler; +import java.util.List; + abstract class Expression { static class Binary extends Expression{ @@ -70,11 +72,11 @@ abstract class Expression { } static class AssignmentExpression extends Expression{ - final Token name; + final Expression variable; final Expression value; - AssignmentExpression(Token name,Expression value){ - this.name=name; + AssignmentExpression(Expression variable,Expression value){ + this.variable=variable; this.value=value; } @@ -82,8 +84,7 @@ abstract class Expression { @Override public String getExpressionType() { return "assign"; - } - + } } static class Variable extends Expression{ @@ -99,5 +100,21 @@ abstract class Expression { final Token name; } + + static class ArrayVariable extends Expression{ + + ArrayVariable(Token name,List<Expression> positions){ + this.name=name; + this.positions=positions; + + } + @Override + public String getExpressionType() { + return "arrayvar"; + } + final Token name; + final List<Expression> positions; + + } public abstract String getExpressionType(); } |