From 8badb0fab61a23dd81466c3f5f8aadd77bf952e3 Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Sat, 27 Nov 2021 19:37:41 +0000 Subject: Added basic support for arrays --- src/Compiler/Expression.java | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'src/Compiler/Expression.java') 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{ @@ -98,6 +99,22 @@ abstract class Expression { } final Token name; + } + + static class ArrayVariable extends Expression{ + + ArrayVariable(Token name,List positions){ + this.name=name; + this.positions=positions; + + } + @Override + public String getExpressionType() { + return "arrayvar"; + } + final Token name; + final List positions; + } public abstract String getExpressionType(); } -- cgit v1.2.3