1
0
forked from GitHub/gf-core

Add case for when pre is not followed by anything

This commit is contained in:
John J. Camilleri
2021-02-16 21:01:01 +01:00
parent 7227ede24b
commit 4c06c3f825
5 changed files with 11 additions and 1 deletions

View File

@@ -167,6 +167,7 @@ lin2string l = case l of
LFSpace -> "" -- when encountered at beginning/end
LFToken tok -> tok
LFTuple [l] -> lin2string l
LFPre pts df -> lin2string df -- when encountered at end
LFConcat (LFPre pts df) l2 -> lin2string $ LFConcat l1 l2
where
l2' = lin2string l2
@@ -177,7 +178,7 @@ lin2string l = case l of
LFConcat LFCapit l2 -> let l = lin2string l2 in T.toUpper (T.take 1 l) `T.append` T.drop 1 l
LFConcat LFAllCapit l2 -> let tks = T.words (lin2string l2) in T.unwords $ T.toUpper (head tks) : tail tks
LFConcat l1 l2 -> T.unwords $ filter (not.T.null) [lin2string l1, lin2string l2]
x -> T.pack $ printf "[%s]" (show x)
x -> T.pack $ printf "<%s>" (show x)
-- | List indexing with more verbose error messages
(!!) :: (Show a) => [a] -> Int -> a

View File

@@ -4,4 +4,5 @@ abstract Pre = {
ant, dog: N ;
a, the: Det ;
mkS : Det -> N -> S;
detS : Det -> S;
}

View File

@@ -10,3 +10,8 @@ PreCnc: a dog
Pre: mkS the dog
PreCnc: the dog
Pre: detS a
PreCnc: a
Pre: detS the
PreCnc: the

View File

@@ -2,3 +2,5 @@ mkS a ant
mkS the ant
mkS a dog
mkS the dog
detS a
detS the

View File

@@ -12,4 +12,5 @@ concrete PreCnc of Pre = {
} } ;
the = { s = "the" } ;
mkS det n = { s = det.s ++ n.s } ;
detS det = { s = det.s } ;
}