summaryrefslogtreecommitdiffstats
path: root/src/Compiler/Statement.java
diff options
context:
space:
mode:
authorAidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com>2021-11-27 19:37:41 +0000
committerAidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com>2021-11-27 19:37:41 +0000
commit8badb0fab61a23dd81466c3f5f8aadd77bf952e3 (patch)
tree41a7e51e700ddee1a4e66aebfd3edaea29b60203 /src/Compiler/Statement.java
parentac425713cfd5a4fac7ce5b607d722eeb9954ba10 (diff)
downloadesotericFORTRAN-8badb0fab61a23dd81466c3f5f8aadd77bf952e3.tar.gz
esotericFORTRAN-8badb0fab61a23dd81466c3f5f8aadd77bf952e3.zip
Added basic support for arrays
Diffstat (limited to 'src/Compiler/Statement.java')
-rw-r--r--src/Compiler/Statement.java32
1 files changed, 25 insertions, 7 deletions
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<Expression> dimensions){
+ this.name=name;
+ this.dimensions=dimensions;
+ this.type=type;
+ }
+
+ final String type;
+ final Token name;
+ final List<Expression> dimensions;
+
+ @Override
+ public String getStatmentType() {
+ return "arrayDec";
+ }
+
+ }
+
static class PrintStatement extends Statement{
PrintStatement(List<Expression> exprList){
this.exprList=exprList;