From 5d00068f228322a95895e7f92dd48e6cbb206832 Mon Sep 17 00:00:00 2001 From: Mel Date: Wed, 6 Jul 2022 01:45:49 +0200 Subject: Allow text compiler to use number labels as PCs --- pkg/lang/vm/text/compiler.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'pkg/lang') diff --git a/pkg/lang/vm/text/compiler.go b/pkg/lang/vm/text/compiler.go index 28bc9a7..21d8dae 100644 --- a/pkg/lang/vm/text/compiler.go +++ b/pkg/lang/vm/text/compiler.go @@ -194,7 +194,11 @@ func (cpl *Compiler) linkLabels(builder *code.Builder) error { for _, ref := range cpl.labelReferences { pos, ok := cpl.labelPositions[ref.label] if !ok { - return ErrUnkonwnLabel{ref.label} + if pc, err := strconv.ParseUint(ref.label, 10, 64); err == nil { + pos = int(pc) + } else { + return ErrUnkonwnLabel{ref.label} + } } builder.SetInt(ref.at, int64(pos)) -- cgit 1.4.1