summaryrefslogtreecommitdiff
path: root/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement')
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java10
-rw-r--r--src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/Statement.java15
2 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java
new file mode 100644
index 0000000..64bc0a8
--- /dev/null
+++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/ExpressionStatement.java
@@ -0,0 +1,10 @@
+package no.eliashaugsbakk.kompilator.parsing.node.statement;
+
+import no.eliashaugsbakk.kompilator.parsing.node.expression.Expression;
+
+public class ExpressionStatement extends Statement {
+ public Expression expression;
+ public ExpressionStatement(Expression expression) {
+ this.expression = expression;
+ }
+}
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/Statement.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/Statement.java
new file mode 100644
index 0000000..fc52f9a
--- /dev/null
+++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/statement/Statement.java
@@ -0,0 +1,15 @@
+package no.eliashaugsbakk.kompilator.parsing.node.statement;
+
+import no.eliashaugsbakk.kompilator.parsing.node.ASTNode;
+
+/**
+ * Base class for all statement nodes.
+ * A statement is a top-level line of code that performs an action.
+ * <p>
+ * Examples:
+ * - print("Hello"); (function call statement)
+ * - var x: int = 5; (variable declaration statement)
+ * - if (x > 0) { } (conditional statement)
+ */
+public abstract class Statement extends ASTNode {
+}