From aa92464b1ce95f405bb1b30b0faa8cbf94fa1ac6 Mon Sep 17 00:00:00 2001 From: bringert Date: Thu, 8 Sep 2005 14:45:17 +0000 Subject: [PATCH] More work on make_fa. --- src/GF/Speech/TransformCFG.hs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/GF/Speech/TransformCFG.hs b/src/GF/Speech/TransformCFG.hs index 26c5b0ad6..5f1e4fb97 100644 --- a/src/GF/Speech/TransformCFG.hs +++ b/src/GF/Speech/TransformCFG.hs @@ -5,9 +5,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/09/08 15:40:49 $ +-- > CVS $Date: 2005/09/08 15:45:17 $ -- > CVS $Author: bringert $ --- > CVS $Revision: 1.18 $ +-- > CVS $Revision: 1.19 $ -- -- This module does some useful transformations on CFGs. -- @@ -148,8 +148,13 @@ make_fa :: State -> [Symbol Cat_ Token] -> State -> CFRules -> FA () (Maybe Token) -> FA () (Maybe Token) make_fa q0 a q1 g fa = case a of - [] -> newTrans q0 q1 Nothing fa - [Tok t] -> newTrans q0 q1 (Just t) fa + [] -> newTrans q0 q1 Nothing fa + [Tok t] -> newTrans q0 q1 (Just t) fa + [Cat c] -> undefined + (x:beta) -> let (fa',q) = newState () fa + fa'' = make_fa q0 [x] q g fa' + fa''' = make_fa q beta q1 g fa'' + in fa''' -- -- * CFG rule utilities