<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Stanton <charlie@shtanton.xyz>2023-04-19 12:31:07 +0100
committerCharlie Stanton <charlie@shtanton.xyz>2023-04-19 12:31:07 +0100
commit61fd31368f26637a353cde6402b9a353b6b82e8b (patch)
tree25be689e78b5f9bb375a8900bcbae61e085b5f55
parent1c2d7a4e9258ed72f5c8ebecc3d575d065f25c5d (diff)
downloadstred-go-61fd31368f26637a353cde6402b9a353b6b82e8b.tar
Replaces a few instances of SubexStates with pointers as they should be
This potentially avoids bugs/errors and also improves the performance of pruning
-rw-r--r--subex/main.go2
-rw-r--r--subex/subexast.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/subex/main.go b/subex/main.go
index 4451a00..091625b 100644
--- a/subex/main.go
+++ b/subex/main.go
@@ -26,7 +26,7 @@ func (store Store) withValue(key rune, value []walk.Atom) Store {
// Compile the SubexAST into a transducer SubexState that can be run
func CompileTransducer(transducerAst SubexAST) SubexState {
- return transducerAst.compileWith(SubexNoneState{})
+ return transducerAst.compileWith(&SubexNoneState{})
}
// An immutable stack for outputting to
diff --git a/subex/subexast.go b/subex/subexast.go
index cec75f7..e191a30 100644
--- a/subex/subexast.go
+++ b/subex/subexast.go
@@ -118,7 +118,7 @@ type SubexASTRepeat struct {
func (ast SubexASTRepeat) compileWith(next SubexState) SubexState {
var state SubexState = &SubexDeadState{}
for _, convex := range ast.acceptable {
- state = SubexGroupState {state, convex.compile(ast.content, next)}
+ state = &SubexGroupState {state, convex.compile(ast.content, next)}
}
return state
}