aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/shedlang/compiler/stackir
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-06-10 20:56:57 +0100
committerMichael Williamson <mike@zwobble.org>2023-06-10 20:56:57 +0100
commitf623d56599a160d27c0f7e0b48e3b32cb2b3a471 (patch)
tree38c713fcbb3b79943d81babf9bf70af729b13c27 /src/main/java/org/shedlang/compiler/stackir
parent0cf3c519c2b834c1d5709e1e98be54cd98b90eb9 (diff)
Update CLI to print instructions
Diffstat (limited to 'src/main/java/org/shedlang/compiler/stackir')
-rw-r--r--src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java b/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java
index 65f29512..c542b94f 100644
--- a/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java
+++ b/src/main/java/org/shedlang/compiler/stackir/InstructionSerializer.java
@@ -11,6 +11,15 @@ public class InstructionSerializer {
private InstructionSerializer() {
}
+ public static void serializeInstructions(List<Instruction> instructions, StringBuilder builder) {
+ var tree = treeListIndented(
+ instructions.stream()
+ .map(instruction -> toTree(instruction))
+ .toList()
+ );
+ serializeTree(tree, builder, 0);
+ }
+
public static void serialize(Instruction instruction, StringBuilder builder) {
var tree = toTree(instruction);
serializeTree(tree, builder, 0);