diff options
Diffstat (limited to 'parser.sml')
| -rw-r--r-- | parser.sml | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -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))) |
