diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-07-20 23:48:30 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-07-20 23:48:30 +0100 |
| commit | 02b996c4eb8d271349d9f248bb6396ce650c4e17 (patch) | |
| tree | 4d923968e47a0e38bca260efa18ced42c693125f /src/main/java | |
| parent | 40b380d258548a83a4adca9352e97eaae41a4342 (diff) | |
Add data-ptr operand
Diffstat (limited to 'src/main/java')
3 files changed, 9 insertions, 5 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java index 9fdfbdb5..91b77cc4 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/PatioSerializer.java @@ -1,10 +1,7 @@ package org.shedlang.compiler.patio.ast; import org.shedlang.compiler.patio.ast.instructions.*; -import org.shedlang.compiler.patio.ast.operands.PatioBool; -import org.shedlang.compiler.patio.ast.operands.PatioInt; -import org.shedlang.compiler.patio.ast.operands.PatioLocalRef; -import org.shedlang.compiler.patio.ast.operands.PatioOperand; +import org.shedlang.compiler.patio.ast.operands.*; import org.shedlang.compiler.patio.ast.types.*; import org.shedlang.compiler.treetext.Tree; @@ -226,6 +223,9 @@ public class PatioSerializer { case PatioBool bool -> treeList(treeIdentifier("bool"), treeBool(bool.value())); + case PatioDataPtr dataPtr -> + treeList(treeIdentifier("data-ptr"), treeString(dataPtr.name())); + case PatioInt int_ -> treeList(treeIdentifier("int"), treeInt(int_.value())); diff --git a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioDataPtr.java b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioDataPtr.java new file mode 100644 index 00000000..27d9333b --- /dev/null +++ b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioDataPtr.java @@ -0,0 +1,4 @@ +package org.shedlang.compiler.patio.ast.operands; + +public record PatioDataPtr(String name) implements PatioOperand { +} diff --git a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java index 8316867b..47d0d0ec 100644 --- a/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java +++ b/src/main/java/org/shedlang/compiler/patio/ast/operands/PatioOperand.java @@ -1,5 +1,5 @@ package org.shedlang.compiler.patio.ast.operands; -public sealed interface PatioOperand permits PatioBool, PatioInt, PatioLocalRef { +public sealed interface PatioOperand permits PatioBool, PatioDataPtr, PatioInt, PatioLocalRef { } |
