From 86991830c05279583910758551a9c3974437623e Mon Sep 17 00:00:00 2001 From: Rose Hogenson Date: Sun, 11 Sep 2022 21:06:15 -0700 Subject: Fix a performance issues in parser.sml. --- parser.sml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/parser.sml b/parser.sml index 219b61f..af7ec76 100644 --- a/parser.sml +++ b/parser.sml @@ -77,12 +77,12 @@ struct fun newState (fileName : string) (fileStream : TextIO.instream) : state = State (TextIO.getInstream fileStream, newLoc fileName, makeUserState defaultInfixOperators) - fun updateUserState (f : userState -> infixTable) (State (stream, loc, us) : state) : userState parserResponse = - let val st' = makeUserState (f us) + fun updateUserState (f : userState -> userState) (State (stream, loc, us) : state) : userState parserResponse = + let val st' = f us in (Empty, Either.Right (st', State (stream, loc, st'), Hints [])) end - val getUserState : userState parser = updateUserState (fn (UserState (_, opTable)) => opTable) + val getUserState : userState parser = updateUserState (fn x => x) fun runParser (p : 'a parser) (fileName : string) : (string, 'a) Either.either = unpackParserResponse (p (newState fileName (TextIO.openIn fileName))) -- cgit v1.3.1