summaryrefslogtreecommitdiffstats
path: root/src/Compiler/Statement.java
diff options
context:
space:
mode:
authorAidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com>2021-11-06 16:40:12 +0000
committerAidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com>2021-11-06 16:40:12 +0000
commitd3046e3b1481cf6d190b8fcb814985e29852b5eb (patch)
tree0f0f966c017a09c74f032253bb6c4df400ee50df /src/Compiler/Statement.java
parent0c54d7f8cb4b17d80ed21f7a9916ad27a13e34ed (diff)
downloadesotericFORTRAN-d3046e3b1481cf6d190b8fcb814985e29852b5eb.tar.gz
esotericFORTRAN-d3046e3b1481cf6d190b8fcb814985e29852b5eb.zip
Working if/else statements (very basic and unstable)
Diffstat (limited to 'src/Compiler/Statement.java')
-rw-r--r--src/Compiler/Statement.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/Compiler/Statement.java b/src/Compiler/Statement.java
index 885e462..6b58878 100644
--- a/src/Compiler/Statement.java
+++ b/src/Compiler/Statement.java
@@ -1,5 +1,7 @@
package Compiler;
+import java.util.List;
+
abstract class Statement {
static class ExpressionStatement extends Statement{
@@ -16,6 +18,23 @@ abstract class Statement {
}
}
+ static class IfStatement extends Statement{
+ IfStatement(Expression condition, List<Statement> statements,List<Statement> elseStatements){
+ this.condition=condition;
+ this.statements=statements;
+ this.elseStatements=elseStatements;
+ }
+
+ final Expression condition;
+ final List<Statement> statements;
+ final List<Statement> elseStatements;
+
+ @Override
+ public String getStatmentType() {
+ return "ifStmt";
+ }
+ }
+
static class VariableDeclaration extends Statement{
VariableDeclaration(Token name){