diff options
| author | aarne <unknown> | 2004-08-24 11:49:46 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2004-08-24 11:49:46 +0000 |
| commit | c86192273657fe17d4dfe246f0d850379b9e5866 (patch) | |
| tree | 0c388671f158d8be47582766939b9bdb59a92f15 /src/GF/CF | |
| parent | b57e3fff8c445bcc926c1018ac50a67e6417bf15 (diff) | |
some var parser bug fixes
Diffstat (limited to 'src/GF/CF')
| -rw-r--r-- | src/GF/CF/CanonToCF.hs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/GF/CF/CanonToCF.hs b/src/GF/CF/CanonToCF.hs index d2e247360..915e11db2 100644 --- a/src/GF/CF/CanonToCF.hs +++ b/src/GF/CF/CanonToCF.hs @@ -73,7 +73,7 @@ mkCfRules m fun cat args (lab, itss) = mapM mkOneRule itss mkOne (A c i) = mkOne (AB c 0 i) mkOne (AB _ b i) = (map mkB [0..b-1], [k | (k,(j,_,True)) <- nonterms, j==i]) where - mkB j = [p | (p,(k, LV l,False)) <- nonterms, k == i, l == j] + mkB x = [k | (k,(j, LV y,False)) <- nonterms, j == i, y == x] -- intermediate data structure of CFItems with information for profiles data PreCFItem = @@ -143,10 +143,10 @@ term2CFItems m t = errIn "forming cf items" $ case t of tryMkCFTerm itss = return itss extrR arg lab = case (arg,lab) of - (Arg (A cat pos), l@(L _)) -> return [[PNonterm (cIQ cat) pos l True]] - (Arg (A cat pos), l@(LV _)) -> return [[PNonterm (cIQ cat) pos l False]] - (Arg (AB cat pos b), l@(L _)) -> return [[PNonterm (cIQ cat) pos l True]] - (Arg (AB cat pos b), l@(LV _)) -> return [[PNonterm (cIQ cat) pos l False]] + (Arg (A cat pos), l@(L _)) -> return [[PNonterm (cIQ cat) pos l True]] + (Arg (A cat pos), l@(LV _)) -> return [[PNonterm (cIQ cat) pos l False]] + (Arg (AB cat b pos), l@(L _)) -> return [[PNonterm (cIQ cat) pos l True]] + (Arg (AB cat b pos), l@(LV _)) -> return [[PNonterm (cIQ cat) pos l False]] ---- ?? _ -> prtBad "cannot extract record field from" arg cIQ c = if isPredefCat c then CIQ cPredefAbs c else CIQ m c @@ -158,7 +158,7 @@ mkCFPredef opts rules = (ruls, \s -> preds0 s ++ look s) where else (rules,emptyTrie) preds0 s = [(cat, metaCFFun) | TM _ _ <- [s], cat <- cats] ++ - [(cat, varCFFun x) | TV x <- [s], cat <- cats] ++ + [(cat, varCFFun x) | TV x <- [s], cat <- catVarCF : cats] ++ [(cfCatString, stringCFFun t) | TL t <- [s]] ++ [(cfCatInt, intCFFun t) | TI t <- [s]] cats = map fst rules |
