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/Statement.java | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'src/Compiler/Statement.java') diff --git a/src/Compiler/Statement.java b/src/Compiler/Statement.java index a3c0960..a4fbff7 100644 --- a/src/Compiler/Statement.java +++ b/src/Compiler/Statement.java @@ -33,15 +33,15 @@ abstract class Statement { } static class IfStatement extends Statement{ - IfStatement(Expression condition, BlockStatement ifBlock,BlockStatement elseBlock){ + IfStatement(Expression condition, Statement ifBlock,Statement elseBlock){ this.condition=condition; this.ifBlock=ifBlock; this.elseBlock=elseBlock; } final Expression condition; - final BlockStatement ifBlock; - final BlockStatement elseBlock; + final Statement ifBlock; + final Statement elseBlock; @Override public String getStatmentType() { @@ -50,7 +50,7 @@ abstract class Statement { } static class DoStatement extends Statement{ - DoStatement(Expression variable, Expression start,Expression stop,Expression step,BlockStatement codeBlock){ + DoStatement(Expression variable, Expression start,Expression stop,Expression step,Statement codeBlock){ this.variable=variable; this.start=start; this.stop=stop; @@ -63,7 +63,7 @@ abstract class Statement { final Expression start; final Expression stop; final Expression step; - final BlockStatement codeBlock; + final Statement codeBlock; @Override public String getStatmentType() { @@ -72,14 +72,14 @@ abstract class Statement { } static class DoWhileStatement extends Statement{ - DoWhileStatement(Expression condition,BlockStatement codeBlock){ + DoWhileStatement(Expression condition,Statement codeBlock){ this.condition=condition; this.codeBlock=codeBlock; } final Expression condition; - final BlockStatement codeBlock; + final Statement codeBlock; @Override public String getStatmentType() { @@ -122,6 +122,24 @@ abstract class Statement { } + static class ArrayDeclaration extends Statement{ + ArrayDeclaration(Token name,String type,List dimensions){ + this.name=name; + this.dimensions=dimensions; + this.type=type; + } + + final String type; + final Token name; + final List dimensions; + + @Override + public String getStatmentType() { + return "arrayDec"; + } + + } + static class PrintStatement extends Statement{ PrintStatement(List exprList){ this.exprList=exprList; -- cgit v1.2.3