summaryrefslogtreecommitdiff
path: root/src/GF/GFCC/Linearize.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-10-05 13:01:05 +0000
committeraarne <aarne@cs.chalmers.se>2007-10-05 13:01:05 +0000
commit1b4f7c9741b87f7085f0a8b70034e5ce7cfe668a (patch)
tree35da2472d3cdc01e5b449d66f51538524049d393 /src/GF/GFCC/Linearize.hs
parent48623470cdba12f03f914c19677c6f7dc2072035 (diff)
updated gfcc to new gfcc, now with parsing
Diffstat (limited to 'src/GF/GFCC/Linearize.hs')
-rw-r--r--src/GF/GFCC/Linearize.hs4
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