From 61fd31368f26637a353cde6402b9a353b6b82e8b Mon Sep 17 00:00:00 2001 From: Charlie Stanton Date: Wed, 19 Apr 2023 12:31:07 +0100 Subject: Replaces a few instances of SubexStates with pointers as they should be This potentially avoids bugs/errors and also improves the performance of pruning --- subex/main.go | 2 +- subex/subexast.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'subex') 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 } -- cgit v1.2.3