From 1b4f7c9741b87f7085f0a8b70034e5ce7cfe668a Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 5 Oct 2007 13:01:05 +0000 Subject: updated gfcc to new gfcc, now with parsing --- src/GF/GFCC/Linearize.hs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/GF/GFCC/Linearize.hs') diff --git a/src/GF/GFCC/Linearize.hs b/src/GF/GFCC/Linearize.hs index 33331168b..572b8fe08 100644 --- a/src/GF/GFCC/Linearize.hs +++ b/src/GF/GFCC/Linearize.hs @@ -20,6 +20,7 @@ realize trm = case trm of KP s _ -> unwords s ---- prefix choice TODO W s t -> s ++ realize t FV ts -> realize (ts !! 0) ---- other variants TODO + RP _ r -> realize r ---- DEPREC TM -> "?" _ -> "ERROR " ++ show trm ---- debug @@ -40,6 +41,7 @@ compute :: GFCC -> CId -> [Term] -> Term -> Term compute mcfg lang args = comp where comp trm = case trm of P r p -> proj (comp r) (comp p) + RP i t -> RP (comp i) (comp t) ---- DEPREC W s t -> W s (comp t) R ts -> R $ lmap comp ts V i -> idx args i -- already computed @@ -67,11 +69,13 @@ compute mcfg lang args = comp where getIndex t = case t of C i -> i + RP p _ -> getIndex p ---- DEPREC TM -> 0 -- default value for parameter _ -> error ("ERROR in grammar compiler: index from " ++ show t) 0 getField t i = case t of R rs -> idx rs i + RP _ r -> getField r i ---- DEPREC TM -> TM _ -> error ("ERROR in grammar compiler: field from " ++ show t) t -- cgit v1.2.3