diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-10-05 13:01:05 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-10-05 13:01:05 +0000 |
| commit | 1b4f7c9741b87f7085f0a8b70034e5ce7cfe668a (patch) | |
| tree | 35da2472d3cdc01e5b449d66f51538524049d393 /src/GF/GFCC/Linearize.hs | |
| parent | 48623470cdba12f03f914c19677c6f7dc2072035 (diff) | |
updated gfcc to new gfcc, now with parsing
Diffstat (limited to 'src/GF/GFCC/Linearize.hs')
| -rw-r--r-- | src/GF/GFCC/Linearize.hs | 4 |
1 files changed, 4 insertions, 0 deletions
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 |
