diff options
| author | Elias Haugsbakk <[email protected]> | 2026-09-20 03:12:03 +0200 |
|---|---|---|
| committer | Elias Haugsbakk <[email protected]> | 2026-09-20 03:12:03 +0200 |
| commit | 1422d647cddb577fafc19ee97e33a394aefc560b (patch) | |
| tree | ec993727b3eef658c59c1bc0bb92abf5badcbbd2 /src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression | |
| parent | 561d9e45bff6c36d2580259c8fe05a2f4ec756dd (diff) | |
add rules to semantics analyzer
Diffstat (limited to 'src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression')
| -rw-r--r-- | src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java | 9 | ||||
| -rw-r--r-- | src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java index 3c46ec4..2537d9c 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/FunctionCall.java @@ -1,6 +1,7 @@ package no.eliashaugsbakk.kompilator.parsing.node.expression; import java.util.List; +import no.eliashaugsbakk.kompilator.parsing.Type; /** * Represents a function call statement (e.g., print("Hello, world")). @@ -13,4 +14,12 @@ public class FunctionCall extends Expression { this.functionName = functionName; this.arguments = arguments; } + + public Type getReturnType() { + if (functionName.equals("skriv")) { + return new Type("void", false); + } + // TODO: Look up return type in function table when you add more functions + return null; + } } diff --git a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java index c1f475f..91607f8 100644 --- a/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java +++ b/src/main/java/no/eliashaugsbakk/kompilator/parsing/node/expression/Identifier.java @@ -4,7 +4,7 @@ package no.eliashaugsbakk.kompilator.parsing.node.expression; * Resolves to a variable's value */ public class Identifier extends Expression { - final String name; + public final String name; public Identifier(String name) { this.name = name; |
