1 module Reader 2 3 ( rg -- reads a grammar from a string 4 -- returns corresponding deterministic automaton 5 ) 6 7 where 8 9 import ExpParse (pline) 10 11 import FiniteMap 12 13 import Options 14 import Defaults 15 16 import Ids 17 import IdStack 18 import Gen 19 20 import FA 21 import FAtypes 22 import Gram2FA 23 24 import Syntax 25 import Semantik 26 27 -------------------------------------------------------------------- 28 29 rg :: String -> BDFA Int 30 rg cs = 31 let 32 (Just x, _) = pline (opts0, genpid) cs 33 g = docomp opts0 genenv x 34 35 in 36 t2d opts0 g 37 38