From 1802021fe1857b5504cd684ec2d495758181df92 Mon Sep 17 00:00:00 2001 From: bringert Date: Mon, 5 Nov 2007 17:22:57 +0000 Subject: [PATCH] Refactor MkSynopsis and add links to categories in function types. There are still links to non-existing anchors for lexical categories and parameter types. --- lib/resource-1.0/doc/MkSynopsis.hs | 152 +-- lib/resource-1.0/doc/synopsis.html | 2044 ++++++++++++++-------------- 2 files changed, 1098 insertions(+), 1098 deletions(-) diff --git a/lib/resource-1.0/doc/MkSynopsis.hs b/lib/resource-1.0/doc/MkSynopsis.hs index 6535a8a8f..84052a436 100644 --- a/lib/resource-1.0/doc/MkSynopsis.hs +++ b/lib/resource-1.0/doc/MkSynopsis.hs @@ -17,26 +17,26 @@ main = do space link "Source 2:" catAPI space - cs1 <- getCats isLatex True commonAPI - cs2 <- getCats isLatex False catAPI - let cs = cs1 ++ cs2 append "==A hierarchic view==\n" include "categories-intro.txt" append "==Explanations==\n" - delimit $ reCat cs + cs1 <- getCats commonAPI + cs2 <- getCats catAPI + let cs = sortCats (cs1 ++ cs2) + delimit $ mkCatTable isLatex cs space title "Syntax Rules" space link "Source:" syntaxAPI space - rs <- getRules True isLatex syntaxAPI - delimit $ reTable rs + rs <- getRules syntaxAPI + delimit $ mkSplitTables True isLatex rs space title "Structural Words" space link "Source:" structuralAPI space - rs <- getRules False isLatex structuralAPI + rs <- rulesTable False isLatex structuralAPI delimit rs space mapM_ (putParadigms isLatex) paradigmFiles @@ -51,11 +51,12 @@ main = do system $ "txt2tags -t" ++ format ++ " --toc " ++ synopsis if isLatex then (system $ "pdflatex synopsis.tex") >> return () else return () -getCats isLatex isBeg file = do + +getCats :: FilePath -> IO [(String, String, String)] +getCats file = do ss <- readFile file >>= return . lines - return $ inChunks chsize (mkCatTable (isLatex || isBeg)) $ getrs [] ss + return $ getrs [] ss where - chsize = if isLatex then 40 else 1000 getrs rs ss = case ss of ('-':'-':'.':_):_ -> reverse rs [] -> reverse rs @@ -65,29 +66,43 @@ getCats isLatex isBeg file = do (expl,ex) = span (/="e.g.") exp _ -> getrs rs ss2 -getRules hasEx isLatex file = do +rulesTable :: Bool -> Bool -> FilePath -> IO [String] +rulesTable hasEx isLatex file = do + rs <- getRules file + return $ mkTable hasEx isLatex rs + + +getRules :: FilePath -> IO [(String,String,String)] +getRules file = do ss <- readFile file >>= return . lines - return $ inChunks chsize (mkTable hasEx) $ getrs [] ss + return $ getrs [] ss where - chsize = if isLatex then 40 else 1000 getrs rs ss = case ss of ('-':'-':'.':_):_ -> reverse rs [] -> reverse rs ('-':'-':_):ss2 -> getrs rs ss2 s:ss2 -> case words s of _:_:"overload":_ -> getrs rs ss2 - _:":":_ -> getrs (layout s:rs) ss2 + _:":":_ -> getrs (rule s:rs) ss2 _ -> getrs rs ss2 - layout s = " " ++ dropWhile isSpace s - -getParads = getRules False + rule s = (name, typ, ex) + where + ws = words s + name = head ws + (t,e) = span (/="--") (tail ws) + typ = unwords $ filtype (drop 1 t) + filtype = filter (/=";") + ex = if null e then "" else unwords $ unnumber $ drop 1 e + unnumber e = case e of + n:ws | last n == '.' && not (null (init n)) && all isDigit (init n) -> ws + _ -> e putParadigms isLatex (lang,file) = do title ("Paradigms for " ++ lang) space link "source" file space - rs <- getParads isLatex file + rs <- rulesTable False isLatex file space delimit rs space @@ -97,37 +112,32 @@ inChunks i f = concat . intersperse ["\n\n"] . map f . chunks i where chunks _ [] = [] chunks i xs = x : chunks i y where (x,y) = splitAt i xs -mkTable hasEx rs = header : map (unwords . row . words) rs where +-- Makes one table per result category. +-- Adds a subsection header for each table. +mkSplitTables :: Bool -> Bool -> [(String,String,String)] -> [String] +mkSplitTables hasEx isLatex rs = concatMap t (sortRules rs) + where t xs = subtitle (resultCat (head xs)) : mkTable hasEx isLatex xs + +mkTable :: Bool -> Bool -> [(String,String,String)] -> [String] +mkTable hasEx isLatex = inChunks chsize (\rs -> header : map (unwords . row) rs) + where + chsize = if isLatex then 40 else 1000 header = if hasEx then "|| Function | Type | Example ||" else "|| Function | Type ||" - row ws = if hasEx then ["|", name, "|", typ, "|", ex, "|"] - else ["|", name, "|", typ, "|"] where - name = ttf (head ws) - (t,e) = span (/="--") (tail ws) - typ = ttf (unwords $ filtype (drop 1 t)) - ex = if null e then "-" else itf (unwords $ unnumber $ drop 1 e) - unnumber e = case e of - n:ws | last n == '.' && not (null (init n)) && all isDigit (init n) -> ws - _ -> e - filtype = filter (/=";") + row (name,typ,ex) + = if hasEx then ["|", name', "|", typ', "|", ex', "|"] + else ["|", name', "|", typ', "|"] + where + name' = ttf name + typ' = showTyp typ + ex' = if null ex then "-" else itf ex -mkParTable rs = header : map (unwords . row . words) rs where - header = "|| Paradigm | Type ||" - row ws = ["|", name, "|", typ, "|"] where - name = ttf (head ws) - (t,e) = span (/="--") (tail ws) - typ = ttf (unwords $ filtype (drop 1 t)) - ex = if null e then "-" else itf (unwords $ unnumber $ drop 1 e) - unnumber e = case e of - n:ws | last n == '.' && not (null (init n)) && all isDigit (init n) -> ws - _ -> e - filtype = filter (/=";") - -mkCatTable isBeg rs = - (if isBeg then ("|| Category | Explanation | Example ||" :) else id) - (map mk1 rs) +mkCatTable :: Bool -> [(String, String, String)] -> [String] +mkCatTable isLatex = inChunks chsize (\rs -> header ++ map mk1 rs) where - mk1 (name,typ,ex) = unwords ["|", showCat name, "|", typ, "|", typo ex, "|"] + header = ["|| Category | Explanation | Example ||"] + chsize = if isLatex then 40 else 1000 + mk1 (name,expl,ex) = unwords ["|", showCat name, "|", expl, "|", typo ex, "|"] typo ex = if take 1 ex == "\"" then itf (init (tail ex)) else ex synopsis = "synopsis.txt" @@ -162,41 +172,31 @@ itf s = "//" ++ s ++ "//" ----------------- -- sort category synopsis by category, retain one table - -reCat t = let (hd,tb) = splitHeader t in hd : sortCat tb - -sortCat = sortBy (\r s -> compare (cat r) (cat s)) where - cat r = unquote $ words r !! 1 - -unquote = takeWhile (/='`') . dropWhile (=='`') +sortCats :: [(String,String,String)] -> [(String,String,String)] +sortCats = sortBy compareCat + where compareCat (n1,_,_) (n2,_,_) = compare n1 n2 -- sort function synopsis by category, into separate tables +sortRules :: [(String,String,String)] -> [[(String,String,String)]] +sortRules = groupBy sameCat . sortBy compareRules + where sameCat r1 r2 = resultCat r1 == resultCat r2 + compareRules r1@(n1,_,_) r2@(n2,_,_) + = compare (resultCat r1,n1) (resultCat r2,n2) --- table: --- || Function | Type | Example || --- | ``mkText`` | ``Phr -> Text`` | //But John walks.// | +resultCat :: (String,String,String) -> String +resultCat (_,t,_) = last (words t) -reTable t = let (hd,tb) = splitHeader t in sortTable hd tb - -splitHeader (hd:tb) = (hd,tb) - -sortTable hd = map (printBack hd) . sortVal . groupVal - -groupVal = groupBy sameVal where - sameVal r1 r2 = valRow r1 == valRow r2 - --- row: | ``mkText`` | ``Phr -> Text`` | //But John walks.// | -valRow r = case words r of - "|":_:"|":rest -> val where - typ = takeWhile (/="|") rest - val = unquote $ last typ - _ -> error "no row value for: " ++ r - -sortVal = sortBy (\t u -> compare (hd t) (hd u)) where - hd = (valRow . head) - -printBack hd tb = unlines $ subtitle (valRow (head tb)) : "\n" : [hd] ++ tb subtitle cat = "==" ++ cat ++ "==" ++ "[" ++ cat ++ "]" -showCat cat = "[" ++ cat ++ " #" ++ cat ++ "]" \ No newline at end of file +showCat cat = "[" ++ cat ++ " #" ++ cat ++ "]" + +showTyp = unwords . map f . words + where f s | head s == '(' && last s == ')' && isCat c + = "(" ++ showCat c ++ ")" + | isCat s = showCat s + | otherwise = ttf s + where c = init (tail s) + isCat cat = cat `notElem` ["Str","Int"] + && all (\c -> isAlphaNum c || c == '\'') cat + && isUpper (head cat) \ No newline at end of file diff --git a/lib/resource-1.0/doc/synopsis.html b/lib/resource-1.0/doc/synopsis.html index fe7dd94e9..7855582f3 100644 --- a/lib/resource-1.0/doc/synopsis.html +++ b/lib/resource-1.0/doc/synopsis.html @@ -431,67 +431,67 @@ Source: http://www.cs.chalmers.se/~aarne/ mkAP -A -> AP +A -> AP old mkAP -A -> NP -> AP +A -> NP -> AP older than John mkAP -A2 -> NP -> AP +A2 -> NP -> AP married to her mkAP -A2 -> AP +A2 -> AP married to myself mkAP -AP -> S -> AP +AP -> S -> AP probable that John walks mkAP -AP -> QS -> AP +AP -> QS -> AP uncertain if John walks mkAP -AP -> VP -> AP +AP -> VP -> AP ready to go mkAP -AdA -> A -> AP +AdA -> A -> AP very old mkAP -AdA -> AP -> AP +AdA -> AP -> AP very very old mkAP -Conj -> AP -> AP -> AP +Conj -> AP -> AP -> AP old and big mkAP -Conj -> ListAP -> AP +Conj -> ListAP -> AP old, big, and warm mkAP -DConj -> AP -> AP -> AP +DConj -> AP -> AP -> AP either old or big mkAP -DConj -> ListAP -> AP +DConj -> ListAP -> AP either old, big, or warm @@ -506,7 +506,7 @@ Source: http://www.cs.chalmers.se/~aarne/ mkAdN -CAdv -> AdN +CAdv -> AdN more than @@ -521,52 +521,52 @@ Source: http://www.cs.chalmers.se/~aarne/ mkAdv -A -> Adv +A -> Adv warmly mkAdv -Prep -> NP -> Adv +Prep -> NP -> Adv with John mkAdv -Subj -> S -> Adv +Subj -> S -> Adv when John walks mkAdv -CAdv -> A -> NP -> Adv +CAdv -> A -> NP -> Adv more warmly than John mkAdv -CAdv -> A -> S -> Adv +CAdv -> A -> S -> Adv more warmly than John walks mkAdv -AdA -> Adv -> Adv +AdA -> Adv -> Adv very warmly mkAdv -Conj -> Adv -> Adv -> Adv +Conj -> Adv -> Adv -> Adv here and now mkAdv -Conj -> ListAdv -> Adv +Conj -> ListAdv -> Adv with John, here and now mkAdv -DConj -> Adv -> Adv -> Adv +DConj -> Adv -> Adv -> Adv either here or now mkAdv -DConj -> ListAdv -> Adv +DConj -> ListAdv -> Adv either here, now, or with John @@ -580,14 +580,14 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -simultaneousAnt -Ant -(John walks) [default] +anteriorAnt +Ant +(John has walked) --# notpresent -anteriorAnt -Ant -(John has walked) --# notpresent +simultaneousAnt +Ant +(John walks) [default] @@ -601,92 +601,92 @@ Source: http://www.cs.chalmers.se/~aarne/ mkCN -N -> CN +N -> CN house mkCN -N2 -> NP -> CN +N2 -> NP -> CN mother of John mkCN -N3 -> NP -> NP -> CN +N3 -> NP -> NP -> CN distance from this city to Paris mkCN -N2 -> CN +N2 -> CN son mkCN -N3 -> CN +N3 -> CN flight mkCN -A -> N -> CN +A -> N -> CN big house mkCN -A -> CN -> CN +A -> CN -> CN big blue house mkCN -AP -> N -> CN +AP -> N -> CN very big house mkCN -AP -> CN -> CN +AP -> CN -> CN very big blue house mkCN -N -> RS -> CN +N -> RS -> CN house that John loves mkCN -CN -> RS -> CN +CN -> RS -> CN big house that John loves mkCN -N -> Adv -> CN +N -> Adv -> CN house in the city mkCN -CN -> Adv -> CN +CN -> Adv -> CN big house in the city mkCN -CN -> S -> CN +CN -> S -> CN rule that John walks mkCN -CN -> QS -> CN +CN -> QS -> CN question if John walks mkCN -CN -> VP -> CN +CN -> VP -> CN reason to walk mkCN -N -> NP -> CN +N -> NP -> CN king John mkCN -CN -> NP -> CN +CN -> NP -> CN old king John @@ -700,130 +700,130 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +genericCl +VP -> Cl +one walks + + mkCl -NP -> V -> Cl +NP -> V -> Cl John walks mkCl -NP -> V2 -> NP -> Cl +NP -> V2 -> NP -> Cl John loves her mkCl -NP -> V3 -> NP -> NP -> Cl +NP -> V3 -> NP -> NP -> Cl John sends it to her mkCl -NP -> VV -> VP -> Cl +NP -> VV -> VP -> Cl John wants to walk mkCl -NP -> VS -> S -> Cl +NP -> VS -> S -> Cl John says that it is good mkCl -NP -> VQ -> QS -> Cl +NP -> VQ -> QS -> Cl John wonders if it is good mkCl -NP -> VA -> AP -> Cl +NP -> VA -> AP -> Cl John becomes old mkCl -NP -> V2A ->NP -> AP -> Cl +NP -> V2A -> NP -> AP -> Cl John paints it red mkCl -NP -> A -> Cl +NP -> A -> Cl John is old mkCl -NP -> A -> NP -> Cl +NP -> A -> NP -> Cl John is older than her mkCl -NP -> A2 -> NP -> Cl +NP -> A2 -> NP -> Cl John is married to her mkCl -NP -> AP -> Cl +NP -> AP -> Cl John is very old mkCl -NP -> N -> Cl +NP -> N -> Cl John is a man mkCl -NP -> CN -> Cl +NP -> CN -> Cl John is an old man mkCl -NP -> NP -> Cl +NP -> NP -> Cl John is the man mkCl -NP -> Adv -> Cl +NP -> Adv -> Cl John is here mkCl -NP -> VP -> Cl +NP -> VP -> Cl John walks here mkCl -V -> Cl +V -> Cl it rains mkCl -VP -> Cl +VP -> Cl it is raining mkCl -N -> Cl +N -> Cl there is a house mkCl -CN -> Cl +CN -> Cl there is an old houses mkCl -NP -> Cl +NP -> Cl there are five houses mkCl -NP -> RS -> Cl +NP -> RS -> Cl it is John that walks mkCl -Adv -> S -> Cl +Adv -> S -> Cl it is here John walks - -genericCl -VP -> Cl -one walks - @@ -835,75 +835,75 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +defPlDet +Det +the (houses) + + +defSgDet +Det +the (house) + + +indefPlDet +Det +(houses) + + +indefSgDet +Det +a (house) + + mkDet -QuantSg -> Det +QuantSg -> Det this mkDet -QuantSg -> (Ord) -> Det +QuantSg -> (Ord) -> Det this first mkDet -QuantPl -> Det +QuantPl -> Det these mkDet -QuantPl -> (Num) -> (Ord) -> Det +QuantPl -> (Num) -> (Ord) -> Det these five best mkDet -Quant -> Det +Quant -> Det this mkDet -Quant -> Num -> Det +Quant -> Num -> Det these five mkDet -Num -> Det +Num -> Det almost twenty mkDet -Numeral -> Det +Numeral -> Det five mkDet -Int -> Det +Int -> Det 51 mkDet -Pron -> Det +Pron -> Det my - -defSgDet -Det -the (house) - - -defPlDet -Det -the (houses) - - -indefSgDet -Det -a (house) - - -indefPlDet -Det -(houses) - @@ -916,7 +916,7 @@ Source: http://www.cs.chalmers.se/~aarne/ mkIAdv -Prep -> IP -> IAdv +Prep -> IP -> IAdv in which city @@ -931,17 +931,17 @@ Source: http://www.cs.chalmers.se/~aarne/ mkIP -IDet -> N -> IP +IDet -> N -> IP which city mkIP -IDet -> (Num) -> (Ord) -> CN -> IP +IDet -> (Num) -> (Ord) -> CN -> IP which five best cities mkIP -IP -> Adv -> IP +IP -> Adv -> IP who in Paris @@ -956,17 +956,17 @@ Source: http://www.cs.chalmers.se/~aarne/ mkImp -V -> Imp +V -> Imp go mkImp -V2 -> NP -> Imp +V2 -> NP -> Imp take it mkImp -VP -> Imp +VP -> Imp go there now @@ -980,20 +980,20 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -singularImpForm -ImpForm -(help yourself) [default] - - pluralImpForm -ImpForm +ImpForm (help yourselves) politeImpForm -ImpForm +ImpForm (help yourself) (polite singular) + +singularImpForm +ImpForm +(help yourself) [default] + @@ -1006,12 +1006,12 @@ Source: http://www.cs.chalmers.se/~aarne/ mkListAP -AP -> AP -> ListAP +AP -> AP -> ListAP old, big mkListAP -AP -> ListAP -> ListAP +AP -> ListAP -> ListAP old, big, warm @@ -1026,12 +1026,12 @@ Source: http://www.cs.chalmers.se/~aarne/ mkListAdv -Adv -> Adv -> ListAdv +Adv -> Adv -> ListAdv here, now mkListAdv -Adv -> ListAdv -> ListAdv +Adv -> ListAdv -> ListAdv to me, here, now @@ -1046,12 +1046,12 @@ Source: http://www.cs.chalmers.se/~aarne/ mkListNP -NP -> NP -> ListNP +NP -> NP -> ListNP John, I mkListNP -NP -> ListNP -> ListNP +NP -> ListNP -> ListNP John, I, that @@ -1066,12 +1066,12 @@ Source: http://www.cs.chalmers.se/~aarne/ mkListS -S -> S -> ListS +S -> S -> ListS he walks, I run mkListS -S -> ListS -> ListS +S -> ListS -> ListS John walks, I run, you sleep @@ -1086,117 +1086,117 @@ Source: http://www.cs.chalmers.se/~aarne/ mkNP -Det -> N -> NP +Det -> N -> NP the first man mkNP -Det -> CN -> NP +Det -> CN -> NP the first old man mkNP -QuantSg -> N -> NP +QuantSg -> N -> NP this man mkNP -QuantSg -> CN -> NP +QuantSg -> CN -> NP this old man mkNP -QuantPl -> N -> NP +QuantPl -> N -> NP these men mkNP -QuantPl -> CN -> NP +QuantPl -> CN -> NP these old men mkNP -Numeral -> N -> NP +Numeral -> N -> NP twenty men mkNP -Numeral -> CN -> NP +Numeral -> CN -> NP twenty old men mkNP -Int -> N -> NP +Int -> N -> NP 45 men mkNP -Int -> CN -> NP +Int -> CN -> NP 45 old men mkNP -Num -> N -> NP +Num -> N -> NP almost twenty men mkNP -Num -> CN -> NP +Num -> CN -> NP almost twenty old men mkNP -Pron -> N -> NP +Pron -> N -> NP my man mkNP -Pron -> CN -> NP +Pron -> CN -> NP my old man mkNP -PN -> NP +PN -> NP John mkNP -Pron -> NP +Pron -> NP he mkNP -Predet -> NP -> NP +Predet -> NP -> NP only John mkNP -NP -> V2 -> NP +NP -> V2 -> NP John killed mkNP -NP -> Adv -> NP +NP -> Adv -> NP John in Paris mkNP -Conj -> NP -> NP -> NP +Conj -> NP -> NP -> NP John and I mkNP -Conj -> ListNP -> NP +Conj -> ListNP -> NP John, I, and that mkNP -DConj -> NP -> NP -> NP +DConj -> NP -> NP -> NP either John or I mkNP -DConj -> ListNP -> NP +DConj -> ListNP -> NP either John, I, or that @@ -1211,17 +1211,17 @@ Source: http://www.cs.chalmers.se/~aarne/ mkNum -Numeral -> Num +Numeral -> Num twenty mkNum -Int -> Num +Int -> Num 51 mkNum -AdN -> Num -> Num +AdN -> Num -> Num almost ten @@ -1235,70 +1235,70 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +n1000_Numeral +Numeral +thousand + + +n100_Numeral +Numeral +hundred + + +n10_Numeral +Numeral +ten + + n1_Numeral -Numeral +Numeral one +n20_Numeral +Numeral +twenty + + n2_Numeral -Numeral +Numeral two n3_Numeral -Numeral +Numeral three n4_Numeral -Numeral +Numeral four n5_Numeral -Numeral +Numeral five n6_Numeral -Numeral +Numeral six n7_Numeral -Numeral +Numeral seven n8_Numeral -Numeral +Numeral eight n9_Numeral -Numeral +Numeral nine - -n10_Numeral -Numeral -ten - - -n20_Numeral -Numeral -twenty - - -n100_Numeral -Numeral -hundred - - -n1000_Numeral -Numeral -thousand - @@ -1311,17 +1311,17 @@ Source: http://www.cs.chalmers.se/~aarne/ mkOrd -Numeral -> Ord +Numeral -> Ord twentieth mkOrd -Int -> Ord +Int -> Ord 51st mkOrd -A -> Ord +A -> Ord best @@ -1336,7 +1336,7 @@ Source: http://www.cs.chalmers.se/~aarne/ mkPConj -Conj -> PConj +Conj -> PConj and @@ -1351,32 +1351,32 @@ Source: http://www.cs.chalmers.se/~aarne/ mkPhr -Utt -> Phr +Utt -> Phr why mkPhr -(PConj) -> Utt -> (Voc) -> Phr +(PConj) -> Utt -> (Voc) -> Phr but why John mkPhr -S -> Phr +S -> Phr John walked mkPhr -Cl -> Phr +Cl -> Phr John walks mkPhr -QS -> Phr +QS -> Phr did John walk mkPhr -Imp -> Phr +Imp -> Phr walk @@ -1390,14 +1390,14 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -positivePol -Pol -(John walks) [default] +negativePol +Pol +(John doesn't walk) -negativePol -Pol -(John doesn't walk) +positivePol +Pol +(John walks) [default] @@ -1410,20 +1410,20 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +exclMarkPunct +Punct +! + + fullStopPunct -Punct +Punct . questMarkPunct -Punct +Punct ? - -exclMarkPunct -Punct -! - @@ -1436,42 +1436,42 @@ Source: http://www.cs.chalmers.se/~aarne/ mkQCl -Cl -> QCl +Cl -> QCl does John walk mkQCl -IP -> VP -> QCl +IP -> VP -> QCl who walks mkQCl -IP -> NP -> V2 -> QCl +IP -> NP -> V2 -> QCl whom does John love mkQCl -IP -> Slash -> QCl +IP -> Slash -> QCl whom does John love today mkQCl -IAdv -> Cl -> QCl +IAdv -> Cl -> QCl why does John walk mkQCl -Prep -> IP -> Cl -> QCl +Prep -> IP -> Cl -> QCl with who does John walk mkQCl -IAdv -> NP -> QCl +IAdv -> NP -> QCl where is John mkQCl -IP -> QCl +IP -> QCl what is there @@ -1486,17 +1486,17 @@ Source: http://www.cs.chalmers.se/~aarne/ mkQS -QCl -> QS +QCl -> QS who walks mkQS -(Tense) -> (Ant) -> (Pol) -> QCl -> QS +(Tense) -> (Ant) -> (Pol) -> QCl -> QS who wouldn't have walked mkQS -Cl -> QS +Cl -> QS does John walk @@ -1511,12 +1511,12 @@ Source: http://www.cs.chalmers.se/~aarne/ defQuant -Quant +Quant the indefQuant -Quant +Quant a @@ -1530,28 +1530,28 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +a_QuantPl +QuantPl +(indefinite plural) + + mkQuantPl -Quant -> QuantPl +Quant -> QuantPl these the_QuantPl -QuantPl +QuantPl the -a_QuantPl -QuantPl -(indefinite plural) - - these_QuantPl -QuantPl +QuantPl these those_QuantPl -QuantPl +QuantPl those @@ -1565,35 +1565,35 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -mkQuantSg -Quant -> QuantSg -this - - -massQuant -QuantSg -(mass terms) - - -the_QuantSg -QuantSg -the - - a_QuantSg -QuantSg +QuantSg a -this_QuantSg -QuantSg +massQuant +QuantSg +(mass terms) + + +mkQuantSg +Quant -> QuantSg this that_QuantSg -QuantSg +QuantSg that + +the_QuantSg +QuantSg +the + + +this_QuantSg +QuantSg +this + @@ -1606,22 +1606,22 @@ Source: http://www.cs.chalmers.se/~aarne/ mkRCl -RP -> VP -> RCl +RP -> VP -> RCl that walk mkRCl -RP -> NP -> V2 -> RCl +RP -> NP -> V2 -> RCl which John loves mkRCl -RP -> Slash -> RCl +RP -> Slash -> RCl which John loves today mkRCl -Cl -> RCl +Cl -> RCl such that John loves her @@ -1635,14 +1635,14 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -which_RP -RP -which +mkRP +Prep -> NP -> RP -> RP +all the houses in which -mkRP -Prep -> NP -> RP -> RP -all the houses in which +which_RP +RP +which @@ -1656,12 +1656,12 @@ Source: http://www.cs.chalmers.se/~aarne/ mkRS -RCl -> RS +RCl -> RS that walk mkRS -(Tense) -> (Ant) -> (Pol) -> RCl -> RS +(Tense) -> (Ant) -> (Pol) -> RCl -> RS that wouldn't have walked @@ -1676,37 +1676,37 @@ Source: http://www.cs.chalmers.se/~aarne/ mkS -Cl -> S +Cl -> S John walks mkS -(Tense) -> (Ant) -> (Pol) -> Cl -> S +(Tense) -> (Ant) -> (Pol) -> Cl -> S John wouldn't have walked mkS -Conj -> S -> S -> S +Conj -> S -> S -> S John walks and I run mkS -Conj -> ListS -> S +Conj -> ListS -> S John walks, I run and you sleep mkS -DConj -> S -> S -> S +DConj -> S -> S -> S either John walk or I run mkS -DConj -> ListS -> S +DConj -> ListS -> S either John walks, I run or you sleep mkS -Adv -> S -> S +Adv -> S -> S today, John walks @@ -1721,22 +1721,22 @@ Source: http://www.cs.chalmers.se/~aarne/ mkSlash -NP -> V2 -> Slash +NP -> V2 -> Slash (whom) John loves mkSlash -NP -> VV -> V2 -> Slash +NP -> VV -> V2 -> Slash (whom) John wants to see mkSlash -Cl -> Prep -> Slash +Cl -> Prep -> Slash (with whom) John walks mkSlash -Slash -> Adv -> Slash +Slash -> Adv -> Slash (whom) John loves today @@ -1750,24 +1750,24 @@ Source: http://www.cs.chalmers.se/~aarne/ Example -presentTense -Tense -(John walks) [default] - - -pastTense -Tense -(John walked) --# notpresent +conditionalTense +Tense +(John would walk) --# notpresent futureTense -Tense +Tense (John will walk) --# notpresent -conditionalTense -Tense -(John would walk) --# notpresent +pastTense +Tense +(John walked) --# notpresent + + +presentTense +Tense +(John walks) [default] @@ -1780,45 +1780,45 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +emptyText +Text +(empty text) + + mkText -Phr -> Text +Phr -> Text But John walks. mkText -Phr -> (Punct) -> (Text) -> Text +Phr -> (Punct) -> (Text) -> Text John walks? Yes. mkText -Utt -> Text +Utt -> Text John. mkText -S -> Text +S -> Text John walked. mkText -Cl -> Text +Cl -> Text John walks. mkText -QS -> Text +QS -> Text Did John walk? mkText -Imp -> Text +Imp -> Text Walk! - -emptyText -Text -(empty text) - @@ -1830,60 +1830,60 @@ Source: http://www.cs.chalmers.se/~aarne/ Example +lets_Utt +VP -> Utt +let's walk + + mkUtt -S -> Utt +S -> Utt John walked mkUtt -Cl -> Utt +Cl -> Utt John walks mkUtt -QS -> Utt +QS -> Utt did John walk mkUtt -Imp -> Utt +Imp -> Utt love yourself mkUtt -(ImpForm) -> (Pol) -> Imp -> Utt +(ImpForm) -> (Pol) -> Imp -> Utt don't love yourselves mkUtt -IP -> Utt +IP -> Utt who mkUtt -IAdv -> Utt +IAdv -> Utt why mkUtt -NP -> Utt +NP -> Utt John mkUtt -Adv -> Utt +Adv -> Utt here mkUtt -VP -> Utt +VP -> Utt to walk - -lets_Utt -VP -> Utt -let's walk - @@ -1896,114 +1896,114 @@ Source: http://www.cs.chalmers.se/~aarne/ mkVP -V -> VP +V -> VP walk mkVP -V2 -> NP -> VP +V2 -> NP -> VP love her mkVP -V3 -> NP -> NP -> VP +V3 -> NP -> NP -> VP send it to her mkVP -VV -> VP -> VP +VV -> VP -> VP want to walk mkVP -VS -> S -> VP +VS -> S -> VP know that she walks mkVP -VQ -> QS -> VP +VQ -> QS -> VP ask if she walks mkVP -VA -> AP -> VP +VA -> AP -> VP become old mkVP -V2A -> NP -> AP -> VP +V2A -> NP -> AP -> VP paint it red mkVP -A -> VP +A -> VP be warm mkVP -AP -> VP +AP -> VP be very warm mkVP -A -> NP -> VP +A -> NP -> VP be older than her mkVP -A2 -> NP -> VP +A2 -> NP -> VP be married to her mkVP -N -> VP +N -> VP be a man mkVP -CN -> VP +CN -> VP be an old man mkVP -NP -> VP +NP -> VP be the man mkVP -Adv -> VP +Adv -> VP be here mkVP -VP -> Adv -> VP +VP -> Adv -> VP sleep here mkVP -AdV -> VP -> VP +AdV -> VP -> VP always sleep -reflexiveVP -V2 -> VP -love itself - - passiveVP -V2 -> VP +V2 -> VP be loved passiveVP -V2 -> NP -> VP +V2 -> NP -> VP be loved by her progressiveVP -VP -> VP +VP -> VP be sleeping + +reflexiveVP +V2 -> VP +love itself + @@ -2016,7 +2016,7 @@ Source: http://www.cs.chalmers.se/~aarne/ mkVoc -NP -> Voc +NP -> Voc John @@ -2033,387 +2033,387 @@ Source: http://www.cs.chalmers.se/~aar above_Prep -Prep +Prep after_Prep -Prep +Prep all_Predet -Predet +Predet almost_AdA -AdA +AdA almost_AdN -AdN +AdN although_Subj -Subj +Subj always_AdV -AdV +AdV and_Conj -Conj +Conj because_Subj -Subj +Subj before_Prep -Prep +Prep behind_Prep -Prep +Prep between_Prep -Prep +Prep both7and_DConj -DConj +DConj but_PConj -PConj +PConj by8agent_Prep -Prep +Prep by8means_Prep -Prep +Prep can8know_VV -VV +VV can_VV -VV +VV during_Prep -Prep +Prep either7or_DConj -DConj +DConj every_Det -Det +Det everybody_NP -NP +NP everything_NP -NP +NP everywhere_Adv -Adv +Adv first_Ord -Ord +Ord few_Det -Det +Det for_Prep -Prep +Prep from_Prep -Prep +Prep he_Pron -Pron +Pron here_Adv -Adv +Adv here7to_Adv -Adv +Adv here7from_Adv -Adv +Adv how_IAdv -IAdv +IAdv how8many_IDet -IDet +IDet i_Pron -Pron +Pron if_Subj -Subj +Subj in8front_Prep -Prep +Prep in_Prep -Prep +Prep it_Pron -Pron +Pron less_CAdv -CAdv +CAdv many_Det -Det +Det more_CAdv -CAdv +CAdv most_Predet -Predet +Predet much_Det -Det +Det must_VV -VV +VV no_Phr -Phr +Phr on_Prep -Prep +Prep one_Quant -QuantSg +QuantSg only_Predet -Predet +Predet or_Conj -Conj +Conj otherwise_PConj -PConj +PConj part_Prep -Prep +Prep please_Voc -Voc +Voc possess_Prep -Prep +Prep quite_Adv -AdA +AdA she_Pron -Pron +Pron so_AdA -AdA +AdA someSg_Det -Det +Det somePl_Det -Det +Det somebody_NP -NP +NP something_NP -NP +NP somewhere_Adv -Adv +Adv that_Quant -Quant +Quant that_NP -NP +NP there_Adv -Adv +Adv there7to_Adv -Adv +Adv there7from_Adv -Adv +Adv therefore_PConj -PConj +PConj these_NP -NP +NP they_Pron -Pron +Pron this_Quant -Quant +Quant this_NP -NP +NP those_NP -NP +NP through_Prep -Prep +Prep to_Prep -Prep +Prep too_AdA -AdA +AdA under_Prep -Prep +Prep very_AdA -AdA +AdA want_VV -VV +VV we_Pron -Pron +Pron whatPl_IP -IP +IP whatSg_IP -IP +IP when_IAdv -IAdv +IAdv when_Subj -Subj +Subj where_IAdv -IAdv +IAdv whichPl_IDet -IDet +IDet whichSg_IDet -IDet +IDet whoPl_IP -IP +IP whoSg_IP -IP +IP why_IAdv -IAdv +IAdv with_Prep -Prep +Prep without_Prep -Prep +Prep yes_Phr -Phr +Phr youSg_Pron -Pron +Pron youPl_Pron -Pron +Pron youPol_Pron -Pron +Pron @@ -2429,235 +2429,235 @@ source http://www.cs.chalmers.se/~aarn Gender -Type +Type utrum -Gender +Gender neutrum -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number Case -Type +Type nominative -Case +Case genitive -Case +Case mkPrep -Str -> Prep +Str -> Prep noPrep -Prep +Prep mkN -(bil : Str) -> N +(bil : Str) -> N mkN -(hus : Str) -> Gender -> N +(hus : Str) -> Gender -> N mkN -(bil,bilen : Str) -> N +(bil,bilen : Str) -> N mkN -(bil,bilen,biler : Str) -> N +(bil,bilen,biler : Str) -> N mkN -(dreng,drengen,drenge,drengene : Str) -> N +(dreng,drengen,drenge,drengene : Str) -> N mkN2 -N -> Prep -> N2 +N -> Prep -> N2 regN2 -Str -> Gender -> N2 +Str -> Gender -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> PN +Str -> Gender -> PN mkPN -N -> PN +N -> PN mkA -(fin : Str) -> A +(fin : Str) -> A mkA -(fin,fint : Str) -> A +(fin,fint : Str) -> A mkA -(galen,galet,galne : Str) -> A +(galen,galet,galne : Str) -> A mkA -(stor,stort,store,storre,storst : Str) -> A +(stor,stort,store,storre,storst : Str) -> A mkA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -(snakke : Str) -> V +(snakke : Str) -> V mkV -(leve,levde : Str) -> V +(leve,levde : Str) -> V mkV -(drikke, drakk, drukket : Str) -> V +(drikke, drakk, drukket : Str) -> V mkV -(spise,spiser,spises,spiste,spist,spis : Str) -> V +(spise,spiser,spises,spiste,spist,spis : Str) -> V mkV -V -> Str -> V +V -> Str -> V vaereV -V -> V +V -> V depV -V -> V +V -> V reflV -V -> V +V -> V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> V2A +V -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V @@ -2673,219 +2673,219 @@ source http://www.cs.chalmers.se/~aar Gender -Type +Type human -Gender +Gender nonhuman -Gender +Gender masculine -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number Case -Type +Type nominative -Case +Case genitive -Case +Case mkN -(flash : Str) -> N +(flash : Str) -> N mkN -(man,men : Str) -> N +(man,men : Str) -> N mkN -(man,men,man's,men's : Str) -> N +(man,men,man's,men's : Str) -> N mkN -Str -> N -> N +Str -> N -> N mkN2 -N -> Prep -> N2 +N -> Prep -> N2 regN2 -Str -> N2 +Str -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -N -> PN +N -> PN mkA -(happy : Str) -> A +(happy : Str) -> A mkA -(fat,fatter : Str) -> A +(fat,fatter : Str) -> A mkA -(good,better,best,well : Str) -> A +(good,better,best,well : Str) -> A compoundA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkPrep -Str -> Prep +Str -> Prep noPrep -Prep +Prep mkV -(cry : Str) -> V +(cry : Str) -> V mkV -(stop, stopped : Str) -> V +(stop, stopped : Str) -> V mkV -(drink, drank, drunk : Str) -> V +(drink, drank, drunk : Str) -> V mkV -(run, ran, run, running : Str) -> V +(run, ran, run, running : Str) -> V mkV -(go, goes, went, gone, going : Str) -> V +(go, goes, went, gone, going : Str) -> V partV -V -> Str -> V +V -> Str -> V reflV -V -> V +V -> V mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV2 -V -> V2 +V -> V2 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> V2A +V -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V @@ -2901,327 +2901,327 @@ source http://www.cs.chalmers.se/~aar Number -Type +Type singular -Number +Number plural -Number +Number Case -Type +Type nominative -Case +Case genitive -Case +Case partitive -Case +Case translative -Case +Case inessive -Case +Case elative -Case +Case illative -Case +Case adessive -Case +Case ablative -Case +Case allative -Case +Case prePrep -Case -> Str -> Prep +Case -> Str -> Prep postPrep -Case -> Str -> Prep +Case -> Str -> Prep postGenPrep -Str -> Prep +Str -> Prep casePrep -Case -> Prep +Case -> Prep mkN -(talo : Str) -> N +(talo : Str) -> N mkN -(savi,savia : Str) -> N +(savi,savia : Str) -> N mkN -(vesi,veden,vesiä : Str) -> N +(vesi,veden,vesiä : Str) -> N mkN -(olo,oln,olona,oloa,oloon,oloina,oloissa,olojen,oloja,oloihin : Str) -> N +(olo,oln,olona,oloa,oloon,oloina,oloissa,olojen,oloja,oloihin : Str) -> N sgpartN -(meri : N) -> (merta : Str) -> N +(meri : N) -> (merta : Str) -> N nMeri -(meri : Str) -> N +(meri : Str) -> N nKukko -(kukko,kukon,kukkoja : Str) -> N +(kukko,kukon,kukkoja : Str) -> N nTalo -(talo : Str) -> N +(talo : Str) -> N nLukko -(lukko : Str) -> N +(lukko : Str) -> N nArpi -(arpi : Str) -> N +(arpi : Str) -> N nSylki -(sylki : Str) -> N +(sylki : Str) -> N nLinux -(linuxia : Str) -> N +(linuxia : Str) -> N nPeruna -(peruna : Str) -> N +(peruna : Str) -> N nRae -(rae, rakeena : Str) -> N +(rae, rakeena : Str) -> N nSusi -(susi,suden,sutta : Str) -> N +(susi,suden,sutta : Str) -> N nPuu -(puu : Str) -> N +(puu : Str) -> N nSuo -(suo : Str) -> N +(suo : Str) -> N nNainen -(naista : Str) -> N +(naista : Str) -> N nTilaus -(tilaus,tilauksena : Str) -> N +(tilaus,tilauksena : Str) -> N nKulaus -(kulaus : Str) -> N +(kulaus : Str) -> N nNauris -(naurista : Str) -> N +(naurista : Str) -> N compN -Str -> N -> N +Str -> N -> N mkN2 -N -> N2 = genN2 +N -> N2 = genN2 mkN2 -N -> Prep -> N2 = mmkN2 +N -> Prep -> N2 = mmkN2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -N -> PN +N -> PN mkA -Str -> A +Str -> A mkA -N -> A +N -> A mkA -N -> (kivempaa,kivinta : Str) -> A +N -> (kivempaa,kivinta : Str) -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkV -(soutaa : Str) -> V +(soutaa : Str) -> V mkV -(soutaa,souti : Str) -> V +(soutaa,souti : Str) -> V mkV -(soutaa,soudan,souti : Str) -> V +(soutaa,soudan,souti : Str) -> V mkV -(tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V +(tulla,tulee,tulen,tulevat,tulkaa,tullaan,tuli,tulin,tulisi,tullut,tultu,tullun : Str) -> V mkV -V -> Case -> V +V -> Case -> V vValua -(valua : Str) -> V +(valua : Str) -> V vKattaa -(kattaa, katan : Str) -> V +(kattaa, katan : Str) -> V vOstaa -(ostaa : Str) -> V +(ostaa : Str) -> V vNousta -(nousta, nousen : Str) -> V +(nousta, nousen : Str) -> V vTuoda -(tuoda : Str) -> V +(tuoda : Str) -> V caseV -Case -> V -> V +Case -> V -> V vOlla -V +V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Case -> V2 +V -> Case -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Case -> V3 +V -> Case -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> V2V +V -> Prep -> V2V mkVA -V -> Prep -> VA +V -> Prep -> VA mkV2A -V -> Prep -> Prep -> V2A +V -> Prep -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V @@ -3237,219 +3237,219 @@ source http://www.cs.chalmers.se/~aarn Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number accusative -Prep +Prep genitive -Prep +Prep dative -Prep +Prep mkPrep -Str -> Prep +Str -> Prep mkN -(cheval : Str) -> N +(cheval : Str) -> N mkN -(foie : Str) -> Gender -> N +(foie : Str) -> Gender -> N mkN -(oeil,yeux : Str) -> Gender -> N +(oeil,yeux : Str) -> Gender -> N mkN -N -> Str -> N +N -> Str -> N mkN2 -N -> Prep -> N2 +N -> Prep -> N2 deN2 -N -> N2 +N -> N2 aN2 -N -> N2 +N -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> PN +Str -> Gender -> PN mkA -(cher : Str) -> A +(cher : Str) -> A mkA -(sec,seche : Str) -> A +(sec,seche : Str) -> A mkA -(banal,banale,banaux,banalement : Str) -> A +(banal,banale,banaux,banalement : Str) -> A mkA -A -> A -> A +A -> A -> A prefixA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -(finir : Str) -> V +(finir : Str) -> V mkV -(jeter,jette,jettera : Str) -> V +(jeter,jette,jettera : Str) -> V mkV -V2 -> V +V2 -> V etreV -V -> V +V -> V reflV -V -> V +V -> V mkV2 -V -> V2 = dirV2 +V -> V2 = dirV2 mkV2 -V -> Prep -> V2 = mmkV2 +V -> Prep -> V2 = mmkV2 mkV3 -V -> V3 +V -> V3 mkV3 -V -> Prep -> V3 +V -> Prep -> V3 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV deVV -V -> VV +V -> VV aVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> Prep -> V2A +V -> Prep -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> Prep -> AV +A -> Prep -> AV mkA2V -A -> Prep -> Prep -> A2V +A -> Prep -> Prep -> A2V @@ -3465,243 +3465,243 @@ source http://www.cs.chalmers.se/~aarn Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender neuter -Gender +Gender Case -Type +Type nominative -Case +Case accusative -Case +Case dative -Case +Case genitive -Case +Case Number -Type +Type singular -Number +Number plural -Number +Number mkN -(Stufe : Str) -> N +(Stufe : Str) -> N mkN -(Bild,Bilder : Str) -> Gender -> N +(Bild,Bilder : Str) -> Gender -> N mkN -(x1,_,_,_,_,x6 : Str) -> Gender -> N +(x1,_,_,_,_,x6 : Str) -> Gender -> N mkN2 -Str -> N2 +Str -> N2 mkN2 -N -> N2 +N -> N2 mkN2 -N -> Prep -> N2 +N -> Prep -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -(nom,gen : Str) -> PN +(nom,gen : Str) -> PN mkPN -(nom,acc,dat,gen : Str) -> PN +(nom,acc,dat,gen : Str) -> PN mkA -Str -> A +Str -> A mkA -(gut,besser,beste : Str) -> A +(gut,besser,beste : Str) -> A invarA -Str -> A +Str -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkPrep -Str -> Case -> Prep +Str -> Case -> Prep accPrep -Prep +Prep datPrep -Prep +Prep genPrep -Prep +Prep von_Prep -Prep +Prep zu_Prep -Prep +Prep mkV -(führen : Str) -> V +(führen : Str) -> V mkV -(sehen,sieht,sah,sähe,gesehen : Str) -> V +(sehen,sieht,sah,sähe,gesehen : Str) -> V mkV -(geben, gibt, gib, gab, gäbe, gegeben : Str) -> V +(geben, gibt, gib, gab, gäbe, gegeben : Str) -> V mkV -Str -> V -> V +Str -> V -> V no_geV -V -> V +V -> V seinV -V -> V +V -> V habenV -V -> V +V -> V reflV -V -> Case -> V +V -> Case -> V mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Case -> V2 +V -> Case -> V2 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 accdatV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> V2V +V -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> V2A +V -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V @@ -3717,223 +3717,223 @@ source http://www.cs.chalmers.se/~aar Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number --Prep -Type +Type accusative -Prep +Prep genitive -Prep +Prep dative -Prep +Prep mkPrep -Str -> Prep +Str -> Prep mkN -(cane : Str) -> N +(cane : Str) -> N mkN -(carne : Str) -> Gender -> N +(carne : Str) -> Gender -> N mkN -(uomo,uomini : Str) -> Gender -> N +(uomo,uomini : Str) -> Gender -> N mkN -N -> Str -> N +N -> Str -> N mkN2 -Str -> N2 +Str -> N2 mkN2 -N -> Prep -> N2 +N -> Prep -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> PN +Str -> Gender -> PN mkA -(bianco : Str) -> A +(bianco : Str) -> A mkA -(solo,sola,soli,sole,solamente : Str) -> A +(solo,sola,soli,sole,solamente : Str) -> A mkA -A -> A -> A +A -> A -> A prefixA -A -> A = prefA +A -> A = prefA mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -Str -> V +Str -> V mkV -Verbo -> V +Verbo -> V mkV -(udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V +(udire,odo,ode,udiamo,udiro,udii,udisti,udi,udirono,odi,udito : Str) -> V essereV -V -> V +V -> V reflV -V -> V +V -> V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 v2V -V2 -> V +V2 -> V mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV deVV -V -> VV +V -> VV aVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> Prep -> V2A +V -> Prep -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> Prep -> AV +A -> Prep -> AV mkA2V -A -> Prep -> Prep -> A2V +A -> Prep -> Prep -> A2V @@ -3949,235 +3949,235 @@ source http://www.cs.chalmers.se/~a Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender neutrum -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number Case -Type +Type nominative -Case +Case genitive -Case +Case mkPrep -Str -> Prep +Str -> Prep noPrep -Prep +Prep mkN -Str -> N +Str -> N mkN -Str -> Gender -> N +Str -> Gender -> N mkN -(bil,bilen : Str) -> N +(bil,bilen : Str) -> N mkN -(dreng,drengen,drenger,drengene : Str) -> N +(dreng,drengen,drenger,drengene : Str) -> N mkN2 -N -> Prep -> N2 +N -> Prep -> N2 regN2 -Str -> Gender -> N2 +Str -> Gender -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> PN +Str -> Gender -> PN mkPN -N -> PN +N -> PN mkA -(fin : Str) -> A +(fin : Str) -> A mkA -(fin,fint : Str) -> A +(fin,fint : Str) -> A mkA -(galen,galet,galne : Str) -> A +(galen,galet,galne : Str) -> A mkA -(stor,stort,store,storre,storst : Str) -> A +(stor,stort,store,storre,storst : Str) -> A mkA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -(snakke : Str) -> V +(snakke : Str) -> V mkV -(leve,levde : Str) -> V +(leve,levde : Str) -> V mkV -(drikke, drakk, drukket : Str) -> V +(drikke, drakk, drukket : Str) -> V mkV -(spise,spiser,spises,spiste,spist,spis : Str) -> V +(spise,spiser,spises,spiste,spist,spis : Str) -> V mkV -V -> Str -> V +V -> Str -> V vaereV -V -> V +V -> V depV -V -> V +V -> V reflV -V -> V +V -> V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> V2A +V -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V @@ -4193,231 +4193,231 @@ source http://www.cs.chalmers.se/~aar Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender neuter -Gender +Gender Case -Type +Type nominative -Case +Case genitive -Case +Case dative -Case +Case accusative -Case +Case instructive -Case +Case prepositional -Case +Case Number -Type +Type singular -Number +Number plural -Number +Number mkN -Str -> N +Str -> N mkN -Str -> Gender -> Animacy -> N +Str -> Gender -> Animacy -> N mkN -(nomSg,_,_,_,_,_,_,_,_,_,_,prepPl : Str) -> Gender -> Animacy -> N +(nomSg,_,_,_,_,_,_,_,_,_,_,prepPl : Str) -> Gender -> Animacy -> N nMashina -Str -> N +Str -> N nEdinica -Str -> N +Str -> N nZhenchina -Str -> N +Str -> N nNoga -Str -> N +Str -> N nMalyariya -Str -> N +Str -> N nTetya -Str -> N +Str -> N nBol -Str -> N +Str -> N nObezbolivauchee -Str -> N +Str -> N nProizvedenie -Str -> N +Str -> N nChislo -Str -> N +Str -> N nZhivotnoe -Str -> N +Str -> N nPepel -Str -> N +Str -> N nMalush -Str -> N +Str -> N nPotolok -Str -> N +Str -> N nStomatolog -Str -> N +Str -> N nAdres -Str -> N +Str -> N nTelefon -Str -> N +Str -> N nNol -Str -> N +Str -> N nUroven -Str -> N +Str -> N mkFun -N -> Prep -> N2 +N -> Prep -> N2 mkN2 -N -> N2 +N -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> Animacy -> PN +Str -> Gender -> Animacy -> PN mkPN -N -> PN +N -> PN mkA -Str -> A +Str -> A mkA -Str -> Str -> A +Str -> Str -> A AStaruyj -Str -> Str -> A +Str -> Str -> A AMalenkij -Str -> Str -> A +Str -> Str -> A AKhoroshij -Str -> Str -> A +Str -> Str -> A AMolodoj -Str -> Str -> A +Str -> Str -> A AKakoj_Nibud -Str -> Str -> Str -> A +Str -> Str -> Str -> A mkA2 -A -> Str -> Case -> A2 +A -> Str -> Case -> A2 mkAdv -Str -> Adv +Str -> Adv mkV -Aspect -> Conjugation -> (stemPrsSgP1,endPrsSgP1,pastSgP1,imp,inf : Str) -> V +Aspect -> Conjugation -> (stemPrsSgP1,endPrsSgP1,pastSgP1,imp,inf : Str) -> V mkV -Aspect -> (presSgP1,presSgP2,presSgP3,presPlP1,presPlP2,presPlP3,pastSgMasc,imp,inf: Str) -> V +Aspect -> (presSgP1,presSgP2,presSgP3,presPlP1,presPlP2,presPlP3,pastSgMasc,imp,inf: Str) -> V mkV2 -V -> V2 +V -> V2 mkV2 -V -> Str -> Case -> V2 +V -> Str -> Case -> V2 tvDirDir -V -> V3 +V -> V3 mkV3 -V -> Str -> Str -> Case -> Case -> V3 +V -> Str -> Str -> Case -> Case -> V3 @@ -4433,223 +4433,223 @@ source http://www.cs.chalmers.se/~aar Gender -Type +Type masculine -Gender +Gender feminine -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number accusative -Prep +Prep genitive -Prep +Prep dative -Prep +Prep mkPrep -Str -> Prep +Str -> Prep mkN -(luz : Str) -> N +(luz : Str) -> N mkN -Str -> Gender -> N +Str -> Gender -> N mkN -(baston,bastones : Str) -> Gender -> N +(baston,bastones : Str) -> Gender -> N compN -N -> Str -> N +N -> Str -> N mkN2 -N -> Prep -> N2 +N -> Prep -> N2 deN2 -N -> N2 +N -> N2 aN2 -N -> N2 +N -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -(Anna : Str) -> PN +(Anna : Str) -> PN mkPN -(Pilar : Str) -> Gender -> PN +(Pilar : Str) -> Gender -> PN mkA -(util : Str) -> A +(util : Str) -> A mkA -(solo,sola,solos,solas,solamente : Str) -> A +(solo,sola,solos,solas,solamente : Str) -> A mkA -(bueno : A) -> (mejor : A) -> A +(bueno : A) -> (mejor : A) -> A prefixA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -(pagar : Str) -> V +(pagar : Str) -> V mkV -(mostrar,muestro : Str) -> V +(mostrar,muestro : Str) -> V mkV -Verbum -> V +Verbum -> V reflV -V -> V +V -> V special_ppV -V -> Str -> V +V -> Str -> V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 v2V -V2 -> V +V2 -> V mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 dirV3 -V -> Prep -> V3 +V -> Prep -> V3 dirdirV3 -V -> V3 +V -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV deVV -V -> VV +V -> VV aVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> Prep -> V2A +V -> Prep -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> Prep -> AV +A -> Prep -> AV mkA2V -A -> Prep -> Prep -> A2V +A -> Prep -> Prep -> A2V @@ -4665,231 +4665,231 @@ source http://www.cs.chalmers.se/~aar Gender -Type +Type utrum -Gender +Gender neutrum -Gender +Gender Number -Type +Type singular -Number +Number plural -Number +Number Case -Type +Type nominative -Case +Case genitive -Case +Case mkPrep -Str -> Prep +Str -> Prep noPrep -Prep +Prep mkN -(apa : Str) -> N +(apa : Str) -> N mkN -(lik : Str) -> Gender -> N +(lik : Str) -> Gender -> N mkN -(nyckel,nycklar : Str) -> N +(nyckel,nycklar : Str) -> N mkN -(museum,museet,museer,museerna : Str) -> N +(museum,museet,museer,museerna : Str) -> N mkN2 -Str -> N2 +Str -> N2 mkN2 -N -> Prep -> N2 +N -> Prep -> N2 mkN3 -N -> Prep -> Prep -> N3 +N -> Prep -> Prep -> N3 mkPN -Str -> PN +Str -> PN mkPN -Str -> Gender -> PN +Str -> Gender -> PN mkPN -(jesus,jesu : Str) -> Gender -> PN +(jesus,jesu : Str) -> Gender -> PN mkA -(billig : Str) -> A +(billig : Str) -> A mkA -(bred,brett : Str) -> A +(bred,brett : Str) -> A mkA -(tung,tyngre,tyngst : Str) -> A +(tung,tyngre,tyngst : Str) -> A mkA -(god,gott,goda,battre,bast : Str) -> A +(god,gott,goda,battre,bast : Str) -> A mkA -(liten,litet,lilla,sma,mindre,minst,minsta : Str) -> A +(liten,litet,lilla,sma,mindre,minst,minsta : Str) -> A compoundA -A -> A +A -> A mkA2 -A -> Prep -> A2 +A -> Prep -> A2 mkAdv -Str -> Adv +Str -> Adv mkAdV -Str -> AdV +Str -> AdV mkAdA -Str -> AdA +Str -> AdA mkV -(stämmer : Str) -> V +(stämmer : Str) -> V mkV -(dricka,drack,druckit : Str) -> V +(dricka,drack,druckit : Str) -> V mkV -(gå,går,gå,gick,gått,gången : Str) -> V +(gå,går,gå,gick,gått,gången : Str) -> V mkV -V -> Str -> V +V -> Str -> V depV -V -> V +V -> V reflV -V -> V +V -> V mkV2 -Str -> V2 +Str -> V2 mkV2 -V -> V2 +V -> V2 mkV2 -V -> Prep -> V2 +V -> Prep -> V2 mkV3 -Str -> V3 +Str -> V3 mkV3 -V -> V3 +V -> V3 mkV3 -V -> Prep -> V3 +V -> Prep -> V3 mkV3 -V -> Prep -> Prep -> V3 +V -> Prep -> Prep -> V3 mkV0 -V -> V0 +V -> V0 mkVS -V -> VS +V -> VS mkV2S -V -> Prep -> V2S +V -> Prep -> V2S mkVV -V -> VV +V -> VV mkV2V -V -> Prep -> Prep -> V2V +V -> Prep -> Prep -> V2V mkVA -V -> VA +V -> VA mkV2A -V -> Prep -> V2A +V -> Prep -> V2A mkVQ -V -> VQ +V -> VQ mkV2Q -V -> Prep -> V2Q +V -> Prep -> V2Q mkAS -A -> AS +A -> AS mkA2S -A -> Prep -> A2S +A -> Prep -> A2S mkAV -A -> AV +A -> AV mkA2V -A -> Prep -> A2V +A -> Prep -> A2V