empty in pre

This commit is contained in:
aarne
2005-05-09 14:44:59 +00:00
parent 20af7b9729
commit a734396a7a
6 changed files with 25 additions and 15 deletions

View File

@@ -11,7 +11,8 @@ oper
oper uru : Str = "u:" + pre {"r_u" ; "tti" / cons ; "tt"/ vowel} ;
laks : Str = "lacca" + T ;
ayira : Str = "a:yira" + T ;
cavira : Str = variants {ayira ; "ca:vira" + T} ;
---- cavira : Str = variants {ayira ; "ca:vira" + T} ; ----BUG in Compute (AR 9/5/2005)
cavira : Str = variants {"a:yira" + T ; "ca:vira" + T} ;
T : Str = pre {[] ; "tt" / vowel ; "tti" / cons} ;
U : Str = pre {"u" ; [] / vowel } ;-- ; "ï" / cons} ;
@@ -49,7 +50,9 @@ lin n9 = {s = table {unit => "ombadu" ; teen => "pattombad"+U ;
oper ss : Str -> LinS100 = \s1 -> {s = table {p => s1 ; lak => bind s1 cavira }} ;
lin pot01 =
{s = table {unit => pre {[] ; "önr_u" / strs {[]}} ;
{s = table {unit => "önr_u" ; ---- pre {[] ; "önr_u" / strs {[]}} ;
---- equivalent by the sem. of pre. AR
thou => cavira ;
thou2 => "or" + ayira ;
hund => "n" + uru ;

View File

@@ -47,7 +47,8 @@ lin n9 = mkN "oymbad
oper ss : Str -> LinS100 = \s1 -> {s = table {p => s1 ; lak => bind s1 ayra }} ;
lin pot01 =
{s = table {unit => pre {[] ; "ondï" / strs {[]}} ;
{s = table {unit => "ondï" ; ---- pre {[] ; "ondï" / strs {[]}} ;
---- equivalent by the sem. of pre. AR
thou => variants {ayra ; "o:r" + ayra} ;
hund => "n" + uri ;
_ => "dummy"} };

View File

@@ -15,8 +15,6 @@ lincat Sub10 = LinDigit ;
lincat Sub100 = {s : Str ; s2 : S100 => Str; size : Size} ;
lincat Sub1000 = {s : Str ; s2 : Str ; size : Size } ;
lincat Sub1000000 = {s : Str} ;
lin num x0 =
{s = "/L" ++ x0.s ++ "L/" } ; -- just makes colons into length bar ontop of char
oper mkNumq : Str -> Str -> Str -> Str -> LinDigit =
\twul -> \yelqtwul -> \sumul -> \i ->
@@ -34,7 +32,11 @@ oper mkNum9 : Str -> Str -> Str -> Str -> LinDigit =
\twul -> \yelqtwul -> \sumul -> \i ->
{s = table {unit => twul ; teen => yelqtwul ; ten => sumul ; tenq => sumul + "q" ; chi => i ; chiten => i ++ "sip"} ; size = nine} ;
-- lin n1 = mkNum variants{"hana" ; "han } ; variants {"yelhana" ; "yelhan" }
lin num x0 =
{s = "/L" ++ x0.s ++ "L/" } ; -- just makes colons into length bar ontop of char
-- lin n1 = mkNum variants{"hana" ; "han"} ; variants {"yelhana" ;"yelhan"}
lin n2 = mkNumq (variants {"twu:l" ; "twu" })
(variants {"yelqtwul" ; "yelqtwu" })
(variants {"sumul" ; "sumu" })

View File

@@ -64,7 +64,7 @@ concrete SwadeshLexIta of SwadeshLex = CategoriesIta
big_ADeg = big_ADeg ;
black_ADeg = black_ADeg ;
cold_ADeg = cold_ADeg ;
correct_ADeg = regADeg "correto" ;
correct_ADeg = regADeg "corretto" ;
dirty_ADeg = dirty_ADeg ;
dry_ADeg = regADeg "secco" ;
dull_ADeg = regADeg "noioso" ;

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/05/09 09:45:23 $
-- > CVS $Date: 2005/05/09 15:44:59 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.16 $
-- > CVS $Revision: 1.17 $
--
-- Computation of source terms. Used in compilation and in @cc@ command.
-----------------------------------------------------------------------------
@@ -167,14 +167,17 @@ computeTerm gr = comp where
(_,Empty) -> return x
(Empty,_) -> return y
(K a, K b) -> return $ K (a ++ b)
(K a, Alts (d,vs)) -> do
---- (_, Alts (d,vs)) -> do
(_, Alts (d,vs)) -> do
---- (K a, Alts (d,vs)) -> do
let glx = Glue x
comp g $ Alts (glx d, [(glx v,c) | (v,c) <- vs])
(Alts _, K a) -> checks [do
(Alts _, ka) -> checks [do
y' <- strsFromTerm ka
---- (Alts _, K a) -> checks [do
x' <- strsFromTerm x -- this may fail when compiling opers
return $ variants [
foldr1 C (map K (str2strings (glueStr v (str a)))) | v <- x']
foldr1 C (map K (str2strings (glueStr v u))) | v <- x', u <- y']
---- foldr1 C (map K (str2strings (glueStr v (str a)))) | v <- x']
,return $ Glue x y
]
(FV ks,_) -> do

View File

@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
-- > CVS $Date: 2005/04/28 16:42:49 $
-- > CVS $Date: 2005/05/09 15:45:00 $
-- > CVS $Author: aarne $
-- > CVS $Revision: 1.20 $
-- > CVS $Revision: 1.21 $
--
-- Macros for constructing and analysing source code terms.
--
@@ -565,6 +565,7 @@ markLinFields f t = case t of
strsFromTerm :: Term -> Err [Str]
strsFromTerm t = case unComputed t of
K s -> return [str s]
Empty -> return [str []]
C s t -> do
s' <- strsFromTerm s
t' <- strsFromTerm t