From c01b04cbeb3be96fd4e65103526872392d79886f Mon Sep 17 00:00:00 2001 From: Jed Barber Date: Sat, 12 Apr 2014 18:21:28 +1000 Subject: Changes to allow for thuestates that aren't mere strings --- src/Thue/Parser.hs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'src/Thue/Parser.hs') diff --git a/src/Thue/Parser.hs b/src/Thue/Parser.hs index 2ee41ae..10e9334 100644 --- a/src/Thue/Parser.hs +++ b/src/Thue/Parser.hs @@ -3,7 +3,9 @@ module Thue.Parser ( ThueRule(..), ThueState, - parseThue + parseThue, + toThueState, + fromThueState ) where import Control.Applicative( some ) @@ -31,6 +33,16 @@ parseThue = parse thue "error" +toThueState :: String -> ThueState +toThueState = id + + + +fromThueState :: ThueState -> String +fromThueState = id + + + thue = do rs <- many rule @@ -58,7 +70,7 @@ initialState = do return (concat s) -ruleState = some ruleStateChar +ruleState = some ruleStateChar >>= return . toThueState ruleStateChar = noneOf "\n\r:" @@ -66,7 +78,7 @@ ruleStateChar = noneOf "\n\r:" "state character" -state = many stateChar +state = many stateChar >>= return . toThueState stateChar = noneOf "\n\r" -- cgit