diff options
author | Charlie Stanton <charlie@shtanton.xyz> | 2023-04-19 12:31:07 +0100 |
---|---|---|
committer | Charlie Stanton <charlie@shtanton.xyz> | 2023-04-19 12:31:07 +0100 |
commit | 61fd31368f26637a353cde6402b9a353b6b82e8b (patch) | |
tree | 25be689e78b5f9bb375a8900bcbae61e085b5f55 | |
parent | 1c2d7a4e9258ed72f5c8ebecc3d575d065f25c5d (diff) | |
download | stred-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.go | 2 | ||||
-rw-r--r-- | subex/subexast.go | 2 |
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 } |