mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
removed extra stuff. still available in separate branch on https://github.com/daherb/gf-rgl/tree/latin-extra
This commit is contained in:
@@ -1,8 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude:..
|
|
||||||
|
|
||||||
resource CombinatorsLat = Combinators - [ appCN, appCNc ] with
|
|
||||||
(Cat = CatLat),
|
|
||||||
(Structural = StructuralLat),
|
|
||||||
(Noun = NounLat),
|
|
||||||
(Constructors = ConstructorsLat) **
|
|
||||||
{}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude:..
|
|
||||||
|
|
||||||
resource ConstructorsLat = Constructors with (Grammar = GrammarLat) **
|
|
||||||
open MissingAPILat in {}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude:..
|
|
||||||
|
|
||||||
resource ConstructorsLat = Constructors with (Grammar = GrammarLat) **
|
|
||||||
open MissingLat in {}
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
--1 Symbolic: Noun Phrases with mathematical symbols
|
|
||||||
|
|
||||||
incomplete resource Symbolic = open Symbol, Grammar, PredefCnc in {
|
|
||||||
|
|
||||||
oper
|
|
||||||
symb : overload {
|
|
||||||
symb : Symb -> NP ; -- x
|
|
||||||
symb : Str -> NP ; -- x
|
|
||||||
symb : Int -> NP ; -- 23
|
|
||||||
symb : Float -> NP ; -- 0.99
|
|
||||||
symb : N -> Digits -> NP ; -- level 4
|
|
||||||
symb : N -> Card -> NP ; -- level at least four
|
|
||||||
symb : CN -> Card -> NP ; -- advanced level at least four
|
|
||||||
symb : Det -> N -> Card -> NP ; -- the number at least four
|
|
||||||
symb : Det -> CN -> Card -> NP ; -- the even number at least four
|
|
||||||
symb : N -> Numeral -> NP ; -- level four
|
|
||||||
symb : CN -> Numeral -> NP ; -- advanced level four
|
|
||||||
symb : Det -> N -> Numeral -> NP ; -- the largest number four
|
|
||||||
symb : Det -> CN -> Numeral -> NP ; -- the largest even number four
|
|
||||||
symb : Det -> N -> Str -> Str -> NP ; -- the largest levels i and j
|
|
||||||
symb : Det -> CN -> [Symb] -> NP ; -- the largest basic levels i, j, and k
|
|
||||||
symb : Quant -> N -> Numeral -> NP ; -- the number four
|
|
||||||
symb : Quant -> CN -> Numeral -> NP ; -- the even number four
|
|
||||||
symb : Quant -> N -> Str -> Str -> NP ; -- the levels i and j
|
|
||||||
symb : Quant -> CN -> [Symb] -> NP ; -- the basic levels i, j, and k
|
|
||||||
symb : Symb -> S ; -- A
|
|
||||||
symb : Symb -> Card ; -- n
|
|
||||||
symb : Symb -> Ord -- n'th
|
|
||||||
} ;
|
|
||||||
|
|
||||||
mkSymb : Str -> Symb ;
|
|
||||||
mkInteger : Predef.Int -> Integer ;
|
|
||||||
mkFloating : Predef.Float -> Floating ;
|
|
||||||
|
|
||||||
Symb : Type
|
|
||||||
= Symbol.Symb ;
|
|
||||||
--.
|
|
||||||
|
|
||||||
symb = overload {
|
|
||||||
symb : Symb -> NP
|
|
||||||
= \s -> UsePN (SymbPN s) ;
|
|
||||||
symb : Str -> NP
|
|
||||||
= \s -> UsePN (SymbPN (mkSymb s)) ;
|
|
||||||
symb : Int -> NP
|
|
||||||
= \i -> UsePN (IntPN i) ;
|
|
||||||
symb : Float -> NP
|
|
||||||
= \i -> UsePN (FloatPN i) ;
|
|
||||||
symb : N -> Digits -> NP
|
|
||||||
= \c,i -> CNNumNP (UseN c) (NumDigits i) ;
|
|
||||||
symb : N -> Card -> NP
|
|
||||||
= \c,n -> CNNumNP (UseN c) n ;
|
|
||||||
symb : CN -> Card -> NP
|
|
||||||
= \c,n -> CNNumNP c n ;
|
|
||||||
symb : Det -> N -> Card -> NP
|
|
||||||
= \d,n,x -> DetCN d (ApposCN (UseN n) (UsePN (NumPN x))) ;
|
|
||||||
symb : Det -> CN -> Card -> NP
|
|
||||||
= \d,n,x -> DetCN d (ApposCN n (UsePN (NumPN x))) ;
|
|
||||||
symb : N -> Numeral -> NP
|
|
||||||
= \c,n -> CNNumNP (UseN c) (NumNumeral n) ;
|
|
||||||
symb : CN -> Numeral -> NP
|
|
||||||
= \c,n -> CNNumNP c (NumNumeral n) ;
|
|
||||||
symb : Det -> N -> Numeral -> NP
|
|
||||||
= \d,n,x -> DetCN d (ApposCN (UseN n) (UsePN (NumPN (NumNumeral x)))) ;
|
|
||||||
symb : Det -> CN -> Numeral -> NP
|
|
||||||
= \d,n,x -> DetCN d (ApposCN n (UsePN (NumPN (NumNumeral x)))) ;
|
|
||||||
symb : Det -> N -> Str -> Str -> NP
|
|
||||||
= \c,n,x,y -> CNSymbNP c (UseN n) (BaseSymb (mkSymb x) (mkSymb y)) ;
|
|
||||||
symb : Det -> CN -> [Symb] -> NP
|
|
||||||
= CNSymbNP ;
|
|
||||||
symb : Quant -> N -> Numeral -> NP
|
|
||||||
= \d,n,x -> DetCN (DetQuant d NumSg) (ApposCN (UseN n) (UsePN (NumPN (NumNumeral x)))) ;
|
|
||||||
symb : Quant -> CN -> Numeral -> NP
|
|
||||||
= \d,n,x -> DetCN (DetQuant d NumSg) (ApposCN n (UsePN (NumPN (NumNumeral x)))) ;
|
|
||||||
symb : Quant -> N -> Str -> Str -> NP
|
|
||||||
= \d,n,x,y -> CNSymbNP (DetQuant d NumSg) (UseN n) (BaseSymb (mkSymb x) (mkSymb y)) ;
|
|
||||||
symb : Quant -> CN -> [Symb] -> NP
|
|
||||||
= \d -> CNSymbNP (DetQuant d NumSg);
|
|
||||||
symb : Symb -> S = SymbS ;
|
|
||||||
symb : Symb -> Card = SymbNum ;
|
|
||||||
symb : Symb -> Ord = SymbOrd
|
|
||||||
} ;
|
|
||||||
|
|
||||||
mkSymb : Str -> Symb = \s -> {s = s ; lock_Symb = <>} ;
|
|
||||||
|
|
||||||
mkInteger i = {s = Predef.show Predef.Int i ; lock_Int = <>} ;
|
|
||||||
mkFloating f = {s = Predef.show Predef.Float f ; lock_Float = <>} ;
|
|
||||||
|
|
||||||
Integer : Type = {s : Str ; lock_Int : {}} ;
|
|
||||||
Floating : Type = {s : Str ; lock_Float : {}} ;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:../icelandic:../common:../abstract:../prelude
|
|
||||||
|
|
||||||
resource SymbolicLat = Symbolic with
|
|
||||||
(Symbol = SymbolLat),
|
|
||||||
(Grammar = GrammarLat) ;
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
--# -path=.:alltenses:prelude:..
|
|
||||||
|
|
||||||
instance SyntaxLat of Syntax =
|
|
||||||
ConstructorsLat, CatLat, StructuralLat, CombinatorsLat ;
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
--# -path=.:..:prelude
|
|
||||||
|
|
||||||
resource TryLat = SyntaxLat, ExtraLat, LexiconLat, ParadigmsLat -
|
|
||||||
[mkAdv,mkAdN,mkOrd,mkNum];
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
import PGF
|
|
||||||
import System.Environment
|
|
||||||
|
|
||||||
main =
|
|
||||||
do
|
|
||||||
args <- getArgs -- first one should be pgf file and second one should be the file containing the errors/warnings about missing things
|
|
||||||
pgf <- PGF.readPGF (args !! 0) -- "tmp/Lang.pgf"
|
|
||||||
ms <- readFile (args !! 1) {- "tmp/MissingLat.tmp" -} >>= return . map (last . words) . lines
|
|
||||||
let ts = [PGF.showType [] t | m <- ms, Just t <- [PGF.functionType pgf (PGF.mkCId m)]]
|
|
||||||
putStrLn $ unlines ["oper " ++ f ++ " : " ++ t ++ " = notYet \"" ++ f ++ "\" ;" | (f,t) <- zip ms ts]
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
echo "Create tmp dir"
|
|
||||||
mkdir tmp/
|
|
||||||
echo "Remove old file"
|
|
||||||
echo "resource MissingAPILat = {} " > ../MissingAPILat.gf
|
|
||||||
echo "Look for missing functions"
|
|
||||||
# gf -src -i .. -batch TryLat.gf 2>&1 | grep "Warning: no linearization of" | sort -u > tmp/MissingLat.tmp
|
|
||||||
gf -src -i .. -batch TryLat.gf 2>&1 | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g" | grep -E "constant not found|no linearization of" | sort -u > tmp/MissingLat.tmp
|
|
||||||
echo "Compile grammar"
|
|
||||||
gf -src -make -i .. -D tmp ../LangLat.gf &> /dev/null
|
|
||||||
echo "Create placeholders for missing functions"
|
|
||||||
echo "resource MissingAPILat = open GrammarLat, Prelude in {" > ../MissingAPILat.gf
|
|
||||||
echo "" >> ../MissingAPILat.gf
|
|
||||||
echo "-- temporary definitions to enable the compilation of RGL API" >> ../MissingAPILat.gf
|
|
||||||
runghc mkMissing.hs "tmp/Lang.pgf" "tmp/MissingLat.tmp">> ../MissingAPILat.gf
|
|
||||||
echo "}" >> ../MissingAPILat.gf
|
|
||||||
echo "Cleanup"
|
|
||||||
rm -Rf tmp
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
concrete BigLat of BigLatAbs = GrammarLat, DictLat ;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
abstract BigLatAbs = Grammar, DictLatAbs ;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
concrete BigLatEng of BigLatAbs = GrammarEng, DictLatEng ;
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1 +0,0 @@
|
|||||||
concrete FullLex of FullLexAbs = LexiconLat, DictLat-[do_V2];
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
concrete FullLex of FullLexAbs = LexiconLat, DictLat-do_V2;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
abstract FullLexAbs = Lexicon, DictLatAbs-[do_V2,leg_N,man_N] ;
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
abstract FullLexAbs = Lexicon, DictLatAbs-[do_V2,leg_N] ;
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
import Data.Char
|
|
||||||
import Data.List
|
|
||||||
|
|
||||||
main = mkLatin
|
|
||||||
|
|
||||||
mkLatin = do
|
|
||||||
ws <- readFile "DICTPAGE.RAW" >>= return . lines
|
|
||||||
let fcs = mkDict ws
|
|
||||||
let fs = [unwords [status st ++ "fun",f,":",cat,";","--",eng] | [st, f,cat,_,eng] <- fcs]
|
|
||||||
let ls = [unwords [status st ++ "lin",f,"=",lat,";"] | [st, f,_,lat,_] <- fcs]
|
|
||||||
|
|
||||||
writeFile "DictLatAbs.gf" "abstract DictLatAbs = Cat ** {"
|
|
||||||
appendFile "DictLatAbs.gf" "\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n"
|
|
||||||
appendFile "DictLatAbs.gf" (unlines fs)
|
|
||||||
appendFile "DictLatAbs.gf" "}"
|
|
||||||
|
|
||||||
writeFile "DictLat.gf" "concrete DictLat of DictLatAbs = CatLat ** open ParadigmsLat in {"
|
|
||||||
appendFile "DictLat.gf" "\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n"
|
|
||||||
appendFile "DictLat.gf" (unlines ls)
|
|
||||||
appendFile "DictLat.gf" "}"
|
|
||||||
|
|
||||||
let es = [unwords [status st ++ "lin",f,"=",mkEng cat eng,";"] | [st, f,cat,_,eng] <- fcs]
|
|
||||||
writeFile "DictLatEng.gf" "concrete DictLatEng of DictLatAbs = CatEng ** open ParadigmsEng in {"
|
|
||||||
appendFile "DictLatEng.gf" "\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n"
|
|
||||||
appendFile "DictLatEng.gf" (unlines es)
|
|
||||||
appendFile "DictLatEng.gf" "}"
|
|
||||||
|
|
||||||
|
|
||||||
--- putStrLn $ unlines ls
|
|
||||||
|
|
||||||
mkDict :: [String] -> [[String]] -- fun, cat, lat, eng
|
|
||||||
mkDict = map mkOne . zip [10001 ..] . map cleanUp
|
|
||||||
where
|
|
||||||
cleanUp s = let (lat,eng) = break (=='[') s in
|
|
||||||
(words (filter (\c -> c==' ' || isLetter c) lat), eng)
|
|
||||||
mkOne (i,(lws,eng)) = addId i (mkLat lws) ++ [eng]
|
|
||||||
mkLat lws = case lws of
|
|
||||||
x:y:"N":_:g:_ -> f [x, "N", lin "mkN" [show x,show y, (snd (gender g))]] where f = if fst (gender g) then ok else todo
|
|
||||||
x:y:"N": g:_ -> f [x, "N", lin "mkN" [show x,show y, (snd (gender g))]] where f = if fst (gender g) then ok else todo
|
|
||||||
x:"gen":z:"ADJ":_ -> ok [x, "A", lin "mkA" [show x]]
|
|
||||||
x:y:z:"ADJ":_ -> ok [x, "A", lin "mkA" [show x]]
|
|
||||||
x:"ADV":_ -> ok [x, "Adv", lin "mkAdv" [show x]]
|
|
||||||
x:y:z:u:"V":_:"INTRANS":_ -> okv [y, "V", lin "mkV" [show y,show x,show z,show u]]
|
|
||||||
x:y:z:u:"V":_:"TRANS":_ -> okv [y, "V2", lin "mkV2" ["(" ++ lin "mkV" [show y,show x,show z,show u] ++ ")"]]
|
|
||||||
x:y:z:u:"V":_:"DEP":_ -> todo [y, "V", lin "depV" ["(" ++ lin "mkV" [show y,show x,show z,show u] ++ ")"]]
|
|
||||||
x:y:z:u:"V":_ -> okv [y, "V", lin "mkV" [show y,show x,show z,show u]]
|
|
||||||
|
|
||||||
_ -> todo ["TODO","",unwords lws]
|
|
||||||
|
|
||||||
addId i (st:f:c:rest) = st:(f ++ "_" ++ show i ++ "_" ++ c):c:rest
|
|
||||||
|
|
||||||
gender g = case g of
|
|
||||||
"M" -> (True, "masculine")
|
|
||||||
"F" -> (True, "feminine")
|
|
||||||
"N" -> (True, "neuter")
|
|
||||||
"C" -> (True, "masculine {-C-}")
|
|
||||||
_ -> (False, g ++ "{-??-}")
|
|
||||||
|
|
||||||
fun x c = x ++ "_" ++ c
|
|
||||||
lin f xs = unwords (f:xs)
|
|
||||||
todo xs = "1":xs
|
|
||||||
ok xs = "0":xs
|
|
||||||
okv r@(f:_) = if elem (take 3 (reverse f)) ["era","ere","eri"] then ok r else todo r
|
|
||||||
|
|
||||||
status st = case st of
|
|
||||||
"0" -> ""
|
|
||||||
_ -> "-- "
|
|
||||||
|
|
||||||
|
|
||||||
-- build an English version: TODO better analysis of the notation
|
|
||||||
mkEng cat eng = unwords $ intersperse "|" $ map mkOne engs
|
|
||||||
where
|
|
||||||
mkOne s = unwords ["mk" ++ cat, show s]
|
|
||||||
engs = [clean (takeWhile (flip notElem "\r,;") (drop 11 eng))] ---- TODO
|
|
||||||
clean s = case s of
|
|
||||||
'\\':r:cs -> clean cs
|
|
||||||
c:cs -> c:clean cs
|
|
||||||
_ -> s
|
|
||||||
|
|
||||||
-- [DXXFS] :: counting-board; side-board; slab table; panel; square stone on top of column;
|
|
||||||
-- [EEQEE] :: Father; (Aramaic); bishop of Syriac/Coptic church; (false read obba/decanter);
|
|
||||||
@@ -1,342 +0,0 @@
|
|||||||
{-# LANGUAGE FlexibleContexts #-}
|
|
||||||
import Text.Parsec
|
|
||||||
import Text.Parsec.Error
|
|
||||||
import Data.Char
|
|
||||||
import Data.Maybe
|
|
||||||
import System.IO
|
|
||||||
import Data.List
|
|
||||||
import Debug.Trace
|
|
||||||
data Case = Nom | Gen | Dat | Acc | Abl deriving Show
|
|
||||||
data Gender = Masc | Fem | Neuter | Common | Unknown
|
|
||||||
data Cat = N | V | A | Adv | Interj | Prep | Num | Conj | Pron deriving Show;
|
|
||||||
data VerbKind = Trans | Intrans | Deponens | SemiDeponens | Impersonal deriving Show
|
|
||||||
data Comparison = Positive | Comparative | Superlative | PosComp | CompSuper | PosCompSuper | Undeclined deriving Show;
|
|
||||||
data DictEntry = Entry { cat :: Cat , forms :: [String] , other :: OtherInfos , comment :: String } | EmptyEntry deriving Show;
|
|
||||||
data OtherInfos = Noun { iclass :: Maybe Int , gen :: Gender } | Adjective { iclass :: Maybe Int , comp :: Comparison } | Verb { iclass :: Maybe Int , kind :: VerbKind } | Preposition { c :: Case } | NoInfos deriving Show;
|
|
||||||
|
|
||||||
instance Show Gender where
|
|
||||||
show Masc = "masculine"
|
|
||||||
show Fem = "feminine"
|
|
||||||
show Neuter = "neuter"
|
|
||||||
show Common = "(feminine | masculine)"
|
|
||||||
show Unknown = ""
|
|
||||||
|
|
||||||
hash :: Stream s m Char => ParsecT s u m Char
|
|
||||||
hash = char '#'
|
|
||||||
|
|
||||||
wordForm :: Stream s m Char => ParsecT s u m String
|
|
||||||
wordForm =
|
|
||||||
let
|
|
||||||
esse :: Stream s m Char => ParsecT s u m String
|
|
||||||
esse =
|
|
||||||
string "sum" <|> string "est"
|
|
||||||
suffix :: Stream s m Char => ParsecT s u m String
|
|
||||||
suffix =
|
|
||||||
do
|
|
||||||
d <- char '-'
|
|
||||||
sfx <- many letter
|
|
||||||
spcs <- many space
|
|
||||||
return $ d : sfx ++ spcs
|
|
||||||
genitive :: Stream s m Char => ParsecT s u m String
|
|
||||||
genitive =
|
|
||||||
do
|
|
||||||
p1 <- string "(gen"
|
|
||||||
p2 <- many (noneOf ")")
|
|
||||||
p3 <- string ")"
|
|
||||||
return $ p1 ++ p2 ++ p3
|
|
||||||
in
|
|
||||||
do
|
|
||||||
w0 <- optionMaybe (char '-' <|> letter)
|
|
||||||
ws <- if isJust w0 then many (letter <|> oneOf "()/") else return ""
|
|
||||||
s1 <- many space
|
|
||||||
s <- option [] $ try $ esse
|
|
||||||
s2 <- many space
|
|
||||||
g <- option [] $ try genitive
|
|
||||||
s3 <- many space
|
|
||||||
sfs <- option [] $ try (many suffix)
|
|
||||||
return $ maybe ws (:ws) w0 ++ s1 ++ s ++ s2 ++ g ++ s3 ++ concat sfs
|
|
||||||
|
|
||||||
wordForms :: Stream s m Char => ParsecT s u m [String]
|
|
||||||
wordForms =
|
|
||||||
do
|
|
||||||
wf <- wordForm;
|
|
||||||
wfs <- many (do
|
|
||||||
_ <- char ','
|
|
||||||
skipMany space
|
|
||||||
wordForm
|
|
||||||
)
|
|
||||||
return (wf:wfs)
|
|
||||||
|
|
||||||
gender :: Stream s m Char => ParsecT s u m Gender
|
|
||||||
gender =
|
|
||||||
do
|
|
||||||
skipMany space
|
|
||||||
c <- upper
|
|
||||||
case c of {
|
|
||||||
'N' -> return Neuter ;
|
|
||||||
'M' -> return Masc ;
|
|
||||||
'F' -> return Fem ;
|
|
||||||
'C' -> return Common; -- Feminine and/or masculine
|
|
||||||
'X' -> return Unknown;
|
|
||||||
_ -> unexpected ("unhandled gender " ++ [c])
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inflection :: Stream s m Char => ParsecT s u m (Maybe Int)
|
|
||||||
inflection =
|
|
||||||
do
|
|
||||||
_ <- char '(';
|
|
||||||
i <- digit ;
|
|
||||||
_ <- string "st" <|> string "nd" <|> string "rd" <|> string "th" ;
|
|
||||||
_ <- char ')';
|
|
||||||
return $ Just $ digitToInt i
|
|
||||||
|
|
||||||
verbkind :: Stream s m Char => ParsecT s u m VerbKind
|
|
||||||
verbkind =
|
|
||||||
do
|
|
||||||
s <- many upper
|
|
||||||
case s of {
|
|
||||||
"INTRANS" -> return Intrans;
|
|
||||||
"TRANS" -> return Trans;
|
|
||||||
"DEP" -> return Deponens;
|
|
||||||
"SEMIDEP" -> return SemiDeponens;
|
|
||||||
"IMPERS" -> return Impersonal;
|
|
||||||
_ -> unexpected s -- Probably just return intrans?
|
|
||||||
}
|
|
||||||
|
|
||||||
cases :: Stream s m Char => ParsecT s u m Case
|
|
||||||
cases =
|
|
||||||
do
|
|
||||||
s <- many upper
|
|
||||||
case s of {
|
|
||||||
"ACC" -> return Acc;
|
|
||||||
"ABL" -> return Abl;
|
|
||||||
_ -> unexpected s
|
|
||||||
}
|
|
||||||
|
|
||||||
rest :: Stream s m Char => ParsecT s u m String
|
|
||||||
rest =
|
|
||||||
do
|
|
||||||
c0 <- char '['
|
|
||||||
cs <- many anyChar
|
|
||||||
return (c0:cs)
|
|
||||||
|
|
||||||
noun :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
noun =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- char 'N'
|
|
||||||
skipMany space
|
|
||||||
i <- option Nothing inflection
|
|
||||||
g <- gender
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry N wfs (Noun i g) c
|
|
||||||
|
|
||||||
verb :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
verb =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "V"
|
|
||||||
skipMany space
|
|
||||||
i <- option Nothing inflection
|
|
||||||
skipMany space
|
|
||||||
k <- option Intrans verbkind
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry V wfs (Verb i k) c
|
|
||||||
|
|
||||||
adjective :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
adjective =
|
|
||||||
let
|
|
||||||
dropLast :: Int -> String -> String
|
|
||||||
dropLast i s = take (length s - i) s
|
|
||||||
fixStuff :: [String] -> ([String],OtherInfos)
|
|
||||||
fixStuff wfs@[f1,f2]
|
|
||||||
| isSuffixOf "or -or -us" f1 && isSuffixOf "us -a -um" f2 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 10 f1
|
|
||||||
stem2 = dropLast 9 f2
|
|
||||||
in
|
|
||||||
([stem1 ++ "or", stem1 ++ "or", stem1 ++ "us", stem2 ++ "us", stem2 ++ "a", stem2 ++ "um"],
|
|
||||||
Adjective (Just 3) CompSuper)
|
|
||||||
| f2 == "undeclined" = (wfs, Adjective (Just (-1)) Undeclined)
|
|
||||||
fixStuff wfs@[f1,f2,f3]
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a" f2 && isSuffixOf "um" f3 = (wfs, Adjective (Just 1) Positive)
|
|
||||||
| isSuffixOf "r" f1 && isSuffixOf "ra" f2 && isSuffixOf "rum" f3 = (wfs, Adjective (Just 1) Positive)
|
|
||||||
| isSuffixOf "is" f1 && isSuffixOf "is" f2 && isSuffixOf "e" f3 = ([f1,f3], Adjective (Just 3) Positive)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "is" f2 && isSuffixOf "e" f3 = (wfs, Adjective (Just 3) Positive)
|
|
||||||
| isSuffixOf "os" f1 && isSuffixOf "os" f2 && isSuffixOf "on" f3 = (wfs, Adjective (Just (-1)) Positive) -- Greek stuff
|
|
||||||
| isSuffixOf "os" f1 && isSuffixOf "a" f2 && isSuffixOf "on" f3 = (wfs, Adjective (Just (-1)) Positive) -- Green stuff
|
|
||||||
| f2 == "(gen.)" = ([f1,f3], Adjective (Just 3) Positive)
|
|
||||||
-- acer, acris -e, acrior -or -us, acerrimus -a -um ADJ
|
|
||||||
-- abjectus, abjecta -um, abjectior -or -us, abjectissimus -a -um
|
|
||||||
fixStuff wfs@[f1,f2,f3,f4]
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -um" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 2 f1
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "um",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 2 f1
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "ns" f1 && isSuffixOf "ntis (gen.)" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 11 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "ntis",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 3) PosCompSuper)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "is -e" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 5 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "is", stem1 ++ "e",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 3) PosCompSuper)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 5 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "is" f1 && isSuffixOf "e" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, f2,
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
fixStuff wfs = trace ("ERROR: " ++ show wfs) (wfs,NoInfos)
|
|
||||||
in
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "ADJ"
|
|
||||||
-- Set additional infos/normalize foobar
|
|
||||||
-- i <- return Nothing
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
let (nwfs,ninfos) = fixStuff $ map skipSpaces wfs -- (Adjective i)
|
|
||||||
return $ Entry A nwfs ninfos c
|
|
||||||
|
|
||||||
adverb :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
adverb =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "ADV"
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry Adv wfs NoInfos c
|
|
||||||
|
|
||||||
interjection :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
interjection =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "INTERJ"
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry Interj wfs NoInfos c
|
|
||||||
|
|
||||||
preposition :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
preposition =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "PREP"
|
|
||||||
skipMany space
|
|
||||||
c <- cases
|
|
||||||
skipMany space
|
|
||||||
cc <- rest
|
|
||||||
return $ Entry Prep wfs (Preposition c) cc
|
|
||||||
|
|
||||||
wrongLine :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
wrongLine =
|
|
||||||
do
|
|
||||||
line <- many1 $ noneOf "["
|
|
||||||
unexpected $ "Unexpected line " ++ line
|
|
||||||
|
|
||||||
lineParser :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
lineParser =
|
|
||||||
do
|
|
||||||
_ <- hash
|
|
||||||
(try noun <|> try verb <|> try adjective <|> try adverb <|> try interjection <|> try preposition) <|> wrongLine
|
|
||||||
|
|
||||||
skipSpaces :: String -> String
|
|
||||||
skipSpaces = dropWhileEnd isSpace --filter (/= ' ')
|
|
||||||
|
|
||||||
write :: FilePath -> FilePath -> [(Int,DictEntry)] -> IO ()
|
|
||||||
write abs conc es =
|
|
||||||
let
|
|
||||||
join :: String -> [String] -> String
|
|
||||||
join g l = foldl (\f s -> f ++ g ++ s ) (head l) (tail l)
|
|
||||||
writeEntry :: Handle -> Handle -> [(Int,DictEntry)] -> IO ()
|
|
||||||
writeEntry habs hconc [] =
|
|
||||||
do
|
|
||||||
hPutStrLn habs "}"
|
|
||||||
hClose habs
|
|
||||||
hPutStrLn hconc "}"
|
|
||||||
hClose hconc
|
|
||||||
writeEntry habs hconc (e@(i,Entry cat forms _ _):es) =
|
|
||||||
do
|
|
||||||
let lemma = skipSpaces $ head forms
|
|
||||||
hPutStrLn habs $ " " ++ lemma ++ "_" ++ show i ++ "_" ++ show cat ++ " : " ++ show cat ++ ";";
|
|
||||||
case e of {
|
|
||||||
(i,Entry N wfs (Noun (Just 1) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ head wfs ++ "\"; -- 1st " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry N wfs (Noun (Just 2) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ head wfs ++ "\"; -- 2nd " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry N wfs (Noun (Just 3) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ (join "\" \"" $ map skipSpaces wfs) ++ "\" " ++ show gender ++ "; -- 3rd " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry A wfs (Adjective (Just 1) comp@Positive) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkA \"" ++ head wfs ++ "\"; -- 1st " ++ show comp ++ " " ++ c;
|
|
||||||
_ -> return () -- print e
|
|
||||||
|
|
||||||
}
|
|
||||||
writeEntry habs hconc es
|
|
||||||
in
|
|
||||||
do
|
|
||||||
habs <- openFile abs WriteMode
|
|
||||||
hconc <- openFile conc WriteMode
|
|
||||||
hPutStrLn habs "abstract DictLatAbs = Cat ** {"
|
|
||||||
hPutStrLn habs "\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm"
|
|
||||||
hPutStrLn habs "fun"
|
|
||||||
hPutStrLn hconc "concrete DictLat of DictLatAbs = CatLat ** open ParadigmsLat in {"
|
|
||||||
hPutStrLn hconc "-- extracted from http://archives.nd.edu/whitaker/dictpage.htm"
|
|
||||||
hPutStrLn hconc "lin"
|
|
||||||
writeEntry habs hconc es
|
|
||||||
|
|
||||||
main =
|
|
||||||
let
|
|
||||||
p :: String -> IO (Maybe DictEntry)
|
|
||||||
p l =
|
|
||||||
case parse lineParser "dict" l of {
|
|
||||||
Left err -> do
|
|
||||||
{ putStrLn $ drop 1 (showErrorMessages "or" "unknown parse error" "expecting" "unexpected" "end of input" $ errorMessages err) ;
|
|
||||||
return Nothing
|
|
||||||
} ;
|
|
||||||
Right e -> return $ Just e
|
|
||||||
}
|
|
||||||
in
|
|
||||||
do
|
|
||||||
ws <- fmap lines (readFile "DICTPAGE.RAW")
|
|
||||||
es <- zip [1..] . catMaybes <$> mapM p ws
|
|
||||||
write "DictLatAbs.gf" "DictLat.gf" es
|
|
||||||
@@ -1,342 +0,0 @@
|
|||||||
{-# LANGUAGE FlexibleContexts #-}
|
|
||||||
import Text.Parsec
|
|
||||||
import Text.Parsec.Error
|
|
||||||
import Data.Char
|
|
||||||
import Data.Maybe
|
|
||||||
import System.IO
|
|
||||||
import Data.List
|
|
||||||
import Debug.Trace
|
|
||||||
data Case = Nom | Gen | Dat | Acc | Abl deriving Show
|
|
||||||
data Gender = Masc | Fem | Neuter | Common | Unknown
|
|
||||||
data Cat = N | V | A | Adv | Interj | Prep | Num | Conj | Pron deriving Show;
|
|
||||||
data VerbKind = Trans | Intrans | Deponens | SemiDeponens | Impersonal deriving Show
|
|
||||||
data Comparison = Positive | Comparative | Superlative | PosComp | CompSuper | PosCompSuper | Undeclined deriving Show;
|
|
||||||
data DictEntry = Entry { cat :: Cat , forms :: [String] , other :: OtherInfos , comment :: String } | EmptyEntry deriving Show;
|
|
||||||
data OtherInfos = Noun { iclass :: Maybe Int , gen :: Gender } | Adjective { iclass :: Maybe Int , comp :: Comparison } | Verb { iclass :: Maybe Int , kind :: VerbKind } | Preposition { c :: Case } | NoInfos deriving Show;
|
|
||||||
|
|
||||||
instance Show Gender where
|
|
||||||
show Masc = "masculine"
|
|
||||||
show Fem = "feminine"
|
|
||||||
show Neuter = "neuter"
|
|
||||||
show Common = "(feminine | masculine)"
|
|
||||||
show Unknown = ""
|
|
||||||
|
|
||||||
hash :: Stream s m Char => ParsecT s u m Char
|
|
||||||
hash = char '#'
|
|
||||||
|
|
||||||
wordForm :: Stream s m Char => ParsecT s u m String
|
|
||||||
wordForm =
|
|
||||||
let
|
|
||||||
esse :: Stream s m Char => ParsecT s u m String
|
|
||||||
esse =
|
|
||||||
string "sum" <|> string "est"
|
|
||||||
suffix :: Stream s m Char => ParsecT s u m String
|
|
||||||
suffix =
|
|
||||||
do
|
|
||||||
d <- char '-'
|
|
||||||
sfx <- many letter
|
|
||||||
spcs <- many space
|
|
||||||
return $ d : sfx ++ spcs
|
|
||||||
genitive :: Stream s m Char => ParsecT s u m String
|
|
||||||
genitive =
|
|
||||||
do
|
|
||||||
p1 <- string "(gen"
|
|
||||||
p2 <- many (noneOf ")")
|
|
||||||
p3 <- string ")"
|
|
||||||
return $ p1 ++ p2 ++ p3
|
|
||||||
in
|
|
||||||
do
|
|
||||||
w0 <- optionMaybe (char '-' <|> letter)
|
|
||||||
ws <- if isJust w0 then many (letter <|> oneOf "()/") else return ""
|
|
||||||
s1 <- many space
|
|
||||||
s <- option [] $ try $ esse
|
|
||||||
s2 <- many space
|
|
||||||
g <- option [] $ try genitive
|
|
||||||
s3 <- many space
|
|
||||||
sfs <- option [] $ try (many suffix)
|
|
||||||
return $ maybe ws (:ws) w0 ++ s1 ++ s ++ s2 ++ g ++ s3 ++ concat sfs
|
|
||||||
|
|
||||||
wordForms :: Stream s m Char => ParsecT s u m [String]
|
|
||||||
wordForms =
|
|
||||||
do
|
|
||||||
wf <- wordForm;
|
|
||||||
wfs <- many (do
|
|
||||||
_ <- char ','
|
|
||||||
skipMany space
|
|
||||||
wordForm
|
|
||||||
)
|
|
||||||
return (wf:wfs)
|
|
||||||
|
|
||||||
gender :: Stream s m Char => ParsecT s u m Gender
|
|
||||||
gender =
|
|
||||||
do
|
|
||||||
skipMany space
|
|
||||||
c <- upper
|
|
||||||
case c of {
|
|
||||||
'N' -> return Neuter ;
|
|
||||||
'M' -> return Masc ;
|
|
||||||
'F' -> return Fem ;
|
|
||||||
'C' -> return Common; -- Feminine and/or masculine
|
|
||||||
'X' -> return Unknown;
|
|
||||||
_ -> unexpected ("unhandled gender " ++ [c])
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inflection :: Stream s m Char => ParsecT s u m (Maybe Int)
|
|
||||||
inflection =
|
|
||||||
do
|
|
||||||
_ <- char '(';
|
|
||||||
i <- digit ;
|
|
||||||
_ <- string "st" <|> string "nd" <|> string "rd" <|> string "th" ;
|
|
||||||
_ <- char ')';
|
|
||||||
return $ Just $ digitToInt i
|
|
||||||
|
|
||||||
verbkind :: Stream s m Char => ParsecT s u m VerbKind
|
|
||||||
verbkind =
|
|
||||||
do
|
|
||||||
s <- many upper
|
|
||||||
case s of {
|
|
||||||
"INTRANS" -> return Intrans;
|
|
||||||
"TRANS" -> return Trans;
|
|
||||||
"DEP" -> return Deponens;
|
|
||||||
"SEMIDEP" -> return SemiDeponens;
|
|
||||||
"IMPERS" -> return Impersonal;
|
|
||||||
_ -> unexpected s -- Probably just return intrans?
|
|
||||||
}
|
|
||||||
|
|
||||||
cases :: Stream s m Char => ParsecT s u m Case
|
|
||||||
cases =
|
|
||||||
do
|
|
||||||
s <- many upper
|
|
||||||
case s of {
|
|
||||||
"ACC" -> return Acc;
|
|
||||||
"ABL" -> return Abl;
|
|
||||||
_ -> unexpected s
|
|
||||||
}
|
|
||||||
|
|
||||||
rest :: Stream s m Char => ParsecT s u m String
|
|
||||||
rest =
|
|
||||||
do
|
|
||||||
c0 <- char '['
|
|
||||||
cs <- many anyChar
|
|
||||||
return (c0:cs)
|
|
||||||
|
|
||||||
noun :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
noun =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- char 'N'
|
|
||||||
skipMany space
|
|
||||||
i <- option Nothing inflection
|
|
||||||
g <- gender
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry N wfs (Noun i g) c
|
|
||||||
|
|
||||||
verb :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
verb =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "V"
|
|
||||||
skipMany space
|
|
||||||
i <- option Nothing inflection
|
|
||||||
skipMany space
|
|
||||||
k <- option Intrans verbkind
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry V wfs (Verb i k) c
|
|
||||||
|
|
||||||
adjective :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
adjective =
|
|
||||||
let
|
|
||||||
dropLast :: Int -> String -> String
|
|
||||||
dropLast i s = take (length s - i) s
|
|
||||||
fixStuff :: [String] -> ([String],OtherInfos)
|
|
||||||
fixStuff wfs@[f1,f2]
|
|
||||||
| isSuffixOf "or -or -us" f1 && isSuffixOf "us -a -um" f2 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 10 f1
|
|
||||||
stem2 = dropLast 9 f2
|
|
||||||
in
|
|
||||||
([stem1 ++ "or", stem1 ++ "or", stem1 ++ "us", stem2 ++ "us", stem2 ++ "a", stem2 ++ "um"],
|
|
||||||
Adjective (Just 3) CompSuper)
|
|
||||||
| f2 == "undeclined" = (wfs, Adjective (Just (-1)) Undeclined)
|
|
||||||
fixStuff wfs@[f1,f2,f3]
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a" f2 && isSuffixOf "um" f3 = (wfs, Adjective (Just 1) Positive)
|
|
||||||
| isSuffixOf "r" f1 && isSuffixOf "ra" f2 && isSuffixOf "rum" f3 = (wfs, Adjective (Just 1) Positive)
|
|
||||||
| isSuffixOf "is" f1 && isSuffixOf "is" f2 && isSuffixOf "e" f3 = ([f1,f3], Adjective (Just 3) Positive)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "is" f2 && isSuffixOf "e" f3 = (wfs, Adjective (Just 3) Positive)
|
|
||||||
| isSuffixOf "os" f1 && isSuffixOf "os" f2 && isSuffixOf "on" f3 = (wfs, Adjective (Just (-1)) Positive) -- Greek stuff
|
|
||||||
| isSuffixOf "os" f1 && isSuffixOf "a" f2 && isSuffixOf "on" f3 = (wfs, Adjective (Just (-1)) Positive) -- Green stuff
|
|
||||||
| f2 == "(gen.)" = ([f1,f3], Adjective (Just 3) Positive)
|
|
||||||
-- acer, acris -e, acrior -or -us, acerrimus -a -um ADJ
|
|
||||||
-- abjectus, abjecta -um, abjectior -or -us, abjectissimus -a -um
|
|
||||||
fixStuff wfs@[f1,f2,f3,f4]
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -um" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 2 f1
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "um",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "us" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 2 f1
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "ns" f1 && isSuffixOf "ntis (gen.)" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 11 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "ntis",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 3) PosCompSuper)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "is -e" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 5 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "is", stem1 ++ "e",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 3) PosCompSuper)
|
|
||||||
| isSuffixOf "er" f1 && isSuffixOf "a -um" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem1 = dropLast 5 f2
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, stem1 ++ "a", stem1 ++ "um",
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
| isSuffixOf "is" f1 && isSuffixOf "e" f2 && isSuffixOf "or -or -us" f3 && isSuffixOf "us -a -um" f4 =
|
|
||||||
let
|
|
||||||
stem2 = dropLast 10 f3
|
|
||||||
stem3 = dropLast 9 f4
|
|
||||||
in
|
|
||||||
([f1, f2,
|
|
||||||
stem2 ++ "or", stem2 ++ "or", stem2 ++ "us",
|
|
||||||
stem3 ++ "us", stem3 ++ "a", stem3 ++ "um"],
|
|
||||||
Adjective (Just 1) PosCompSuper)
|
|
||||||
fixStuff wfs = trace ("ERROR: " ++ show wfs) (wfs,NoInfos)
|
|
||||||
in
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "ADJ"
|
|
||||||
-- Set additional infos/normalize foobar
|
|
||||||
-- i <- return Nothing
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
let (nwfs,ninfos) = fixStuff $ map skipSpaces wfs -- (Adjective i)
|
|
||||||
return $ Entry A nwfs ninfos c
|
|
||||||
|
|
||||||
adverb :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
adverb =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "ADV"
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry Adv wfs NoInfos c
|
|
||||||
|
|
||||||
interjection :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
interjection =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "INTERJ"
|
|
||||||
skipMany space
|
|
||||||
c <- rest
|
|
||||||
return $ Entry Interj wfs NoInfos c
|
|
||||||
|
|
||||||
preposition :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
preposition =
|
|
||||||
do
|
|
||||||
wfs <- wordForms
|
|
||||||
_ <- string "PREP"
|
|
||||||
skipMany space
|
|
||||||
c <- cases
|
|
||||||
skipMany space
|
|
||||||
cc <- rest
|
|
||||||
return $ Entry Interj wfs (Preposition c) cc
|
|
||||||
|
|
||||||
wrongLine :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
wrongLine =
|
|
||||||
do
|
|
||||||
line <- many1 $ noneOf "["
|
|
||||||
unexpected $ "Unexpected line " ++ line
|
|
||||||
|
|
||||||
lineParser :: Stream s m Char => ParsecT s u m DictEntry
|
|
||||||
lineParser =
|
|
||||||
do
|
|
||||||
_ <- hash
|
|
||||||
(try noun <|> try verb <|> try adjective <|> try adverb <|> try interjection <|> try preposition) <|> wrongLine
|
|
||||||
|
|
||||||
skipSpaces :: String -> String
|
|
||||||
skipSpaces = dropWhileEnd isSpace --filter (/= ' ')
|
|
||||||
|
|
||||||
write :: FilePath -> FilePath -> [(Int,DictEntry)] -> IO ()
|
|
||||||
write abs conc es =
|
|
||||||
let
|
|
||||||
join :: String -> [String] -> String
|
|
||||||
join g l = foldl (\f s -> f ++ g ++ s ) (head l) (tail l)
|
|
||||||
writeEntry :: Handle -> Handle -> [(Int,DictEntry)] -> IO ()
|
|
||||||
writeEntry habs hconc [] =
|
|
||||||
do
|
|
||||||
hPutStrLn habs "}"
|
|
||||||
hClose habs
|
|
||||||
hPutStrLn hconc "}"
|
|
||||||
hClose hconc
|
|
||||||
writeEntry habs hconc (e@(i,Entry cat forms _ _):es) =
|
|
||||||
do
|
|
||||||
let lemma = skipSpaces $ head forms
|
|
||||||
hPutStrLn habs $ " " ++ lemma ++ "_" ++ show i ++ "_" ++ show cat ++ " : " ++ show cat ++ ";";
|
|
||||||
case e of {
|
|
||||||
(i,Entry N wfs (Noun (Just 1) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ head wfs ++ "\"; -- 1st " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry N wfs (Noun (Just 2) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ head wfs ++ "\"; -- 2nd " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry N wfs (Noun (Just 3) gender) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkN \"" ++ (join "\" \"" $ map skipSpaces wfs) ++ "\" " ++ show gender ++ "; -- 3rd " ++ show gender ++ " " ++ c;
|
|
||||||
(i,Entry A wfs (Adjective (Just 1) comp@Positive) c) -> hPutStrLn hconc $ " " ++ lemma ++ "_" ++ show i ++ "_N = mkA \"" ++ head wfs ++ "\"; -- 1st " ++ show comp ++ " " ++ c;
|
|
||||||
_ -> return () -- print e
|
|
||||||
|
|
||||||
}
|
|
||||||
writeEntry habs hconc es
|
|
||||||
in
|
|
||||||
do
|
|
||||||
habs <- openFile abs WriteMode
|
|
||||||
hconc <- openFile conc WriteMode
|
|
||||||
hPutStrLn habs "abstract DictLatAbs = Cat ** {"
|
|
||||||
hPutStrLn habs "\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm"
|
|
||||||
hPutStrLn habs "fun"
|
|
||||||
hPutStrLn hconc "concrete DictLat of DictLatAbs = CatLat ** open ParadigmsLat in {"
|
|
||||||
hPutStrLn hconc "-- extracted from http://archives.nd.edu/whitaker/dictpage.htm"
|
|
||||||
hPutStrLn hconc "lin"
|
|
||||||
writeEntry habs hconc es
|
|
||||||
|
|
||||||
main =
|
|
||||||
let
|
|
||||||
p :: String -> IO (Maybe DictEntry)
|
|
||||||
p l =
|
|
||||||
case parse lineParser "dict" l of {
|
|
||||||
Left err -> do
|
|
||||||
{ putStrLn $ drop 1 (showErrorMessages "or" "unknown parse error" "expecting" "unexpected" "end of input" $ errorMessages err) ;
|
|
||||||
return Nothing
|
|
||||||
} ;
|
|
||||||
Right e -> return $ Just e
|
|
||||||
}
|
|
||||||
in
|
|
||||||
do
|
|
||||||
ws <- fmap lines (readFile "DICTPAGE.RAW")
|
|
||||||
es <- zip [1..] . catMaybes <$> mapM p ws
|
|
||||||
write "DictLatAbs.gf" "DictLat.gf" es
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
Aarne Ranta 2017-01-19
|
|
||||||
|
|
||||||
A script for building a Latin dictionary from William Whitaker's Words
|
|
||||||
|
|
||||||
Source: http://archives.nd.edu/whitaker/dictpage.zip
|
|
||||||
|
|
||||||
See also: https://en.wikipedia.org/wiki/William_Whitaker's_Words
|
|
||||||
|
|
||||||
License: BSD for the script. Unknown for the source, therefore not redistributed here.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
|
|
||||||
runghc MkLatin.hs
|
|
||||||
|
|
||||||
Output:
|
|
||||||
|
|
||||||
DictLatAbs.gf
|
|
||||||
DictLat.gf
|
|
||||||
|
|
||||||
Uses Herbert Lange's RGL implementation of Latin (darcs version of 2017-01-19 with ParadigmsLat.mkAdv added by AR)
|
|
||||||
|
|
||||||
Coverage of first version: 90%; 3938 missing out of 39227 entries. Marked with leading "--"
|
|
||||||
Reasons for uncovered entries
|
|
||||||
- uncommon category (e.g. structural words)
|
|
||||||
- missing case in ParadigmsLat.gf, e.g. deponent verbs
|
|
||||||
|
|
||||||
Matching for adjectives (A) uncertain, because we only use ParadigmsLat.gf.mkA : Str -> A
|
|
||||||
|
|
||||||
Verb subcat information is uncertain, too. It is based on the src's TRANS and INTRANS flags.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
38985
src/latin/dict/TEST.RAW
38985
src/latin/dict/TEST.RAW
File diff suppressed because it is too large
Load Diff
39225
src/latin/dict/TEST.RAW~
39225
src/latin/dict/TEST.RAW~
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,530 +0,0 @@
|
|||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
use Data::Dumper;
|
|
||||||
use feature ":5.10";
|
|
||||||
|
|
||||||
my %genders = (F => "feminine" , M => "masculine" , N => "neuter" , C => "COMMON" , X => "UNKNOWN" ) ;
|
|
||||||
my %cases = (ABL => "Abl" , ACC => "Acc", DAT => "Dat", GEN => "Gen", NOM => "Nom" ) ;
|
|
||||||
|
|
||||||
my $wordform = "[\\w()/.\\s-]+" ;
|
|
||||||
my $comment = "(\\[.*)" ;
|
|
||||||
my $gender = "(F|M|N|C|X)";
|
|
||||||
my $vtype = "(TRANS|INTRANS|DEP|SEMIDEP|IMPERS)";
|
|
||||||
my $case = "(ABL|ACC|DAT|GEN|NOM|VOC|LOC)" ;
|
|
||||||
my $number = "(S|P)" ;
|
|
||||||
my $declension = "\\((1st|2nd|3rd|4th|5th)\\)";
|
|
||||||
my $interjection = "#($wordform)\\s+INTERJ\\s+$comment";
|
|
||||||
my $adverb = "#(($wordform,\\s+)*$wordform)\\s+ADV\\s+$comment";
|
|
||||||
my $adjective = "#(($wordform,\\s+)*$wordform)\\s+$gender\\s+ADJ\\s+$comment";
|
|
||||||
my $adjective2 = "#(($wordform,\\s+)*$wordform)\\s+ADJ\\s+$comment";
|
|
||||||
my $adjective3 = "#(($wordform,\\s+)*$wordform)\\s+ADJ\\s+[1-3]\\s+[1-3]\\s+$case\\s+$number\\s+$gender\\s+POS\\s+$comment";
|
|
||||||
my $conjunction = "#($wordform)\\s+CONJ\\s+$comment";
|
|
||||||
my $noun = "#(($wordform,\\s+)*$wordform)\\s+N\\s+$gender\\s+$comment";
|
|
||||||
my $noun2 = "#(($wordform,\\s+)*$wordform)\\s+N\\s+$declension\\s+$gender\\s+$comment";
|
|
||||||
my $noun3 = "#(($wordform,\\s+)*$wordform)\\s+N\\s+[0-9]\\s+[0-9]\\s+$case\\s+$number\\s+$gender\\s+$comment";
|
|
||||||
my $prep = "#($wordform)\\s+PREP\\s+$case\\s+$comment";
|
|
||||||
my $verb = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$comment";
|
|
||||||
my $verb2 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$comment";
|
|
||||||
my $verb3 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$vtype\\s+$comment";
|
|
||||||
my $verb4 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$vtype\\s+$comment";
|
|
||||||
my $verb5 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$case\\s+$comment";
|
|
||||||
|
|
||||||
my $absheader = "--# -path=.:..\n" .
|
|
||||||
"abstract DictLatAbs = Cat,Structural-[here_Adv],Lexicon-[leg_N,man_N,do_V2] ** {\n" .
|
|
||||||
"-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n" .
|
|
||||||
" fun";
|
|
||||||
my $concheader = "--# -path=.:..\n" .
|
|
||||||
"concrete DictLat of DictLatAbs = CatLat,StructuralLat-[here_Adv],LexiconLat-[leg_N,man_N,do_V2] ** open Prelude, ParadigmsLat, ResLat, ExtraLat in {\n" .
|
|
||||||
"-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n" .
|
|
||||||
" lin";
|
|
||||||
my $footer = "}";
|
|
||||||
|
|
||||||
open(my $absfh, ">", "DictLatAbs.gf") or die "Can't open > DictLatAbs.gf: $!";
|
|
||||||
open(my $concfh, ">", "DictLat.gf") or die "Can't open > DictLatAbs.gf: $!";
|
|
||||||
|
|
||||||
my %conclines ;
|
|
||||||
my %abslines ;
|
|
||||||
|
|
||||||
my @blacklist = ["multi_N","multae_N","alisalius_A","alius_A","semibos_A","semivir_A"];
|
|
||||||
|
|
||||||
print $absfh "$absheader\n";
|
|
||||||
print $concfh "$concheader\n";
|
|
||||||
|
|
||||||
while (my $l = <>) {
|
|
||||||
chomp($l);
|
|
||||||
my @wfs;
|
|
||||||
my $cat;
|
|
||||||
my $absname;
|
|
||||||
if ($l =~ /$interjection/)
|
|
||||||
{
|
|
||||||
# print "INTERJ Word: $1 -- Comment: $2\n";
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $comment = $2 ;
|
|
||||||
$wf =~ s/\s$//g;
|
|
||||||
$cat = "Interj" ;
|
|
||||||
$absname = $wf."_Interj" ;
|
|
||||||
push @wfs, $wf;
|
|
||||||
$conclines{$absname} = " $absname = ss \"$wf\" ; -- $comment \n" ;
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adverb/)
|
|
||||||
{
|
|
||||||
# print "ADV Word: $1 -- Comment: $3\n";
|
|
||||||
my $wf = $1 ; # all word forms in one string
|
|
||||||
my $comment = $3;
|
|
||||||
@wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
map { s/\s$// } @wfs;
|
|
||||||
$cat = "Adv" ;
|
|
||||||
$absname = $wfs[0]."_Adv" ;
|
|
||||||
if (@wfs == 1)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkAdv \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif (@wfs == 2)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname =mkAdv \"".$wfs[0]."\" \"".$wfs[1]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif (@wfs == 3)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname =mkAdv \"".$wfs[0]."\" \"".$wfs[1]."\" \"".$wfs[2]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adjective/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ; # all word forms in one string
|
|
||||||
my $comment = $3;
|
|
||||||
@wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
map { s/[\s.]$// } @wfs;
|
|
||||||
$cat = "A" ;
|
|
||||||
$absname = $wfs[0]."_A" ;
|
|
||||||
$conclines{$absname} = " $absname = mkA \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
# print "A1 Word: $1 -- Comment: $3\n"; # these adjectives should always work
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adjective2/)
|
|
||||||
{
|
|
||||||
# print "A2 Word: $1 -- Comment: $3\n";
|
|
||||||
my $wf = $1 ; # all word forms in one string
|
|
||||||
my $comment = $3;
|
|
||||||
@wfs = split /\s*[,-]\s*/, $1; # word forms split into a list
|
|
||||||
map { s/[\s.]$// } @wfs;
|
|
||||||
# Word forms contain variations -> Ignore
|
|
||||||
#print $absfh " ".$wfs[0]."_A : A ;\n" ;
|
|
||||||
$cat = "A" ;
|
|
||||||
$absname = $wfs[0]."_A" ;
|
|
||||||
if ($absname ~~ @blacklist) {
|
|
||||||
$conclines{$absname} = "-- BLACKLISTED $absname : A2 $wf -- blacklisted -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Wordform contains variants -> to be fixed
|
|
||||||
elsif ($wf =~ /[(\/\(\))]|(\s-)/ )
|
|
||||||
{
|
|
||||||
if ($wfs[1] eq "(gen.)")
|
|
||||||
{
|
|
||||||
if (@wfs == 3)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkA \"".$wfs[0]."\" \"".$wfs[2]."\"; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- TODO $absname : A2 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
elsif ($wfs[1] =~ /\(gen\.\)/)
|
|
||||||
{
|
|
||||||
$wfs[1] =~ s/ \(gen\.\)//g;
|
|
||||||
$conclines{$absname} = " $absname = mkA \"".$wfs[0]."\" \"".$wfs[1]."\"; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- SLASHSTUFF $absname : A2 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# Abbreviations -> Ignore
|
|
||||||
elsif ($wf =~ /abbr?\./) {
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : A2 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Undefined -> Ignore
|
|
||||||
elsif ($wf =~ /undecl/) {
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : A2 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Two word forms, just use both
|
|
||||||
elsif (@wfs == 2)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkA \"".$wfs[0]."\" \"".$wfs[1]."\"; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Three word forms -> regular adjective?!?
|
|
||||||
elsif (@wfs == 3)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkA \"".$wfs[0]."\" \"".$wfs[1]."\" \"".$wfs[2]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Too many word forms
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- TOOMUCH $absname : A2 $wf -- $comment\n" ;
|
|
||||||
# print "A2 Word: ".$wfs[0]." -- $wf -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adjective3/)
|
|
||||||
{
|
|
||||||
# Overly specific forms to be ignored
|
|
||||||
$cat = "" ;
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$conjunction/)
|
|
||||||
{
|
|
||||||
# print "CONJ Word: $1 -- Comment: $2\n";
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $comment = $2;
|
|
||||||
$wf =~ s/\s$//g;
|
|
||||||
$cat = "Conj" ;
|
|
||||||
$absname = $wf."_Conj" ;
|
|
||||||
push @wfs, $wf;
|
|
||||||
# We don't get enough information for our grammar from the lexicon
|
|
||||||
$conclines{$absname} = "-- $absname : Conj $wf -- $comment\n" ;
|
|
||||||
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $gender = $3;
|
|
||||||
my $comment = $4;
|
|
||||||
@wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
$wfs[0] =~ s/[\.\s]//g; # remove punctuation from word form
|
|
||||||
$cat = "N" ;
|
|
||||||
$absname = $wfs[0]."_N" ;
|
|
||||||
# Blacklisted, not handled yet
|
|
||||||
if ($absname ~~ @blacklist) {
|
|
||||||
$conclines{$absname} = "-- BLACKLISTED $absname : N1 $wf -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
# strange special characters -> ingnored
|
|
||||||
elsif ($wf =~ /[\/\(\)]/ )
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- TODO $absname : N1 $wf -- $gender -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Wordforms contain "undecl" -> Ignored
|
|
||||||
elsif ($wf =~ /undecl/ )
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : N1 $wf -- $gender -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Wordforms contains abbreviation -> Ignored
|
|
||||||
elsif ($wf =~ /abb(r?)\./)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : N1 $wf -- $gender -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif(scalar(@wfs) == 1)
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_".$gender."_N" ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif(scalar(@wfs) == 2)
|
|
||||||
{
|
|
||||||
my $g = $genders{$gender};
|
|
||||||
if ($gender eq "C")
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_F_N" ;
|
|
||||||
$abslines{$absname} = $cat ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" feminine ; -- $comment\n" ;
|
|
||||||
$absname = $wfs[0]."_M_N" ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" masculine ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Unknown gender
|
|
||||||
elsif ($gender eq "X")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- $absname : N1 $wf -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_".$gender."_N" ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" $g ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_N";
|
|
||||||
$conclines{$absname} = "-- $absname : N1 $wf -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
# print "N1 Word: ".$wfs[0]." -- ".scalar(@wfs)." -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun2/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $gender = $4;
|
|
||||||
my $declension = $3;
|
|
||||||
my $comment = $5;
|
|
||||||
$cat = "N" ;
|
|
||||||
@wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
$absname = $wfs[0]."_".$gender."_N" ;
|
|
||||||
# Blacklisted
|
|
||||||
if ($absname ~~ @blacklist) {
|
|
||||||
$conclines{$absname} = "-- BLACKLISTED $absname : N1 $wf -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($declension eq "1st" || $declension eq "2nd")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif (scalar(@wfs) == 2)
|
|
||||||
{
|
|
||||||
my $g = $genders{$gender};
|
|
||||||
if ($gender eq "C")
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_F_N" ;
|
|
||||||
$abslines{$absname} = $cat ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" feminine ; -- $comment\n" ;
|
|
||||||
$absname = $wfs[0]."_M_N" ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" masculine ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# Unknown gender
|
|
||||||
elsif ($gender eq "X")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- $absname : N1 $wf -- Gender: $gender -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$absname = $wfs[0]."_".$gender."_N" ;
|
|
||||||
$conclines{$absname} = " $absname = mkN \"".$wfs[0]."\" \"".$wfs[1]."\" $g ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- $absname : N2 $wf -- Gender: $gender -- Declension: $declension -- Comment: $comment\n";
|
|
||||||
# print "N2 Word: ".$wfs[0]." -- Gender: $gender -- Declension: $declension -- Comment: $comment\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun3/)
|
|
||||||
{
|
|
||||||
# Overly specific
|
|
||||||
$cat = "" ;
|
|
||||||
}
|
|
||||||
# Has to be after nouns to avoid problems with N ADJ
|
|
||||||
elsif ($l =~ /$prep/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $case = $2 ;
|
|
||||||
my $comment = $3 ;
|
|
||||||
$wf =~ s/\s//g;
|
|
||||||
push @wfs, $wf;
|
|
||||||
# print "PREP Word: $wf -- Case: $case -- Comment: $comment\n";
|
|
||||||
my $c = $cases{$case};
|
|
||||||
$cat = "Prep" ;
|
|
||||||
$absname = $wfs[0]."_".$c."_Prep" ;
|
|
||||||
$conclines{$absname} = " $absname = mkPrep \"".$wfs[0]."\" $c ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $comment = $3 ;
|
|
||||||
$cat = "V" ;
|
|
||||||
@wfs = split /\s*,\s+/, $wf ;
|
|
||||||
$absname = $wfs[0]."_V";
|
|
||||||
# Undefined -> Ignore
|
|
||||||
if ($absname ~~ @blacklist) {
|
|
||||||
$conclines{$absname} = "-- BLACKLISTED $absname : V1 $wf -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
# strange special characters -> ingnored
|
|
||||||
elsif ($wf =~ /[(\/\(\))]|(\s-)/ )
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- TODO $absname : V1 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($wf =~ /undecl/) {
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : V1 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($wf =~ /additional/ && $wf =~ /forms/) {
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : V1 $wf -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif (@wfs == 4)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" \"".$wfs[0]."\" \"".$wfs[2]."\" \"".$wfs[3]."\" ; -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print "V1 Word: ".$wfs[0]." -- Comment: $comment\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb2/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $declension = $3 ;
|
|
||||||
my $comment = $4 ;
|
|
||||||
$cat = "V" ;
|
|
||||||
@wfs = split /\s*,\s+/, $1;
|
|
||||||
$absname = $wfs[0]."_V";
|
|
||||||
if ($absname ~~ @blacklist) {
|
|
||||||
$conclines{$absname} = "-- BLACKLISTED $absname : V2 $wf -- Declension: $declension -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
# strange special characters -> ingnored
|
|
||||||
elsif ($wf =~ /[(\/\(\))]|(\s-)/ )
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- TODO $absname : V2 $wf -- Declension: $declension -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($wf =~ /undecl/) {
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : V2 $wf -- Declension: $declension -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
if ($declension eq "1st" || $declension eq "2nd")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif (scalar(@wfs) == 4)
|
|
||||||
{
|
|
||||||
if (!$wf =~ /-/)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\" \"".$wfs[0]."\" \"".$wfs[2]."\" \"".$wfs[3]."\") ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($wfs[2] eq "-" && $wfs[3] eq "-")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" \"".$wfs[0]."\" nonExist nonExist ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($wfs[3] eq "-")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\" \"".$wfs[0]."\" \"".$wfs[2]."\" nonExist ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# print "V2 Word: ".$wfs[0]." -- Declension: $declension -- Comment: $comment\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb3/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $type = $3 ;
|
|
||||||
my $comment = $4 ;
|
|
||||||
$cat = "V" ;
|
|
||||||
@wfs = split /\s*,\s+/, $1 ;
|
|
||||||
if ($type eq "TRANS")
|
|
||||||
{
|
|
||||||
$cat = "V2" ;
|
|
||||||
}
|
|
||||||
elsif ($type eq "IMPERS")
|
|
||||||
{
|
|
||||||
$cat= "V0" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$cat= "V" ;
|
|
||||||
}
|
|
||||||
@wfs = split /\s*,\s+/, $1;
|
|
||||||
$absname = $wfs[0]."_".$cat ;
|
|
||||||
if ($wf =~ /undecl/)
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- IGNORED $absname : V3 $wf -- Type: $type -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($cat eq "V")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($cat eq "V0")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV0 \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\") ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
# print "V3 Word: ".$wfs[0]." -- VType: $type -- Comment: $comment\n";
|
|
||||||
}
|
|
||||||
$cat = "V" if $cat eq "V0";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb4/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $declension = $3 ;
|
|
||||||
my $type = $4 ;
|
|
||||||
my $comment = $5 ;
|
|
||||||
if ($type eq "TRANS")
|
|
||||||
{
|
|
||||||
$cat = "V2" ;
|
|
||||||
}
|
|
||||||
elsif ($type eq "IMPERS")
|
|
||||||
{
|
|
||||||
$cat= "V0" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$cat= "V" ;
|
|
||||||
}
|
|
||||||
@wfs = split /\s*,\s+/, $1;
|
|
||||||
$absname = $wfs[0]."_".$cat ;
|
|
||||||
if ($declension eq "1st" || $declension eq "2nd")
|
|
||||||
{
|
|
||||||
if ($cat eq "V")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($cat eq "V0")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV0 \"".$wfs[0]."\" ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\") ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif (scalar(@wfs) == 4)
|
|
||||||
{
|
|
||||||
if (!$wf =~ /-/)
|
|
||||||
{
|
|
||||||
if ($cat eq "V")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV \"".$wfs[1]."\" \"".$wfs[0]."\" \"".$wfs[2]."\" \"".$wfs[3]."\"; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
elsif ($cat eq "V0")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV0 \"".$wfs[0]."\"; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\" \"".$wfs[0]."\" \"".$wfs[2]."\" \"".$wfs[3]."\") ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$cat = "V" if $cat eq "V0";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb5/)
|
|
||||||
{
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $declension = $3 ;
|
|
||||||
my $case = $4 ;
|
|
||||||
my $comment = $5 ;
|
|
||||||
$cat = "V2" ;
|
|
||||||
@wfs = split /\s*,\s+/, $1;
|
|
||||||
$absname = $wfs[0]."_".$cat ;
|
|
||||||
my $c = $cases{$case};
|
|
||||||
if ($declension eq "1st" || $declension eq "2nd")
|
|
||||||
{
|
|
||||||
$conclines{$absname} = " $absname = mkV2 (mkV \"".$wfs[1]."\") ".$c."_Prep ; -- $comment\n" ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$conclines{$absname} = "-- $absname : V4 $wf -- Declension: $declension -- Case: $case -- Comment: $comment\n" ;
|
|
||||||
}
|
|
||||||
#print "V5 Word: ".$wfs[0]." -- Declension: $declension -- Case: $case -- Comment: $comment\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$cat = "" ;
|
|
||||||
print "MISSING: $l\n";
|
|
||||||
}
|
|
||||||
if ($cat ne "") {
|
|
||||||
# print $absfh " ".$wfs[0]."_".$cat." : $cat ;\n" ;
|
|
||||||
$abslines{$absname} = $cat;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach my $k (sort (keys %abslines))
|
|
||||||
{
|
|
||||||
print $absfh " $k : ".$abslines{$k}." ;\n" ;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach my $k (sort (keys %conclines))
|
|
||||||
{
|
|
||||||
given ($k) {
|
|
||||||
# when (@blacklist) {
|
|
||||||
# print $concfh "-- ".$conclines{$k};
|
|
||||||
# }
|
|
||||||
# default {
|
|
||||||
print $concfh $conclines{$k};
|
|
||||||
# }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
print $absfh "$footer\n";
|
|
||||||
print $concfh "$footer\n";
|
|
||||||
close($absfh);
|
|
||||||
close($concfh);
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,102 +0,0 @@
|
|||||||
#ac CONJ [XXXAO] :: and, and also, and besides;
|
|
||||||
#acsi CONJ [XXXCW] :: as if; (ac si);
|
|
||||||
#adque CONJ [XXXCO] :: and, as well as, as soon as; together with; and even; and too/also/now; yet;
|
|
||||||
#adqui CONJ [XXXES] :: but, yet, notwithstanding, however, rather, well/but now; and yet, still;
|
|
||||||
#adquin CONJ [XXXEO] :: but, yet, notwithstanding, however, rather, well/but now; and yet, still;
|
|
||||||
#alii CONJ [XXXCC] :: some ... others (alii ... alii);
|
|
||||||
#alius CONJ [XXXCO] :: the_one ... the_other (alius ... alius);
|
|
||||||
#alter CONJ [XXXCO] :: the_one ... the_other (alter ... alter); otherwise;
|
|
||||||
#an CONJ [XXXCO] :: can it be that (introduces question expecting negative answer/further question);
|
|
||||||
#an CONJ [XXXAO] :: |whether; (utrum ... an = whether ... or); or; either;
|
|
||||||
#anne CONJ [XXXCO] :: can it be that (introducing a question expecting a negative answer);
|
|
||||||
#anne CONJ [XXXEO] :: |whether (or not) (an-ne);
|
|
||||||
#annon CONJ [XXXCO] :: can it be that (introducing a question expecting a positive answer);
|
|
||||||
#antequam CONJ [XXXAO] :: before, sooner than; until;
|
|
||||||
#ast CONJ [XXXBO] :: but, on the other hand/contrary; but yet; at least; in that event; if further;
|
|
||||||
#at CONJ [XXXAO] :: but, but on the other hand; on the contrary; while, whereas; but yet; at least;
|
|
||||||
#atenim CONJ [XXXEO] :: but/yet in spite of what has been said; but/yet nevertheless/all the same;
|
|
||||||
#atque CONJ [XXXAO] :: and, as well/soon as; together with; and moreover/even; and too/also/now; yet;
|
|
||||||
#atqui CONJ [XXXBO] :: but, yet, notwithstanding, however, rather, well/but now; and yet, still;
|
|
||||||
#atquin CONJ [XXXBO] :: but, yet, notwithstanding, however, rather, well/but now; and yet, still;
|
|
||||||
#audem CONJ [XXXEO] :: but (postpositive), on the other hand/contrary; while, however; moreover, also;
|
|
||||||
#aut CONJ [XXXAO] :: or, or rather/else; either...or (aut...aut) (emphasizing one);
|
|
||||||
#autem CONJ [XXXAO] :: but (postpositive), on the other hand/contrary; while, however; moreover, also;
|
|
||||||
#bat CONJ [XXXEO] :: but, while, however; (contemptuous parity of "at" - b-b-but);
|
|
||||||
#batenim CONJ [XXXEO] :: but, yet, nevertheless, however; (contemptuous parity of "atenim" - b-b-but);
|
|
||||||
#cumquam CONJ [XXXFO] :: ever; [in combination sicumquam => if ever];
|
|
||||||
#cuncumque CONJ [XXXFO] :: whenever;
|
|
||||||
#donec CONJ [XXXAX] :: while, as long as, until;
|
|
||||||
#dum CONJ [XXXAX] :: while, as long as, until; provided that;
|
|
||||||
#dummodo CONJ [XXXDX] :: provided (that) (+ subj);
|
|
||||||
#enim CONJ [XXXAX] :: namely (postpos.); indeed; in fact; for; I mean, for instance, that is to say;
|
|
||||||
#enimvero CONJ [XXXBO] :: to be sure, certainly; well, upon by word; but, on the other hand; what is more;
|
|
||||||
#et CONJ [XXXAX] :: and, and even; also, even; (et ... et = both ... and);
|
|
||||||
#etenim CONJ [XXXBX] :: and indeed, because, since, as a matter of fact (independent reason, emphasis);
|
|
||||||
#etiam CONJ [XXXAO] :: and also, besides/furthermore, in addition/as well; even, actually; yes/indeed;
|
|
||||||
#etiam CONJ [XXXAO] :: |now too, as yet, still, even now; yet again; likewise; (particle); (et-iam);
|
|
||||||
#etiamsi CONJ [XXXDX] :: even if, although;
|
|
||||||
#etiamtum CONJ [XXXDX] :: even then; yet;
|
|
||||||
#etsi CONJ [XXXBX] :: although, though, even if; albeit; I know that but;
|
|
||||||
#igitur CONJ [XXXAO] :: therefore (postpositive), so/then; consequently; accordingly; well/in that case;
|
|
||||||
#itaque CONJ [XXXAX] :: and so, therefore;
|
|
||||||
#licet CONJ [XXXCO] :: although, granted that; (with subjunctive);
|
|
||||||
#modo CONJ [XXXDX] :: but, if only; but only;
|
|
||||||
#nam CONJ [XXXAX] :: for, on the other hand; for instance;
|
|
||||||
#namque CONJ [XXXAX] :: for and in fact, on the other hand; insomuch as (strengthened nam);
|
|
||||||
#ne CONJ [XXXAX] :: that not, lest; (for negative of IMP);
|
|
||||||
#nec CONJ [XXXAX] :: nor, and..not; not..either, not even;
|
|
||||||
#necdum CONJ [XXXBX] :: and/but not yet;
|
|
||||||
#necne CONJ [XXXDX] :: or not;
|
|
||||||
#nedum CONJ [XXXDX] :: still less; not to speak of; much more;
|
|
||||||
#nempe CONJ [XXXDX] :: truly, certainly, of course;
|
|
||||||
#neque CONJ [XXXAX] :: nor [neque..neque=>neither..nor; neque solum..sed etiam=>not only..but also];
|
|
||||||
#nequedum CONJ [XXXDX] :: and/but not yet;
|
|
||||||
#neu CONJ [XXXBX] :: or not, and not; (for negative of IMP); [neve ... neve => neither ... nor ];
|
|
||||||
#neve CONJ [XXXDX] :: or not, and not; (for negative of IMP); [neve ... neve => neither ... nor ];
|
|
||||||
#ni CONJ [XXXDX] :: if ... not; unless;
|
|
||||||
#nisi CONJ [XXXAX] :: if not; except, unless;
|
|
||||||
#nonnisi CONJ [XXXDO] :: not unless; not except; only (on specific terms);
|
|
||||||
#posteaquam CONJ [XXXDX] :: after;
|
|
||||||
#postquam CONJ [XXXAX] :: after;
|
|
||||||
#priusquam CONJ [XXXBX] :: before; until; sooner than;
|
|
||||||
#prout CONJ [XXXBX] :: as, just as; exactly as;
|
|
||||||
#quam CONJ [XXXDX] :: how, than;
|
|
||||||
#quamobrem CONJ [XXXDX] :: why, for what reason, on what account; on account of which, where/there-fore;
|
|
||||||
#quamquam CONJ [XXXDX] :: though, although; yet; nevertheless;
|
|
||||||
#quamvis CONJ [XXXDX] :: however much; although;
|
|
||||||
#quando CONJ [XXXDX] :: when, since, because; [si quando => if ever];
|
|
||||||
#quandoquidem CONJ [XXXDX] :: since, seeing that;
|
|
||||||
#quanquam CONJ [XXXDX] :: though, although; yet; nevertheless;
|
|
||||||
#quasi CONJ [XXXDX] :: as if, just as if, as though; as it were; about;
|
|
||||||
#que CONJ [FXXET] :: and; (while properly attached as enclitic sometimes copyists make mistakes);
|
|
||||||
#quia CONJ [XXXAX] :: because;
|
|
||||||
#quin CONJ [XXXDX] :: so that not, without; that not; but that; that; [quin etiam => moreover];
|
|
||||||
#quo CONJ [XXXDX] :: whither, in what place, where;
|
|
||||||
#quoad CONJ [XXXDX] :: as long as, until;
|
|
||||||
#quocirca CONJ [XXXDX] :: on account of which; wherefore;
|
|
||||||
#quod CONJ [XXXDX] :: because, as far as, insofar as; [quod si => but if];
|
|
||||||
#quodnisi CONJ [XXXDX] :: but if not; and if not; (introduces conditional); (quodnisi = quod nisi);
|
|
||||||
#quodsi CONJ [XXXDX] :: but if; and if; (introduces conditional); (quodsi = quod si)
|
|
||||||
#quominus CONJ [XXXDX] :: that not, from (quo minus);
|
|
||||||
#quoniam CONJ [XXXAX] :: because, since, seeing that;
|
|
||||||
#quum CONJ [DXXCS] :: when, while, as, since, although; as soon;
|
|
||||||
#sed CONJ [XXXAX] :: but, but also; yet; however, but in fact/truth; not to mention; yes but;
|
|
||||||
#set CONJ [XXXBX] :: but, but also; yet; however, but in fact/truth; not to mention; yes but;
|
|
||||||
#seu CONJ [XXXAX] :: or if; or; [sive ... sive => whether ... or, either ... or];
|
|
||||||
#si CONJ [XXXAX] :: if, if only; whether; [quod si/si quis or quid => but if/if anyone or anything];
|
|
||||||
#sicumquam CONJ [XXXFO] :: if ever; [si cumquam => if ever];
|
|
||||||
#sicut CONJ [XXXDX] :: as, just as; like; in same way; as if; as it certainly is; as it were;
|
|
||||||
#sin CONJ [XXXBX] :: but if; if on the contrary;
|
|
||||||
#siquidem CONJ [XXXBX] :: accordingly; if indeed/in fact/it is possible, even supposing; since/in that;
|
|
||||||
#sive CONJ [XXXAX] :: or if; or; [sive ... sive => whether ... or];
|
|
||||||
#tametsi CONJ [XXXDX] :: even if, although, though;
|
|
||||||
#tamquam CONJ [XXXAX] :: as, just as, just as if; as it were, so to speak; as much as; so as;
|
|
||||||
#tanquam CONJ [XXXDX] :: as, just as, just as if; as it were, so to speak; as much as; so as;
|
|
||||||
#tum CONJ [XXXDS] :: moreover; (frequent in Cicero and before; rare after);
|
|
||||||
#ubi CONJ [XXXAX] :: where, whereby;
|
|
||||||
#ut CONJ [XXXAX] :: to (+ subjunctive), in order that/to; how, as, when, while; even if;
|
|
||||||
#uti CONJ [XXXAX] :: in order that; that, so that; as, when; [ut primum => as soon as];
|
|
||||||
#utrumnam CONJ [EXXFP] :: whether; (Vulgate 1 Samuel 10:22);
|
|
||||||
#utut CONJ [XXXCO] :: however; in whatever way;
|
|
||||||
#vel CONJ [XXXAX] :: or; [vel ... vel => either ... or];
|
|
||||||
#verumtamen CONJ [XXXDX] :: but yet, nevertheless, but even so, still (resuming after digression);
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
#a INTERJ [XXXBO] :: Ah!; (distress/regret/pity, appeal/entreaty, surprise/joy, objection/contempt);
|
|
||||||
#absit INTERJ [EEXCE] :: "god forbid", "let it be far from the hearts of the faithful";
|
|
||||||
#aelinon INTERJ [XXXFO] :: exclamation of sorrow; "alas for Linus";
|
|
||||||
#age INTERJ [XXXCS] :: come!, go to!, well!, all right!; let come;
|
|
||||||
#agedum INTERJ [XXXCO] :: come!, go to!, well!, all right!;
|
|
||||||
#agite INTERJ [XXXCQ] :: come!, go to!, well!, all right!;
|
|
||||||
#ah INTERJ [XXXCO] :: exclamation expressing surprise/irony;
|
|
||||||
#aha INTERJ [XXXEO] :: exclamation expressing surprise/irony;
|
|
||||||
#ai INTERJ [XXXFS] :: alas; exclamation expressing grief;
|
|
||||||
#aisne INTERJ [XXXES] :: indeed? really? is it possible? do you really mean it? (surprise/wonder);
|
|
||||||
#Alleluia INTERJ [EEQCE] :: Halleluia, cry of joy and praise to God; (praise ye Jehovah);
|
|
||||||
#apage INTERJ [XXXCO] :: be off!; nonsense!, get away with you!;
|
|
||||||
#apsit INTERJ [EEXCE] :: "god forbid", "let it be far from the hearts of the faithful";
|
|
||||||
#atat INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atatae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atatatae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atate INTERJ [XXXFS] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atattae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attat INTERJ [XXXCO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attatae INTERJ [XXXEO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attate INTERJ [XXXCS] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attattatae INTERJ [XXXEO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#au INTERJ [XXXFS] :: oh! ow! oh dear! goodness gracious! (used by women to express consternation);
|
|
||||||
#ave INTERJ [XXXCO] :: hail!, formal expression of greetings;
|
|
||||||
#babae INTERJ [CXXEO] :: wow!; exclamation of surprise or amazement;
|
|
||||||
#be INTERJ [XAXFO] :: baa (sound made by sheep);
|
|
||||||
#bee INTERJ [DAXFS] :: baa; sound made by a sheep;
|
|
||||||
#beia INTERJ [XXXFO] :: see!; (comic word as contemptuous echo of "heia");
|
|
||||||
#bombax INTERJ [XXXFO] :: Splendid! Marvelous!;
|
|
||||||
#buttuti INTERJ [XEIFS] :: Buttuti!; (exclamation used by Hernici of Latinum at religious festivals);
|
|
||||||
#buttutti INTERJ [XEIFO] :: Buttuti!; (exclamation used by Hernici of Latinum at religious festivals);
|
|
||||||
#chaere INTERJ [XXXEO] :: welcome; hail (L+S);
|
|
||||||
#chere INTERJ [XXXDO] :: welcome; hail (L+S);
|
|
||||||
#coco INTERJ [XXXFO] :: crow of cock; cock-a-doodle-doo; hen-clucking (L+S);
|
|
||||||
#cuccuru INTERJ [XXXFO] :: cock-a-doodle-doo!
|
|
||||||
#cucurru INTERJ [XXXFS] :: cock-a-doodle-doo!
|
|
||||||
#deurode INTERJ [XXXFO] :: come hither!; (deuro de); (applied to a catamite);
|
|
||||||
#ecastor INTERJ [XXXDX] :: by Castor (interjection used by women);
|
|
||||||
#ecca INTERJ [XXXFO] :: Here they (neuter) are!; Behold!, Observe!, Lo!;
|
|
||||||
#eccam INTERJ [XXXDO] :: Here she/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccas INTERJ [XXXEO] :: Here they (feminine) are!; Behold!, Observe!, Lo!;
|
|
||||||
#ecce INTERJ [XXXAX] :: behold! see! look! there! here! [ecce eum => here he is];
|
|
||||||
#eccere INTERJ [XXXDO] :: Here she/it is!; Behold!, Observe!, Lo!; There you are!;
|
|
||||||
#eccillam INTERJ [XXXEO] :: There she/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccillud INTERJ [XXXFO] :: There it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccillum INTERJ [XXXEO] :: There he/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccistam INTERJ [XXXFO] :: There she is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccum INTERJ [XXXFO] :: Here he/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#edepol INTERJ [XXXDX] :: by Pollux!;
|
|
||||||
#ehem INTERJ [XXXEC] :: oho! well well!;
|
|
||||||
#eheu INTERJ [XXXDX] :: alas! (exclamation of grief/pain/fear);
|
|
||||||
#ehoi INTERJ [XXXEZ] :: hurrah! (exclamation of happiness);
|
|
||||||
#ei INTERJ [XXXDX] :: Ah! Woe!, oh dear, alas; (of grief or fear);
|
|
||||||
#eia INTERJ [XXXBX] :: how now!, Ha, Good, see! (of joy); see!, Quick! (of urgency/astonishment);
|
|
||||||
#Eli INTERJ [EEQFE] :: My God; [Eli Eli lama sabacthani => My God, my God why hast thou forsaken me];
|
|
||||||
#Eloi INTERJ [EEQFE] :: My God; (Aramaic);
|
|
||||||
#em INTERJ [XXXDX] :: there! (of wonder); here!;
|
|
||||||
#en INTERJ [XXXBX] :: behold! see! lo! here! hey! look at this!;
|
|
||||||
#eu INTERJ [XXXDX] :: well done! bravo!; splendid! (sometimes ironic);
|
|
||||||
#eugae INTERJ [XXXDX] :: oh, good! fine! well done! (delight/pleasure/surprise, sometimes ironic);
|
|
||||||
#euge INTERJ [XXXDX] :: oh, good! fine! well done! (delight/pleasure/surprise, sometimes ironic);
|
|
||||||
#eugepae INTERJ [XXXEC] :: well done!; (sometimes ironic);
|
|
||||||
#euhoe INTERJ [XXXDX] :: cry of joy used by the votaries of Bacchus;
|
|
||||||
#euoeeuhoe INTERJ [XXXEC] :: shout of the Bacchantes;
|
|
||||||
#ha INTERJ [EXXBT] :: Ah!; (distress/regret/pity, appeal/entreaty, surprise/joy, objection/contempt);
|
|
||||||
#hahahae INTERJ [EXXES] :: Ha ha!; (laughter, derision);
|
|
||||||
#hahahe INTERJ [EXXES] :: Ha ha!; (laughter, derision);
|
|
||||||
#Hallelujah INTERJ [EEQCE] :: Halleluia, cry of joy and praise to God; (praise ye Jehovah);
|
|
||||||
#hau INTERJ [XXXFS] :: oh! ow! oh dear! goodness gracious! (used by women to express consternation);
|
|
||||||
#have INTERJ [XXXDX] :: hail!, formal expression of greetings;
|
|
||||||
#hei INTERJ [XXXDX] :: Ah! Woe!, oh dear, alas; (exclamation expressing anguish, grief or fear);
|
|
||||||
#heia INTERJ [XXXBX] :: how now!, Ha, Good, see! (of joy); see!, Quick! (of urgency/astonishment);
|
|
||||||
#Heli INTERJ [EEQFW] :: My God; [~ ~ lemma sabacthani => My God, my God why hast thou forsaken me];
|
|
||||||
#hem INTERJ [XXXCO] :: what ' s that? (surprise/concern); Ah!/alas! (unhappiness); there/here! (wonder);
|
|
||||||
#hercle INTERJ [XXXDX] :: By Hercules!; assuredly, indeed;
|
|
||||||
#hercule INTERJ [XXXDX] :: by Hercules!; assuredly, indeed;
|
|
||||||
#heu INTERJ [XXXAX] :: oh! ah! alas! (an expression of dismay or pain);
|
|
||||||
#heus INTERJ [XXXDX] :: hey!, ho!, ho there!, listen!;
|
|
||||||
#Hosanna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#Hosianna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#hui INTERJ [XXXDX] :: whee!, wow!; sound of surprise or approbation not unlike "whee";
|
|
||||||
#ilicet INTERJ [XXXCO] :: you may go/off with you; it ' s over; at once; [~ malam crucem => to Hell with];
|
|
||||||
#Io INTERJ [XXXAO] :: Yo!; Hurrah! (ritual exclamation of strong emotion/joy); Ho!; Look!; Quick!;
|
|
||||||
#lema INTERJ [EEQFW] :: Eli Eli lama sabacthani/My God, my God why hast thou forsaken me Matthew 27:46;
|
|
||||||
#lo INTERJ [EXXFP] :: Lo!; (magic word to cure bite of mad dog);
|
|
||||||
#maranatha INTERJ [DEXEP] :: our Lord cometh; (Aramaic through Greek);
|
|
||||||
#mecastor INTERJ [XXXDO] :: by Castor!; (oath used by women);
|
|
||||||
#mehercle INTERJ [XXXDX] :: By Hercules! assuredly, indeed;
|
|
||||||
#mehercule INTERJ [XXXDX] :: by Hercules! assuredly, indeed;
|
|
||||||
#mehercules INTERJ [XXXDX] :: by Hercules! assuredly, indeed;
|
|
||||||
#o INTERJ [XXXAX] :: Oh!;
|
|
||||||
#oh INTERJ [XXXDX] :: oh! ah!;
|
|
||||||
#ohe INTERJ [XXXDX] :: hey! hey there!;
|
|
||||||
#oi INTERJ [XXXEC] :: oh! ah!;
|
|
||||||
#oiei INTERJ [XXXDS] :: oh dear; (lamentation);
|
|
||||||
#Osanna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#phy INTERJ [XXXFO] :: pish! tush!; (expression of disgust);
|
|
||||||
#Pol INTERJ [XXXDX] :: by Pollux; truly; really;
|
|
||||||
#ridiculum INTERJ [XXXEO] :: the idea/question is absurd/ridiculous!;
|
|
||||||
#st INTERJ [XXXDX] :: hush! hist!;
|
|
||||||
#tat INTERJ [BXXFS] :: what! (Plautus);
|
|
||||||
#triumphe INTERJ [XXXFS] :: triumphant!;
|
|
||||||
#va INTERJ [DXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
#vae INTERJ [XXXBX] :: alas, woe, ah; oh dear; (Vae, puto deus fio. - Vespasian); Bah!, Curses!;
|
|
||||||
#vah INTERJ [XXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
#vaha INTERJ [BXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
#a INTERJ [XXXBO] :: Ah!; (distress/regret/pity, appeal/entreaty, surprise/joy, objection/contempt);
|
|
||||||
#absit INTERJ [EEXCE] :: "god forbid", "let it be far from the hearts of the faithful";
|
|
||||||
#aelinon INTERJ [XXXFO] :: exclamation of sorrow; "alas for Linus";
|
|
||||||
#age INTERJ [XXXCS] :: come!, go to!, well!, all right!; let come;
|
|
||||||
#agedum INTERJ [XXXCO] :: come!, go to!, well!, all right!;
|
|
||||||
#agite INTERJ [XXXCQ] :: come!, go to!, well!, all right!;
|
|
||||||
#ah INTERJ [XXXCO] :: exclamation expressing surprise/irony;
|
|
||||||
#aha INTERJ [XXXEO] :: exclamation expressing surprise/irony;
|
|
||||||
#ai INTERJ [XXXFS] :: alas; exclamation expressing grief;
|
|
||||||
#aisne INTERJ [XXXES] :: indeed? really? is it possible? do you really mean it? (surprise/wonder);
|
|
||||||
#Alleluia INTERJ [EEQCE] :: Halleluia, cry of joy and praise to God; (praise ye Jehovah);
|
|
||||||
#apage INTERJ [XXXCO] :: be off!; nonsense!, get away with you!;
|
|
||||||
#apsit INTERJ [EEXCE] :: "god forbid", "let it be far from the hearts of the faithful";
|
|
||||||
#atat INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atatae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atatatae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atate INTERJ [XXXFS] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#atattae INTERJ [XXXFO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attat INTERJ [XXXCO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attatae INTERJ [XXXEO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attate INTERJ [XXXCS] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#attattatae INTERJ [XXXEO] :: ah! oh! alas! (expression of sudden enlightenment/surprise/fear/warning);
|
|
||||||
#au INTERJ [XXXFS] :: oh! ow! oh dear! goodness gracious! (used by women to express consternation);
|
|
||||||
#ave INTERJ [XXXCO] :: hail!, formal expression of greetings;
|
|
||||||
#babae INTERJ [CXXEO] :: wow!; exclamation of surprise or amazement;
|
|
||||||
#be INTERJ [XAXFO] :: baa (sound made by sheep);
|
|
||||||
#bee INTERJ [DAXFS] :: baa; sound made by a sheep;
|
|
||||||
#beia INTERJ [XXXFO] :: see!; (comic word as contemptuous echo of "heia");
|
|
||||||
#bombax INTERJ [XXXFO] :: Splendid! Marvelous!;
|
|
||||||
#buttuti INTERJ [XEIFS] :: Buttuti!; (exclamation used by Hernici of Latinum at religious festivals);
|
|
||||||
#buttutti INTERJ [XEIFO] :: Buttuti!; (exclamation used by Hernici of Latinum at religious festivals);
|
|
||||||
#chaere INTERJ [XXXEO] :: welcome; hail (L+S);
|
|
||||||
#chere INTERJ [XXXDO] :: welcome; hail (L+S);
|
|
||||||
#coco INTERJ [XXXFO] :: crow of cock; cock-a-doodle-doo; hen-clucking (L+S);
|
|
||||||
#cuccuru INTERJ [XXXFO] :: cock-a-doodle-doo!
|
|
||||||
#cucurru INTERJ [XXXFS] :: cock-a-doodle-doo!
|
|
||||||
#deurode INTERJ [XXXFO] :: come hither!; (deuro de); (applied to a catamite);
|
|
||||||
#ecastor INTERJ [XXXDX] :: by Castor (interjection used by women);
|
|
||||||
#ecca INTERJ [XXXFO] :: Here they (neuter) are!; Behold!, Observe!, Lo!;
|
|
||||||
#eccam INTERJ [XXXDO] :: Here she/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccas INTERJ [XXXEO] :: Here they (feminine) are!; Behold!, Observe!, Lo!;
|
|
||||||
#ecce INTERJ [XXXAX] :: behold! see! look! there! here! [ecce eum => here he is];
|
|
||||||
#eccere INTERJ [XXXDO] :: Here she/it is!; Behold!, Observe!, Lo!; There you are!;
|
|
||||||
#eccillam INTERJ [XXXEO] :: There she/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccillud INTERJ [XXXFO] :: There it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccillum INTERJ [XXXEO] :: There he/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccistam INTERJ [XXXFO] :: There she is!; Behold!, Observe!, Lo!;
|
|
||||||
#eccum INTERJ [XXXFO] :: Here he/it is!; Behold!, Observe!, Lo!;
|
|
||||||
#edepol INTERJ [XXXDX] :: by Pollux!;
|
|
||||||
#ehem INTERJ [XXXEC] :: oho! well well!;
|
|
||||||
#eheu INTERJ [XXXDX] :: alas! (exclamation of grief/pain/fear);
|
|
||||||
#ehoi INTERJ [XXXEZ] :: hurrah! (exclamation of happiness);
|
|
||||||
#ei INTERJ [XXXDX] :: Ah! Woe!, oh dear, alas; (of grief or fear);
|
|
||||||
#eia INTERJ [XXXBX] :: how now!, Ha, Good, see! (of joy); see!, Quick! (of urgency/astonishment);
|
|
||||||
#Eli INTERJ [EEQFE] :: My God; [Eli Eli lama sabacthani => My God, my God why hast thou forsaken me];
|
|
||||||
#Eloi INTERJ [EEQFE] :: My God; (Aramaic);
|
|
||||||
#em INTERJ [XXXDX] :: there! (of wonder); here!;
|
|
||||||
#en INTERJ [XXXBX] :: behold! see! lo! here! hey! look at this!;
|
|
||||||
#eu INTERJ [XXXDX] :: well done! bravo!; splendid! (sometimes ironic);
|
|
||||||
#eugae INTERJ [XXXDX] :: oh, good! fine! well done! (delight/pleasure/surprise, sometimes ironic);
|
|
||||||
#euge INTERJ [XXXDX] :: oh, good! fine! well done! (delight/pleasure/surprise, sometimes ironic);
|
|
||||||
#eugepae INTERJ [XXXEC] :: well done!; (sometimes ironic);
|
|
||||||
#euhoe INTERJ [XXXDX] :: cry of joy used by the votaries of Bacchus;
|
|
||||||
#euoeeuhoe INTERJ [XXXEC] :: shout of the Bacchantes;
|
|
||||||
#ha INTERJ [EXXBT] :: Ah!; (distress/regret/pity, appeal/entreaty, surprise/joy, objection/contempt);
|
|
||||||
#hahahae INTERJ [EXXES] :: Ha ha!; (laughter, derision);
|
|
||||||
#hahahe INTERJ [EXXES] :: Ha ha!; (laughter, derision);
|
|
||||||
#Hallelujah INTERJ [EEQCE] :: Halleluia, cry of joy and praise to God; (praise ye Jehovah);
|
|
||||||
#hau INTERJ [XXXFS] :: oh! ow! oh dear! goodness gracious! (used by women to express consternation);
|
|
||||||
#have INTERJ [XXXDX] :: hail!, formal expression of greetings;
|
|
||||||
#hei INTERJ [XXXDX] :: Ah! Woe!, oh dear, alas; (exclamation expressing anguish, grief or fear);
|
|
||||||
#heia INTERJ [XXXBX] :: how now!, Ha, Good, see! (of joy); see!, Quick! (of urgency/astonishment);
|
|
||||||
#Heli INTERJ [EEQFW] :: My God; [~ ~ lemma sabacthani => My God, my God why hast thou forsaken me];
|
|
||||||
#hem INTERJ [XXXCO] :: what ' s that? (surprise/concern); Ah!/alas! (unhappiness); there/here! (wonder);
|
|
||||||
#hercle INTERJ [XXXDX] :: By Hercules!; assuredly, indeed;
|
|
||||||
#hercule INTERJ [XXXDX] :: by Hercules!; assuredly, indeed;
|
|
||||||
#heu INTERJ [XXXAX] :: oh! ah! alas! (an expression of dismay or pain);
|
|
||||||
#heus INTERJ [XXXDX] :: hey!, ho!, ho there!, listen!;
|
|
||||||
#Hosanna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#Hosianna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#hui INTERJ [XXXDX] :: whee!, wow!; sound of surprise or approbation not unlike "whee";
|
|
||||||
#ilicet INTERJ [XXXCO] :: you may go/off with you; it ' s over; at once; [~ malam crucem => to Hell with];
|
|
||||||
#Io INTERJ [XXXAO] :: Yo!; Hurrah! (ritual exclamation of strong emotion/joy); Ho!; Look!; Quick!;
|
|
||||||
#lema INTERJ [EEQFW] :: Eli Eli lama sabacthani/My God, my God why hast thou forsaken me Matthew 27:46;
|
|
||||||
#lo INTERJ [EXXFP] :: Lo!; (magic word to cure bite of mad dog);
|
|
||||||
#maranatha INTERJ [DEXEP] :: our Lord cometh; (Aramaic through Greek);
|
|
||||||
#mecastor INTERJ [XXXDO] :: by Castor!; (oath used by women);
|
|
||||||
#mehercle INTERJ [XXXDX] :: By Hercules! assuredly, indeed;
|
|
||||||
#mehercule INTERJ [XXXDX] :: by Hercules! assuredly, indeed;
|
|
||||||
#mehercules INTERJ [XXXDX] :: by Hercules! assuredly, indeed;
|
|
||||||
#o INTERJ [XXXAX] :: Oh!;
|
|
||||||
#oh INTERJ [XXXDX] :: oh! ah!;
|
|
||||||
#ohe INTERJ [XXXDX] :: hey! hey there!;
|
|
||||||
#oi INTERJ [XXXEC] :: oh! ah!;
|
|
||||||
#oiei INTERJ [XXXDS] :: oh dear; (lamentation);
|
|
||||||
#Osanna INTERJ [DEQEE] :: Hosanna, "God save", a cry of praise (Hebrew);
|
|
||||||
#phy INTERJ [XXXFO] :: pish! tush!; (expression of disgust);
|
|
||||||
#Pol INTERJ [XXXDX] :: by Pollux; truly; really;
|
|
||||||
#qualiter ADV [XXXDX] :: as, just as; in what/which way/state/manner (INTERJ), how;
|
|
||||||
#ridiculum INTERJ [XXXEO] :: the idea/question is absurd/ridiculous!;
|
|
||||||
#st INTERJ [XXXDX] :: hush! hist!;
|
|
||||||
#tat INTERJ [BXXFS] :: what! (Plautus);
|
|
||||||
#triumphe INTERJ [XXXFS] :: triumphant!;
|
|
||||||
#va INTERJ [DXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
#vae INTERJ [XXXBX] :: alas, woe, ah; oh dear; (Vae, puto deus fio. - Vespasian); Bah!, Curses!;
|
|
||||||
#vah INTERJ [XXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
#vaha INTERJ [BXXCO] :: Ha!/oh!/ah!; (exclamation of pain/dismay, of contempt/anger, of surprise/joy);
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,129 +0,0 @@
|
|||||||
#amb NUM [XXXBO] :: both; two of pair; two considered together, both parties; each of two;
|
|
||||||
#bes NUM [XXXCO] :: two thirds; [bes alter => one and two thirds];
|
|
||||||
#biscentum, biscentesimus -a -um, biscenteni -ae -a, biscentie(n)s NUM [XXXCE] :: two hundred;
|
|
||||||
#bisen NUM [XXXFW] :: twelve each/apiece/times/at a time; by twelves; (twice six);
|
|
||||||
#centensim NUM [XXXCO] :: one hundredth; (part/in series);
|
|
||||||
#centensum NUM [BXXEG] :: one hundredth; (part/in series);
|
|
||||||
#centum, centesimus -a -um, centeni -ae -a, centie(n)s NUM [XXXAO] :: one hundred;
|
|
||||||
#decem, decimus -a -um, deni -ae -a, decie(n)s NUM [XXXBO] :: ten; (ten men);
|
|
||||||
#decum NUM [XXXCO] :: tenth; (~ unda/fluctus => 10th wave, of great size); [cum decumo => tenfold];
|
|
||||||
#des NUM [AXXEO] :: two thirds; [bes alter => one and two thirds];
|
|
||||||
#ducentensim NUM [BXXEG] :: two hundredth;
|
|
||||||
#ducentensum NUM [BXXEG] :: two hundredth;
|
|
||||||
#ducenti -ae -a, ducentesimus -a -um, duceni -ae -a, ducentie(n)s NUM [XXXBX] :: two hundred;
|
|
||||||
#duo -ae o, secundus -a -um, bini -ae -a, bis NUM [XXXAX] :: two (pl.);
|
|
||||||
#duodecim, duodecimus -a -um, duodeni -ae -a, duodecie(n)s NUM [XXXAX] :: twelve;
|
|
||||||
#duodecum NUM [BXXCG] :: twelve;
|
|
||||||
#duodetriginta, duodetricesimus -a -um, duodetriceni -ae -a, duodetricie(n)s NUM [XXXEX] :: twenty eight;
|
|
||||||
#duodevicensim NUM [BXXCG] :: eighteen;
|
|
||||||
#duodevicensum NUM [BXXCG] :: eighteen;
|
|
||||||
#duodevigensim NUM [BXXFG] :: eighteenth;
|
|
||||||
#duodevigensum NUM [BXXFG] :: eighteenth;
|
|
||||||
#duodeviginti, duodevicesimus -a -um, duodeviceni -ae -a, duodevicie(n)s NUM [XXXDX] :: eighteen;
|
|
||||||
#is, ea, id PRON [XXXAX] :: he/she/it/they (by GENDER/NUMBER); DEMONST: that, he/she/it, they/them;
|
|
||||||
#mill NUM [XXXAX] :: thousand; a thousand; [mille passuum => thousand paces = a mile];
|
|
||||||
#mille, millesimus -a -um, milleni -ae -a, milie(n)s NUM [XXXAX] :: thousand; a thousand; [mille passuum => thousand paces = a mile];
|
|
||||||
#millensim NUM [BXXEG] :: thousandth;
|
|
||||||
#millensum NUM [BXXEG] :: thousandth;
|
|
||||||
#multot NUM [XXXCZ] :: many times;
|
|
||||||
#nonagensim NUM [BXXEG] :: ninetieth;
|
|
||||||
#nonagensum NUM [BXXEG] :: ninetieth;
|
|
||||||
#nonaginta, nonagesimus -a -um, nonageni -ae -a, nonagie(n)s NUM [XXXBX] :: ninety;
|
|
||||||
#nongentensim NUM [BXXEG] :: nine hundredth;
|
|
||||||
#nongentensum NUM [BXXEG] :: nine hundredth;
|
|
||||||
#nongenti -ae -a, nongentesimus -a -um, nongeni -ae -a, noningentie(n)s NUM [XXXBX] :: nine hundred;
|
|
||||||
#novem, nonus -a -um, noveni -ae -a, novie(n)s NUM [XXXBX] :: nine;
|
|
||||||
#novendecim NUM [XXXDX] :: nineteen;
|
|
||||||
#octavodecem, octavodecimus -a -um, octavodeni -ae -a, octavidecie(n)s NUM [EXXET] :: eighteen;
|
|
||||||
#octingentensim NUM [BXXEG] :: eight hundredth;
|
|
||||||
#octingentensum NUM [BXXEG] :: eight hundredth;
|
|
||||||
#octingenti -ae -a, octingentesimus -a -um, octingeni -ae -a, octingentie(n)s NUM [XXXBX] :: eight hundred;
|
|
||||||
#octo, octavus -a -um, octoni -ae -a, octie(n)s NUM [XXXAX] :: eight;
|
|
||||||
#octodecim NUM [XXXDX] :: eighteen;
|
|
||||||
#octogensim NUM [BXXEG] :: eightieth;
|
|
||||||
#octogensum NUM [BXXEG] :: eightieth;
|
|
||||||
#octoginta, octogesimus -a -um, octogeni -ae -a, octogie(n)s NUM [XXXBX] :: eighty;
|
|
||||||
#plur NUM [DXXES] :: often, frequently; sometimes; several/many times (Bee);
|
|
||||||
#plus, pluris N (3rd) N [XXXDX] :: more, too much, more than enough; more than (w/NUM); higher price/value (GEN);
|
|
||||||
#quadragensim NUM [BXXEG] :: fortieth;
|
|
||||||
#quadragensum NUM [BXXEG] :: fortieth;
|
|
||||||
#quadraginta, quadragesimus -a -um, quadrageni -ae -a, quadragie(n)s NUM [XXXBX] :: forty;
|
|
||||||
#quadrin NUM [BXXEG] :: four each/apiece/times/fold (how many each);
|
|
||||||
#quadringentensim NUM [BXXEG] :: four hundredth;
|
|
||||||
#quadringentensum NUM [BXXEG] :: four hundredth;
|
|
||||||
#quadringenti -ae -a, quadringentesimus -a -um, quadringeni -ae -a, quadringentie(n)s NUM [XXXBX] :: four hundred;
|
|
||||||
#quartadecem, quartadecimus -a -um, quartadeni -ae -a, quartadecie(n)s NUM [XXXEX] :: fourteen;
|
|
||||||
#quattor NUM [XXXES] :: four;
|
|
||||||
#quattuor, quartus -a -um, quaterni -ae -a, - NUM [XXXAO] :: four;
|
|
||||||
#quattuordecim, -, -, quatterdecie(n)s NUM [XXXCO] :: fourteen; (the 14 front theater rows reserved for equestrian order);
|
|
||||||
#quatuor NUM [XXXDO] :: four;
|
|
||||||
#quatuordecim, -, -, quaterdecie(n)s NUM [XXXDS] :: fourteen;
|
|
||||||
#quinct NUM [BXXAG] :: five;
|
|
||||||
#quindecim, quindecimus -a -um, quindeci -ae -a, quindecie(n)s NUM [XXXCO] :: fifteen;
|
|
||||||
#quingentensim NUM [BXXEG] :: five hundredth;
|
|
||||||
#quingentensum NUM [BXXEG] :: five hundredth;
|
|
||||||
#quingenti -ae -a, quingentesimus -a -um, quingeni -ae -a, quingentie(n)s NUM [XXXBX] :: five hundred;
|
|
||||||
#quinquagensim NUM [BXXEG] :: fiftieth;
|
|
||||||
#quinquagensum NUM [BXXEG] :: fiftieth;
|
|
||||||
#quinquaginta, quinquagesimus -a -um, quinquageni -ae -a, quinquagie(n)s NUM [XXXBX] :: fifty;
|
|
||||||
#quinque, quintus -a -um, quini -ae -a, quinquie(n)s NUM [XXXAX] :: five;
|
|
||||||
#quintadecem, quintadecimus -a -um, quintadeni -ae -a, quintadecie(n)s NUM [FXXET] :: fifteen;
|
|
||||||
#quotquot NUM [XXXDX] :: however many;
|
|
||||||
#sedecim, -, -, sedecie(n)s NUM [XXXDX] :: sixteen;
|
|
||||||
#septem, septimus -a -um, septeni -ae -a, septie(n)s NUM [XXXAX] :: seven;
|
|
||||||
#septemdecim NUM [XXXEC] :: seventeen;
|
|
||||||
#septendecim NUM [XXXDX] :: seventeen;
|
|
||||||
#septim NUM [BXXEG] :: seven;
|
|
||||||
#septingentensim NUM [BXXEG] :: seven hundredth;
|
|
||||||
#septingentensum NUM [BXXEG] :: seven hundredth;
|
|
||||||
#septingenti -ae -a, septingentesimus -a -um, septingeni -ae -a, septingentie(n)s NUM [XXXBX] :: seven hundred;
|
|
||||||
#septuagensim NUM [BXXEG] :: seventieth;
|
|
||||||
#septuagensum NUM [BXXEG] :: seventieth;
|
|
||||||
#septuaginta, septuagesimus -a -um, septuageni -ae -a, septuagie(n)s NUM [XXXBX] :: seventy;
|
|
||||||
#septum NUM [XXXEG] :: seven; (primarily used in compound words);
|
|
||||||
#sescentensim NUM [BXXEG] :: six hundredth;
|
|
||||||
#sescentensum NUM [BXXEG] :: six hundredth;
|
|
||||||
#sescenti -ae -a, sescentesimus -a -um, sesceni -ae -a, sexcentie(n)s NUM [XXXBX] :: six hundred;
|
|
||||||
#sesterti NUM [XXXDX] :: two and a half (2 1/2);
|
|
||||||
#sex, sextus -a -um, seni -ae -a, sexie(n)s NUM [XXXAX] :: six;
|
|
||||||
#sexagensim NUM [BXXEG] :: sixtieth;
|
|
||||||
#sexagensum NUM [BXXEG] :: sixtieth;
|
|
||||||
#sexaginta, sexagesimus -a -um, sexageni -ae -a, sexagie(n)s NUM [XXXBX] :: sixty;
|
|
||||||
#terci NUM [FXXAM] :: three;
|
|
||||||
#toc NUM [EXXDX] :: so often, so many times;
|
|
||||||
#tot NUM [XXXAO] :: as/so often, so many times, such a great number of times; that number of times;
|
|
||||||
#tot NUM [XXXDX] :: so many, such a number of; as many, so many; such a great number of;
|
|
||||||
#trecentensim NUM [BXXEG] :: three hundredth;
|
|
||||||
#trecentensum NUM [BXXEG] :: three hundredth;
|
|
||||||
#trecenti -ae -a, trecentesimus -a -um, treceni -ae -a, trecentie(n)s NUM [XXXBQ] :: three hundred; (used to denote a large number);
|
|
||||||
#tredecim, -, -, terdecie(n)s NUM [XXXDX] :: thirteen;
|
|
||||||
#tres -es -ia, tertius -a -um, terni -ae -a, ter NUM [XXXAX] :: three;
|
|
||||||
#tricensim NUM [BXXEG] :: thirtieth;
|
|
||||||
#tricensum NUM [BXXEG] :: thirtieth;
|
|
||||||
#trigen NUM [DXXEO] :: thirtieth;
|
|
||||||
#trigensim NUM [DXXEO] :: thirtieth;
|
|
||||||
#trigesim NUM [XXXES] :: thirty;
|
|
||||||
#triginta, tricesimus -a -um, triceni -ae -a, tricie(n)s NUM [XXXBX] :: thirty;
|
|
||||||
#trin NUM [XXXEX] :: three each/apiece/times/fold; triple; three in any case; three at a time;
|
|
||||||
#tripl NUM [XXXDX] :: threefold, triple; three;
|
|
||||||
#undecim, undecimus -a -um, undeni -ae -a, undecie(n)s NUM [XXXAX] :: eleven;
|
|
||||||
#undecum NUM [BXXCG] :: eleven;
|
|
||||||
#undenonaginta, undenonagesimus -a -um, undenonageni -ae -a, undenonagie(n)s NUM [XXXFS] :: eighty-nine;
|
|
||||||
#undeoctoginta, undeoctogesimus -a -um, undeoctogeni -ae -a, undeoctogie(n)s NUM [XXXFS] :: seventy-nine;
|
|
||||||
#undequadraginta, undequadragesimus -a -um, undequadrageni -ae -a, undequadragie(n)s NUM [XXXFS] :: thirty-nine;
|
|
||||||
#undequinquaginta, undequinquagesimus -a -u, undequinquageni -ae -a, undequinquagie(n)s NUM [XXXFS] :: forty-nine;
|
|
||||||
#undesexaginta, undesexagesimus -a -um, undesexageni -ae -a, undesexagie(n)s NUM [XXXFS] :: fifty-nine;
|
|
||||||
#undetricensim NUM [BXXEG] :: twenty ninth;
|
|
||||||
#undetricensum NUM [BXXEG] :: twenty ninth;
|
|
||||||
#undetriginta, undetricesimus -a -um, undetriceni -ae -a, undetricie(n)s NUM [XXXEX] :: twenty nine;
|
|
||||||
#undevicensim NUM [BXXEG] :: nineteenth;
|
|
||||||
#undevicensum NUM [BXXEG] :: nineteenth;
|
|
||||||
#undevigensim NUM [BXXFG] :: nineteenth;
|
|
||||||
#undevigensum NUM [BXXFG] :: nineteenth;
|
|
||||||
#undeviginti, undevicesimus -a -um, undeviceni -ae -a, undevicie(n)s NUM [XXXDX] :: nineteen;
|
|
||||||
#unus -a -um, primus -a -um, singuli -ae -a, semel NUM [XXXAX] :: one;
|
|
||||||
#vicensim NUM [BXXEG] :: twentieth;
|
|
||||||
#vicensum NUM [BXXEG] :: twentieth;
|
|
||||||
#vigensim NUM [BXXCG] :: twenty;
|
|
||||||
#vigensum NUM [BXXBG] :: twenty;
|
|
||||||
#viginti, vicesimus -a -um, viceni -ae -a, vicie(n)s NUM [XXXAX] :: twenty;
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
#quicum PACK [XXXCX] :: (w/-cum) only ABL with whom?, with which?;
|
|
||||||
#quicumque, quaecumque, quodcumque PACK [XXXCX] :: (w/-cumque) who/whatever, no matter who/what, in any time/way, however small;
|
|
||||||
#quicunque, quaecunque, quodcunque PACK [XXXCX] :: (w/-cunque) who/whatever, no matter who/what, in any time/way, however small;
|
|
||||||
#quidam, quaedam, quoddam PACK [XXXCX] :: (w/-dam) certain; as INDEF a certain thing; somebody, one, something;
|
|
||||||
#quilibet, quaelibet, quodlibet PACK [XXXCX] :: (w/-libet) whatever, whichever, no matter, what you please; any whatever;
|
|
||||||
#quilibet, quaelibet, quodlibet PACK [XXXCX] :: (w/-libet) whoever/whatever you please; anyone/anything whatever;
|
|
||||||
#quilubet, quaelubet, quodlubet PACK [XXXCX] :: (w/-lubet) whatever, whichever, no matter, what you please; any whatever;
|
|
||||||
#quilubet, quaelubet, quodlubet PACK [XXXCX] :: (w/-lubet) whoever/whatever you please; anyone/anything whatever;
|
|
||||||
#quinam, quaenam, quodnam PACK [XXXCX] :: (w/-nam) who then; who in the world; which, I insist;
|
|
||||||
#quisnam, quaenam, quidnam PACK INTERR [XXXCX] :: (w/-nam) who?; what?; who then?; who in the world?;
|
|
||||||
#quisque, quaeque, quodque PACK [XXXCX] :: (w/-que) each, each one; every, everybody, everything (more than 2); whatever;
|
|
||||||
#quivis, quaevis, quodvis PACK [XXXCX] :: (w/-vis) any whatever; anyone/anything you wish;
|
|
||||||
@@ -1,93 +0,0 @@
|
|||||||
#a PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin/time); after (reference);
|
|
||||||
#a PREP ACC [XXXCO] :: ante, abb. a.; [in calendar expression a. d. = ante diem => before the day];
|
|
||||||
#ab PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin/time); after (reference);
|
|
||||||
#abante PREP ABL [XXXES] :: from before/in front of;
|
|
||||||
#abs PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin (time); after (reference);
|
|
||||||
#absque PREP ABL [XXXCO] :: without, apart from, away from; but for; except for; were it not for; (early);
|
|
||||||
#abusque PREP ABL [XXXCL] :: all the way from; from/since the time of;
|
|
||||||
#ad PREP ACC [XXXAO] :: to, up to, towards; near, at; until, on, by; almost; according to; about w/NUM;
|
|
||||||
#adusque PREP ACC [XXXCO] :: all the way/right up to, as far as, to the point of (space/time/number/degree);
|
|
||||||
#adversum PREP ACC [XXXAO] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#adversus PREP ACC [XXXAO] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#advorsum PREP ACC [BXXAX] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#advorsus PREP ACC [BXXAX] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#ante PREP ACC [XXXAO] :: in front/presence of, in view; before (space/time/degree); over against, facing;
|
|
||||||
#apsque PREP ABL [XXXCO] :: without, apart from, away from; but for; except for; were it not for; (early);
|
|
||||||
#apud PREP ACC [XXXAO] :: at, by, near, among; at the house of; before, in the presence/writings/view of;
|
|
||||||
#aput PREP ACC [XXXAO] :: at, by, near, among; at the house of; before, in presence/writings/view/eyes of;
|
|
||||||
#callim PREP ACC [AXXBO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#cata PREP ABL [DXXFS] :: by; (in distributed sense); [cata mane mane => morning by morning];
|
|
||||||
#causa PREP GEN [XXXAO] :: for sake/purpose of (preceded by GEN.), on account/behalf of, with a view to;
|
|
||||||
#caussa PREP GEN [XXXAO] :: for the sake/purpose of (preceded by GEN), on account/behalf of, with view to;
|
|
||||||
#circa PREP ACC [XXXAO] :: around, on bounds of; about/near (space/time/numeral); concerning; with;
|
|
||||||
#circiter PREP ACC [XXXDO] :: about, around, near (space/time/numeral); towards;
|
|
||||||
#circum PREP ACC [XXXBO] :: around, about, among, near (space/time), in neighborhood of; in circle around;
|
|
||||||
#cis PREP ACC [XXXCO] :: on/to this/near side of, short of; before, within (time);
|
|
||||||
#citra PREP ACC [XXXAO] :: on this/near side of, short of; before; below, less than; without regard to;
|
|
||||||
#clam PREP ABL [XXXEO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#clam PREP ACC [XXXCO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#clanculum PREP ACC [XXXFO] :: without knowledge of, secret from;
|
|
||||||
#com PREP ABL [AXXAC] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#com PREP ABL [AXXAC] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#contra PREP ACC [XXXAO] :: against, facing, opposite; weighed against; as against; in resistance/reply to;
|
|
||||||
#contra PREP ACC [XXXAO] :: |contrary to, not in conformance with; the reverse of; otherwise than;
|
|
||||||
#contra PREP ACC [XXXAO] :: ||towards/up to, in direction of; directly over/level with; to detriment of;
|
|
||||||
#coram PREP ABL [XXXCO] :: in the presence of, before; (may precede or follow object); personally (L+S);
|
|
||||||
#cum PREP ABL [XXXAO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#cum PREP ABL [XXXAO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#de PREP ABL [XXXAO] :: down/away from, from, off; about, of, concerning; according to; with regard to;
|
|
||||||
#desub PREP ABL [XXXFO] :: below, under; beneath;
|
|
||||||
#desuper PREP ACC [XXXEO] :: over, above;
|
|
||||||
#dextra PREP ACC [DXXES] :: on the right of; on the right-hand side of;
|
|
||||||
#e PREP ABL [XXXAX] :: out of, from; by reason of; according to; because of, as a result of;
|
|
||||||
#erga PREP ACC [XXXBX] :: towards, opposite (friendly);
|
|
||||||
#ex PREP ABL [XXXAX] :: out of, from; by reason of; according to; because of, as a result of;
|
|
||||||
#extra PREP ACC [XXXAX] :: outside of, beyond, without, beside; except;
|
|
||||||
#fine PREP ABL [XXXDX] :: up to;
|
|
||||||
#fini PREP ABL [XXXDX] :: up to;
|
|
||||||
#in PREP ABL [XXXAX] :: in, on, at (space); in accordance with/regard to/the case of; within (time);
|
|
||||||
#in PREP ACC [XXXAX] :: into; about, in the mist of; according to, after (manner); for; to, among;
|
|
||||||
#infra PREP ACC [XXXAX] :: below, lower than; later than;
|
|
||||||
#insuper PREP ACC [XXXBX] :: above, on top; in addition (to); over;
|
|
||||||
#inter PREP ACC [XXXAX] :: between, among; during; [inter se => to each other, mutually];
|
|
||||||
#intra PREP ACC [XXXAX] :: within, inside; during; under;
|
|
||||||
#juxta PREP ACC [XXXBX] :: near, (very) close to, next to; hard by, adjoining; on a par with; like;
|
|
||||||
#juxtim PREP ACC [XXXDX] :: next to, beside;
|
|
||||||
#ob PREP ACC [XXXAX] :: on account of, for the sake of, for; instead of; right before;
|
|
||||||
#palam PREP ABL [XXXDS] :: in presence of;
|
|
||||||
#penes PREP ACC [XXXDX] :: in the power of, in the hands of (person); belonging to;
|
|
||||||
#per PREP ACC [XXXAX] :: through (space); during (time); by, by means of;
|
|
||||||
#pone PREP ACC [XXXDX] :: behind (in local relations) (rare);
|
|
||||||
#post PREP ACC [XXXAX] :: behind (space), after (time); subordinate to (rank);
|
|
||||||
#prae PREP ABL [XXXAX] :: before, in front; in view of, because of;
|
|
||||||
#praeter PREP ACC [XXXAX] :: besides, except, contrary to; beyond (rank), in front of, before; more than;
|
|
||||||
#praeterquam PREP ACC [XXXDX] :: except, besides, beyond, contrary to;
|
|
||||||
#pro PREP ABL [XXXAX] :: on behalf of; before; in front/instead of; for; about; according to; as, like;
|
|
||||||
#prope PREP ACC [XXXAX] :: near;
|
|
||||||
#propter PREP ACC [XXXAX] :: near; on account of; by means of; because of;
|
|
||||||
#qum PREP ABL [BXXEO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#qum PREP ABL [BXXEO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#quom PREP ABL [BXXDO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#quom PREP ABL [BXXDO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#quum PREP ABL [DXXCS] :: with, together with, at the same time with; under; at; along with, amid;
|
|
||||||
#secundum PREP ACC [XXXBS] :: after; according to; along/next to, following/immediately after, close behind;
|
|
||||||
#secus PREP ACC [XXXCO] :: by, beside, alongside; in accordance with;
|
|
||||||
#sine PREP ABL [XXXAX] :: without; (sometimes after object); lack; [Johannis sine Terra => John Lackland];
|
|
||||||
#sub PREP ABL [XXXAX] :: under, beneath, behind, at the foot of (rest); within; during, about (time);
|
|
||||||
#sub PREP ACC [XXXAX] :: under; up to, up under, close to (of motion); until, before, up to, about;
|
|
||||||
#subter PREP ABL [XXXEO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff); (usu. ACC);
|
|
||||||
#subter PREP ACC [XXXCO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff);
|
|
||||||
#super PREP ABL [XXXAX] :: over (space), above, upon, in addition to; during (time); concerning; beyond;
|
|
||||||
#super PREP ACC [XXXBX] :: upon/on; over, above, about; besides (space); during (time); beyond (degree);
|
|
||||||
#supra PREP ACC [XXXAX] :: above, beyond; over; more than; in charge of, in authority over;
|
|
||||||
#supter PREP ABL [XXXEO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff); (usu. ACC);
|
|
||||||
#supter PREP ACC [XXXCO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff);
|
|
||||||
#tenus PREP ABL [XXXDX] :: as far as, to the extent of, up to, down to;
|
|
||||||
#trans PREP ACC [XXXDX] :: across, over; beyond; on the other side; (only local relations);
|
|
||||||
#uls PREP ACC [XXXDX] :: beyond, on the other side, on that side; more than, besides;
|
|
||||||
#ultra PREP ACC [XXXDX] :: beyond, on the other side, on that side; more than, besides;
|
|
||||||
#usque PREP ACC [XXXDX] :: up to (name of town or locality);
|
|
||||||
#versum PREP ACC [XXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#versus PREP ACC [XXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#vorsum PREP ACC [BXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#vorsus PREP ACC [BXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
#a PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin/time); after (reference);
|
|
||||||
#a PREP ACC [XXXCO] :: ante, abb. a.; [in calendar expression a. d. = ante diem => before the day];
|
|
||||||
#ab PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin/time); after (reference);
|
|
||||||
#abante PREP ABL [XXXES] :: from before/in front of;
|
|
||||||
#abs PREP ABL [XXXAO] :: by (agent), from (departure, cause, remote origin (time); after (reference);
|
|
||||||
#absque PREP ABL [XXXCO] :: without, apart from, away from; but for; except for; were it not for; (early);
|
|
||||||
#abusque PREP ABL [XXXCL] :: all the way from; from/since the time of;
|
|
||||||
#ad PREP ACC [XXXAO] :: to, up to, towards; near, at; until, on, by; almost; according to; about w/NUM;
|
|
||||||
#adusque PREP ACC [XXXCO] :: all the way/right up to, as far as, to the point of (space/time/number/degree);
|
|
||||||
#adversum PREP ACC [XXXAO] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#adversus PREP ACC [XXXAO] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#advorsum PREP ACC [BXXAX] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#advorsus PREP ACC [BXXAX] :: facing, opposite, against, towards; contrary to; face to face, in presence of;
|
|
||||||
#ante PREP ACC [XXXAO] :: in front/presence of, in view; before (space/time/degree); over against, facing;
|
|
||||||
#apsque PREP ABL [XXXCO] :: without, apart from, away from; but for; except for; were it not for; (early);
|
|
||||||
#apud PREP ACC [XXXAO] :: at, by, near, among; at the house of; before, in the presence/writings/view of;
|
|
||||||
#aput PREP ACC [XXXAO] :: at, by, near, among; at the house of; before, in presence/writings/view/eyes of;
|
|
||||||
#callim PREP ACC [AXXBO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#cata PREP ABL [DXXFS] :: by; (in distributed sense); [cata mane mane => morning by morning];
|
|
||||||
#causa PREP GEN [XXXAO] :: for sake/purpose of (preceded by GEN.), on account/behalf of, with a view to;
|
|
||||||
#caussa PREP GEN [XXXAO] :: for the sake/purpose of (preceded by GEN), on account/behalf of, with view to;
|
|
||||||
#circa PREP ACC [XXXAO] :: around, on bounds of; about/near (space/time/numeral); concerning; with;
|
|
||||||
#circiter PREP ACC [XXXDO] :: about, around, near (space/time/numeral); towards;
|
|
||||||
#circum PREP ACC [XXXBO] :: around, about, among, near (space/time), in neighborhood of; in circle around;
|
|
||||||
#cis PREP ACC [XXXCO] :: on/to this/near side of, short of; before, within (time);
|
|
||||||
#citra PREP ACC [XXXAO] :: on this/near side of, short of; before; below, less than; without regard to;
|
|
||||||
#clam PREP ABL [XXXEO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#clam PREP ACC [XXXCO] :: without knowledge of, unknown to; concealed/secret from; (rarely w/ABL);
|
|
||||||
#clanculum PREP ACC [XXXFO] :: without knowledge of, secret from;
|
|
||||||
#com PREP ABL [AXXAC] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#com PREP ABL [AXXAC] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#contra PREP ACC [XXXAO] :: against, facing, opposite; weighed against; as against; in resistance/reply to;
|
|
||||||
#contra PREP ACC [XXXAO] :: |contrary to, not in conformance with; the reverse of; otherwise than;
|
|
||||||
#contra PREP ACC [XXXAO] :: ||towards/up to, in direction of; directly over/level with; to detriment of;
|
|
||||||
#coram PREP ABL [XXXCO] :: in the presence of, before; (may precede or follow object); personally (L+S);
|
|
||||||
#cum PREP ABL [XXXAO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#cum PREP ABL [XXXAO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#de PREP ABL [XXXAO] :: down/away from, from, off; about, of, concerning; according to; with regard to;
|
|
||||||
#desub PREP ABL [XXXFO] :: below, under; beneath;
|
|
||||||
#desuper PREP ACC [XXXEO] :: over, above;
|
|
||||||
#dextra PREP ACC [DXXES] :: on the right of; on the right-hand side of;
|
|
||||||
#e PREP ABL [XXXAX] :: out of, from; by reason of; according to; because of, as a result of;
|
|
||||||
#erga PREP ACC [XXXBX] :: towards, opposite (friendly);
|
|
||||||
#ex PREP ABL [XXXAX] :: out of, from; by reason of; according to; because of, as a result of;
|
|
||||||
#extra PREP ACC [XXXAX] :: outside of, beyond, without, beside; except;
|
|
||||||
#fine PREP ABL [XXXDX] :: up to;
|
|
||||||
#fini PREP ABL [XXXDX] :: up to;
|
|
||||||
#in PREP ABL [XXXAX] :: in, on, at (space); in accordance with/regard to/the case of; within (time);
|
|
||||||
#in PREP ACC [XXXAX] :: into; about, in the mist of; according to, after (manner); for; to, among;
|
|
||||||
#incircum ADV [XXXFS] :: round about; (L+S calls it PREP);
|
|
||||||
#infra PREP ACC [XXXAX] :: below, lower than; later than;
|
|
||||||
#insuper PREP ACC [XXXBX] :: above, on top; in addition (to); over;
|
|
||||||
#inter PREP ACC [XXXAX] :: between, among; during; [inter se => to each other, mutually];
|
|
||||||
#intra PREP ACC [XXXAX] :: within, inside; during; under;
|
|
||||||
#juxta PREP ACC [XXXBX] :: near, (very) close to, next to; hard by, adjoining; on a par with; like;
|
|
||||||
#juxtim PREP ACC [XXXDX] :: next to, beside;
|
|
||||||
#ob PREP ACC [XXXAX] :: on account of, for the sake of, for; instead of; right before;
|
|
||||||
#palam PREP ABL [XXXDS] :: in presence of;
|
|
||||||
#penes PREP ACC [XXXDX] :: in the power of, in the hands of (person); belonging to;
|
|
||||||
#per PREP ACC [XXXAX] :: through (space); during (time); by, by means of;
|
|
||||||
#pone PREP ACC [XXXDX] :: behind (in local relations) (rare);
|
|
||||||
#post PREP ACC [XXXAX] :: behind (space), after (time); subordinate to (rank);
|
|
||||||
#prae PREP ABL [XXXAX] :: before, in front; in view of, because of;
|
|
||||||
#praeter PREP ACC [XXXAX] :: besides, except, contrary to; beyond (rank), in front of, before; more than;
|
|
||||||
#praeterquam PREP ACC [XXXDX] :: except, besides, beyond, contrary to;
|
|
||||||
#pro PREP ABL [XXXAX] :: on behalf of; before; in front/instead of; for; about; according to; as, like;
|
|
||||||
#prope PREP ACC [XXXAX] :: near;
|
|
||||||
#propter PREP ACC [XXXAX] :: near; on account of; by means of; because of;
|
|
||||||
#qum PREP ABL [BXXEO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#qum PREP ABL [BXXEO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#quom PREP ABL [BXXDO] :: with, together/jointly/along/simultaneous with, amid; supporting; attached;
|
|
||||||
#quom PREP ABL [BXXDO] :: |under command/at the head of; having/containing/including; using/by means of;
|
|
||||||
#quum PREP ABL [DXXCS] :: with, together with, at the same time with; under; at; along with, amid;
|
|
||||||
#secundum PREP ACC [XXXBS] :: after; according to; along/next to, following/immediately after, close behind;
|
|
||||||
#secus PREP ACC [XXXCO] :: by, beside, alongside; in accordance with;
|
|
||||||
#sine PREP ABL [XXXAX] :: without; (sometimes after object); lack; [Johannis sine Terra => John Lackland];
|
|
||||||
#sub PREP ABL [XXXAX] :: under, beneath, behind, at the foot of (rest); within; during, about (time);
|
|
||||||
#sub PREP ACC [XXXAX] :: under; up to, up under, close to (of motion); until, before, up to, about;
|
|
||||||
#subter PREP ABL [XXXEO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff); (usu. ACC);
|
|
||||||
#subter PREP ACC [XXXCO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff);
|
|
||||||
#super PREP ABL [XXXAX] :: over (space), above, upon, in addition to; during (time); concerning; beyond;
|
|
||||||
#super PREP ACC [XXXBX] :: upon/on; over, above, about; besides (space); during (time); beyond (degree);
|
|
||||||
#supra PREP ACC [XXXAX] :: above, beyond; over; more than; in charge of, in authority over;
|
|
||||||
#supter PREP ABL [XXXEO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff); (usu. ACC);
|
|
||||||
#supter PREP ACC [XXXCO] :: beneath, under (cover/shelter); towards/at base (of wall/cliff);
|
|
||||||
#tenus PREP ABL [XXXDX] :: as far as, to the extent of, up to, down to;
|
|
||||||
#trans PREP ACC [XXXDX] :: across, over; beyond; on the other side; (only local relations);
|
|
||||||
#uls PREP ACC [XXXDX] :: beyond, on the other side, on that side; more than, besides;
|
|
||||||
#ultra PREP ACC [XXXDX] :: beyond, on the other side, on that side; more than, besides;
|
|
||||||
#usque PREP ACC [XXXDX] :: up to (name of town or locality);
|
|
||||||
#versum PREP ACC [XXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#versus PREP ACC [XXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#vorsum PREP ACC [BXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
#vorsus PREP ACC [BXXCO] :: toward, in the direction of; (placed after ACC); -ward (after name of town);
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
#aliqui, aliqua, aliquod PRON [XXXAX] :: any; some;
|
|
||||||
#aliquis, aliquis, aliquid PRON [XXXAX] :: anyone, anybody, anything; someone, something; one or another;
|
|
||||||
#chodchod PRON 1 7 ACC S N [EXXFW] :: whatever; everything/anything (which); valuable merchandise (Souter);
|
|
||||||
#eadem PRON 4 2 ACC P N [XXXBX] :: same, the same, the very same; also; (idem, eadem, idem);
|
|
||||||
#eadem PRON 4 2 NOM P N [XXXBX] :: same, the same, the very same; also; (idem, eadem, idem);
|
|
||||||
#eadem PRON 4 2 NOM S F [XXXBX] :: same, the same, the very same; also; (idem, eadem, idem);
|
|
||||||
#ec PRON 3 1 ACC P N [EXXEW] :: these (pl.); persons/things/conditions present/here/just mentioned; +DEMONS;
|
|
||||||
#ec PRON 3 1 NOM P N [EXXEW] :: these (pl.); persons/things/conditions present/here/just mentioned; +DEMONS;
|
|
||||||
#ec PRON 3 1 NOM S F [EXXEW] :: this; person/thing present/just mentioned/in this place; ((h)(a)ec); +DEMONS;
|
|
||||||
#eccille, eccilla, eccillud PRON [XXXFO] :: that over there;
|
|
||||||
#ego, mei PRON PERS [XXXAX] :: I, me;
|
|
||||||
#eodem PRON 4 2 ABL S X [XXXBX] :: same, the same, the very same; also; (idem, eadem, idem);
|
|
||||||
#eundem PRON 4 2 ACC S M [XXXBX] :: same, the same, the very same; also; (idem, eadem, idem);
|
|
||||||
#hic, haec, hoc PRON [XXXAX] :: this; these (pl.); (also DEMONST);
|
|
||||||
#idem, eadem, idem PRON [XXXAX] :: (w/-dem ONLY, idem, eadem, idem) same, the same, the very same, also;
|
|
||||||
#ille, illa, illud PRON [XXXAX] :: that; those (pl.); also DEMONST; that person/thing; the well known; the former;
|
|
||||||
#ipse, ipsa, ipsum PRON [XXXAO] :: himself/herself/itself; the very/real/actual one; in person; themselves (pl.);
|
|
||||||
#isse, issa, issum PRON [XXXDO] :: himself/herself/itself; the very/actual one; (endearment/colloquial of ipse);
|
|
||||||
#iste, ista, istud PRON [XXXAX] :: that, that of yours, that which you refer to; such;
|
|
||||||
#istic, istaec, istoc PRON [XXXDX] :: that of yours/mentioned by you/at hand;
|
|
||||||
#mei (GEN) PRON REFLEX [XXXCX] :: myself;
|
|
||||||
#nos, nostrum/nostri PRON PERS [XXXAX] :: we (pl.), us;
|
|
||||||
#olle, olla, ollud PRON [BXXDO] :: that; that person/thing; the well known; the former; those (pl.); (ille);
|
|
||||||
#quemquem PRON 1 0 ACC S M [XXXCX] :: whomever; every one who; whomever it be; everyone; each;
|
|
||||||
#qui, quae, qua PRON [XXXAX] :: any; some; someone (preceded by si, nisi, numquid, ne), something, anyone;
|
|
||||||
#qui, quae, quod PRON [XXXAX] :: which?, what?; what kind of?;
|
|
||||||
#qui, quae, quod PRON [XXXAX] :: who, which; (relative pronoun);
|
|
||||||
#quicquam PRON 1 6 ACC S N [XXXCX] :: any; anything; anything whatsoever;
|
|
||||||
#quicquam PRON 1 6 NOM S N [XXXCX] :: any; anything; anything whatsoever;
|
|
||||||
#quicquid PRON 1 6 ACC S N [XXXCX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quicquid PRON 1 6 NOM S N [XXXBX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quidquid PRON 1 6 ACC S N [XXXCX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quidquid PRON 1 6 NOM S N [XXXBX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quippiam PRON 1 0 ACC S N [XXXBO] :: some/any one/thing; unspecified thing/person; certain quanity, a bit; at all;
|
|
||||||
#quippiam PRON 1 0 NOM S N [XXXBO] :: some/any one/thing; unspecified thing/person; certain quanity, a bit; at all;
|
|
||||||
#quis, quis, quid PRON [XXXAX] :: anyone, anybody, anything; someone, something; one or another;
|
|
||||||
#quis, quis, quid PRON [XXXAX] :: who?, which one?, what man?, what thing? (type/nature); what kind of; what?;
|
|
||||||
#quisquis PRON 1 2 NOM S C [XXXBX] :: whoever; every one who; whoever it be; everyone; each;
|
|
||||||
#quodquod PRON 1 7 ACC S N [XXXCX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quodquod PRON 1 7 NOM S N [XXXBX] :: whatever, whatsoever; everything which; each one; each; everything; anything;
|
|
||||||
#quoquo PRON 1 0 ABL S X [XXXCX] :: whoever; whatever, whatsoever; every one who; everything which; each one; each;
|
|
||||||
#seipse, seipsa, seipsum PRON [EXXCE] :: he himself, she herself, it itself; they themselves (pl.);
|
|
||||||
#semetipse, semetipsa, semetipsum PRON [EXXCE] :: he himself, she herself, it itself; they themselves (pl.); (intensive);
|
|
||||||
#sui (GEN) PRON REFLEX [XXXCX] :: him/her/it/ones-self; him/her/it; them (selves) (pl.); each other, one another;
|
|
||||||
#tu, tui PRON PERS [XXXAX] :: you, thee;
|
|
||||||
#tui (GEN) PRON REFLEX [XXXCX] :: yourself, thyself;
|
|
||||||
#unicuique PRON 1 0 DAT S X [XXXDW] :: each one;
|
|
||||||
#uniuscuiusque PRON 1 0 GEN S X [XXXDW] :: each one;
|
|
||||||
#unumquodque PRON 1 0 ACC S M [XXXDW] :: each one;
|
|
||||||
#unusquisque PRON 1 0 NOM S M [XXXDW] :: each one;
|
|
||||||
#vos, vetrum/vetri PRON PERS [XXXCX] :: you (pl.), ye;
|
|
||||||
#vos, votrum/votri PRON PERS [XXXCX] :: you (pl.), ye;
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,164 +0,0 @@
|
|||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
my $wordform = "[\\w()/.\\s-]+" ;
|
|
||||||
my $comment = "(\\[.*)" ;
|
|
||||||
my $gender = "(F|M|N|C|X)";
|
|
||||||
my $vtype = "(TRANS|INTRANS|DEP|SEMIDEP)";
|
|
||||||
my $case = "(ABL|ACC|GEN|DAT)" ;
|
|
||||||
my $declension = "\\((1st|2nd|3rd|4th|5th)\\)";
|
|
||||||
my $interjection = "#($wordform)\\s+INTERJ\\s+$comment";
|
|
||||||
my $adverb = "#(($wordform,\\s+)*$wordform)\\s+ADV\\s+$comment";
|
|
||||||
my $adjective = "#(($wordform,\\s+)*$wordform)\\s+ADJ\\s+$comment";
|
|
||||||
my $conjunction = "#($wordform)\\s+CONJ\\s+$comment";
|
|
||||||
my $noun = "#(($wordform,\\s+)*$wordform)\\s+N\\s+$gender\\s+$comment";
|
|
||||||
my $noun2 = "#(($wordform,\\s+)*$wordform)\\s+N\\s+$declension\\s+$gender\\s+$comment";
|
|
||||||
my $noun3 = "#(($wordform,\\s+)*$wordform)\\s+N\\s+ADJ\\s+$comment";
|
|
||||||
my $prep = "#($wordform)\\s+PREP\\s+$case\\s+$comment";
|
|
||||||
my $verb = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$comment";
|
|
||||||
my $verb2 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$comment";
|
|
||||||
my $verb3 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$vtype\\s+$comment";
|
|
||||||
my $verb4 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$vtype\\s+$comment";
|
|
||||||
my $verb5 = "#(($wordform,\\s+)*$wordform)\\s+V\\s+$declension\\s+$case\\s+$comment";
|
|
||||||
|
|
||||||
my $absheader = "abstract DictLatAbs = Cat ** {\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n\tfun";
|
|
||||||
my $concheader = "concrete DictLat of DictLatAbs = CatLat ** open Prelude,ParadigmsLat in {\n-- extracted from http://archives.nd.edu/whitaker/dictpage.htm\n lin";
|
|
||||||
my $footer = "}";
|
|
||||||
|
|
||||||
open(my $absfh, ">", "DictLatAbs.gf") or die "Can't open > DictLatAbs.gf: $!";
|
|
||||||
open(my $concfh, ">", "DictLat.gf") or die "Can't open > DictLatAbs.gf: $!";
|
|
||||||
|
|
||||||
print $absfh "$absheader\n";
|
|
||||||
print $concfh "$concheader\n";
|
|
||||||
|
|
||||||
while (my $l = <>) {
|
|
||||||
if ($l =~ /$interjection/)
|
|
||||||
{
|
|
||||||
# print "INTERJ Word: $1 -- Comment: $2\n";
|
|
||||||
my $wf = $1 ;
|
|
||||||
$wf =~ s/\s$//g;
|
|
||||||
print $absfh " ".$wf."_Interj : Interj ;\n" ;
|
|
||||||
print $concfh " ".$wf."_Interj = ss \"$wf\" ; \n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adverb/)
|
|
||||||
{
|
|
||||||
# print "ADV Word: $1 -- Comment: $3\n";
|
|
||||||
my $wf = $1 ; # all word forms in one string
|
|
||||||
my $comment = $3;
|
|
||||||
my @wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
map { s/\s$// } @wfs;
|
|
||||||
print $absfh " ".$wfs[0]."_Adv : Adv ;\n" ;
|
|
||||||
if (@wfs == 1)
|
|
||||||
{
|
|
||||||
print $concfh " ".$wfs[0]."_Adv = ss \"".$wfs[0]."\" ;\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
# Comparison levels are missing so far
|
|
||||||
print $concfh "-- ".$wfs[0]."_Adv : $wf -- $comment\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$adjective/)
|
|
||||||
{
|
|
||||||
print "ADJ Word: $1 -- Comment: $3\n";
|
|
||||||
my $wf = $1 ; # all word forms in one string
|
|
||||||
my $comment = $3;
|
|
||||||
my @wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
map { s/[\s.]$// } @wfs;
|
|
||||||
# Word forms contain variations -> Ignore
|
|
||||||
print $absfh " ".$wfs[0]."_Adj : Adj ;\n" ;
|
|
||||||
if ($wf =~ /\/\(\)/ )
|
|
||||||
print $concfh "-- ".$wfs[0]."_Adj : $wf -- $comment\n";
|
|
||||||
{
|
|
||||||
}
|
|
||||||
# Abbreviations -> Ignore
|
|
||||||
elsif ($wf =~ /abbr\./) {
|
|
||||||
print $concfh "-- ".$wfs[0]."_Adj : $wf -- $comment\n";
|
|
||||||
}
|
|
||||||
# Three word forms -> regular adjective?!?
|
|
||||||
elsif (@wfs == 3)
|
|
||||||
{
|
|
||||||
print $concfh " ".$wfs[0]."_Adj = mkA \"".$wfs[0]."\" ;\n";
|
|
||||||
}
|
|
||||||
# Too many word forms
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print $concfh "-- ".$wfs[0]."_Adj : $wf -- $comment\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$conjunction/)
|
|
||||||
{
|
|
||||||
# print "CONJ Word: $1 -- Comment: $2\n";
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $comment = $2;
|
|
||||||
$wf =~ s/\s$//g;
|
|
||||||
print $absfh " ".$wf."_Conj : Conj ;\n" ;
|
|
||||||
# We don't get enough information for our grammar from the lexicon
|
|
||||||
# print $concfh " ".$wf."_Conj = ss \"$wf\" ; \n";
|
|
||||||
print $concfh "-- ".$wf."_Conj -- $comment\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun/)
|
|
||||||
{
|
|
||||||
|
|
||||||
my $wf = $1 ;
|
|
||||||
my $gender = $3;
|
|
||||||
my $comment = $4;
|
|
||||||
my @wfs = split /\s*,\s+/, $1; # word forms split into a list
|
|
||||||
print $absfh " ".$wfs[0]."_N : N ;\n" ;
|
|
||||||
if ($wf =~ /\/\(\)/ )
|
|
||||||
{
|
|
||||||
print $concfh "-- ".$wfs[0]."_N : $wf -- $gender -- $comment\n";
|
|
||||||
}
|
|
||||||
elsif ($wf =~ /abb(r?)\./)
|
|
||||||
{
|
|
||||||
print $concfh "-- ".$wfs[0]."_N : $wf -- $gender -- $comment\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print "N1 Word: $1 -- Gender: $3 -- Comment: $4\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun2/)
|
|
||||||
{
|
|
||||||
print "N Word: $1 -- Gender: $4 -- Declension: $3 -- Comment: $5\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$noun3/)
|
|
||||||
{
|
|
||||||
print "N Word: $1 -- Comment: $3\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$prep/)
|
|
||||||
{
|
|
||||||
print "PREP Word: $1 -- Case: $2 -- Comment: $3\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb/)
|
|
||||||
{
|
|
||||||
print "V Word: $1 -- Comment: $3\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb2/)
|
|
||||||
{
|
|
||||||
print "V Word: $1 -- Declension: $3 -- Comment: $4\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb3/)
|
|
||||||
{
|
|
||||||
print "V Word: $1 -- VType: $3 -- Comment: $4\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb4/)
|
|
||||||
{
|
|
||||||
print "V Word: $1 -- Declension: $3 -- VType: $4 -- Comment: $5\n";
|
|
||||||
}
|
|
||||||
elsif ($l =~ /$verb5/)
|
|
||||||
{
|
|
||||||
print "V Word: $1 -- Declension: $3 -- Case: $4 -- Comment: $5\n";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
print "MISSING: $l\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
print $absfh "$footer\n";
|
|
||||||
print $concfh "$footer\n";
|
|
||||||
close($absfh);
|
|
||||||
close($concfh);
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,362 +0,0 @@
|
|||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
% Beamer Presentation
|
|
||||||
% LaTeX Template
|
|
||||||
% Version 1.0 (10/11/12)
|
|
||||||
%
|
|
||||||
% This template has been downloaded from:
|
|
||||||
% http://www.LaTeXTemplates.com
|
|
||||||
%
|
|
||||||
% License:
|
|
||||||
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
|
|
||||||
%
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------------------------
|
|
||||||
% PACKAGES AND THEMES
|
|
||||||
%----------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
%\documentclass[12pt]{beamer}
|
|
||||||
%\documentclass{beamer}
|
|
||||||
\documentclass[compress,table]{beamer} % compresses the navigation bar on top
|
|
||||||
|
|
||||||
\mode<presentation> {
|
|
||||||
% The Beamer class comes with a number of default slide themes
|
|
||||||
% which change the colors and layouts of slides. Below this is a list
|
|
||||||
% of all the themes, uncomment each in turn to see what they look like.
|
|
||||||
|
|
||||||
% best themes (ordered by preference)
|
|
||||||
\usetheme{Madrid} % has no navigation overview per slide
|
|
||||||
%\usetheme{Boadilla}% has no navigation overview per slide
|
|
||||||
%\usetheme{Warsaw} % navigation on top, title and author below
|
|
||||||
%\usetheme{PaloAlto} % nav at side, title and author also at side
|
|
||||||
%\usetheme{Berkeley}
|
|
||||||
|
|
||||||
%\usetheme{Szeged}
|
|
||||||
%\usetheme{Copenhagen}
|
|
||||||
%\usetheme{Luebeck}
|
|
||||||
|
|
||||||
%\usetheme{Malmoe}
|
|
||||||
%\usetheme{Bergen}
|
|
||||||
%\usetheme{CambridgeUS}
|
|
||||||
%\usetheme{AnnArbor}
|
|
||||||
%\usetheme{Marburg}
|
|
||||||
|
|
||||||
% not so nice themes
|
|
||||||
%\usetheme{default}
|
|
||||||
%\usetheme{Antibes}
|
|
||||||
%\usetheme{Berlin}
|
|
||||||
%\usetheme{Darmstadt}
|
|
||||||
%\usetheme{Dresden}
|
|
||||||
%\usetheme{Frankfurt}
|
|
||||||
%\usetheme{Goettingen}
|
|
||||||
%\usetheme{Hannover}
|
|
||||||
%\usetheme{Ilmenau}
|
|
||||||
%\usetheme{JuanLesPins}
|
|
||||||
%\usetheme{Montpellier}
|
|
||||||
%\usetheme{Pittsburgh}
|
|
||||||
%\usetheme{Rochester}
|
|
||||||
%\usetheme{Singapore}
|
|
||||||
|
|
||||||
% As well as themes, the Beamer class has a number of color themes
|
|
||||||
% for any slide theme. Uncomment each of these in turn to see how it
|
|
||||||
% changes the colors of your current slide theme.
|
|
||||||
|
|
||||||
\usecolortheme{dolphin}
|
|
||||||
|
|
||||||
%\usecolortheme{beaver}
|
|
||||||
%\usecolortheme{whale}
|
|
||||||
%\usecolortheme{lily}
|
|
||||||
%\usecolortheme{orchid}
|
|
||||||
%\usecolortheme{rose}
|
|
||||||
%\usecolortheme{seahorse}
|
|
||||||
|
|
||||||
%\usecolortheme{albatross}
|
|
||||||
%\usecolortheme{beetle}
|
|
||||||
%\usecolortheme{crane}
|
|
||||||
%\usecolortheme{dove}
|
|
||||||
%\usecolortheme{fly}
|
|
||||||
%\usecolortheme{seagull}
|
|
||||||
%\usecolortheme{wolverine}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
%\setbeamertemplate{footline} % To remove the footer line in all slides uncomment this line
|
|
||||||
%\setbeamertemplate{footline}[page number] % To replace the footer line in all slides with a simple slide count uncomment this line
|
|
||||||
|
|
||||||
%\setbeamertemplate{navigation symbols}{} % To remove the navigation symbols from the bottom of all slides uncomment this line
|
|
||||||
\setbeamertemplate{headline}{} % removes the top bar
|
|
||||||
%\setbeamertemplate{enumerate items}[circle]
|
|
||||||
%\setbeamertemplate{enumerate items}[square]
|
|
||||||
\setbeamertemplate{enumerate items}[default]
|
|
||||||
\newcommand{\nologo}{\setbeamertemplate{logo}{}}
|
|
||||||
|
|
||||||
\usepackage{graphicx} % Allows including images
|
|
||||||
\usepackage{booktabs} % Allows the use of \toprule, \midrule and \bottomrule in tables
|
|
||||||
\usepackage{ulem} % needed for \sout (strike-out text)
|
|
||||||
\usepackage{hyperref} % can be used to create links to labels
|
|
||||||
\usepackage{appendixnumberbeamer} % use appendix, to avoid counting backup slides
|
|
||||||
\usepackage{multirow} % needed for \multirow{}{}{}
|
|
||||||
|
|
||||||
\usepackage{listings}
|
|
||||||
|
|
||||||
\lstdefinelanguage{gf}
|
|
||||||
{
|
|
||||||
morekeywords={abstract, flags, cat, fun, incomplete, concrete, of, open, in, lincat, lin, resource, param, oper, variants, table, interface, instance, def, data, lindef, printname,},
|
|
||||||
sensitive=false,
|
|
||||||
morecomment=[l]{-{}-},
|
|
||||||
morestring=[b]",
|
|
||||||
stringstyle={\textit}
|
|
||||||
}
|
|
||||||
\lstset{language=gf,captionpos=b,numbers=none, numberstyle=\tiny, numbersep=5pt, basicstyle=\footnotesize\ttfamily, escapeinside={\%*}{*)},}
|
|
||||||
|
|
||||||
%----------------------------------------------------------------------------------------
|
|
||||||
% TITLE PAGE
|
|
||||||
%----------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
% The short title appears at the bottom of every slide, the full title is only on the title page
|
|
||||||
\title[Latin grammar]{Implementation of a Latin Grammar in Grammatical Framework}
|
|
||||||
|
|
||||||
\author[Herbert Lange]{Herbert Lange\inst{1}}
|
|
||||||
|
|
||||||
\institute[University of Gothenburg]{
|
|
||||||
\begin{columns}
|
|
||||||
\begin{column}{5.5cm}
|
|
||||||
\centering
|
|
||||||
\inst{1} Computer Science and Engineering\\University of Gothenburg and Chalmers University of Technology\\Gothenburg, Sweden
|
|
||||||
\textit{herbert.lange@cse.gu.se}
|
|
||||||
\end{column}
|
|
||||||
\end{columns}
|
|
||||||
}
|
|
||||||
|
|
||||||
\date[DATeCH 2017]{DATeCH 2017, Göttingen, June 1st-2nd} % CPSS
|
|
||||||
|
|
||||||
\logo{\includegraphics[width=0.5\textwidth]{LO_CH-GU.eps}}
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\titlepage % Print the title page as the first slide
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}{Overview} % Table of contents slide, comment this block out to remove it
|
|
||||||
%% Throughout your presentation, if you choose to use \section{} and \subsection{} commands, these will automatically be printed on this slide as an overview of your presentation
|
|
||||||
\tableofcontents%[hideallsubsections]%[pausesections]
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\section{Background}
|
|
||||||
\subsection{Latin}
|
|
||||||
|
|
||||||
\begin{frame}{Latin}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Indo-European language
|
|
||||||
\item development almost from 240 b.c. to the beginning
|
|
||||||
of the 20th century (and in some fields still continues)
|
|
||||||
\item Usual focus on classic period (from the first public speeches of M. Tullius Cicero (ca.
|
|
||||||
80 b.c. to ca. 117 a.d.)
|
|
||||||
\item Strong inflectional and synthetic language
|
|
||||||
\item Rather free word order (but strong tendencies within certain text domains and time periods, also not all combinations seem to be acceptable)
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
%% {\nologo
|
|
||||||
%% \begin{frame}
|
|
||||||
%% \includegraphics[width=\textwidth]{Life-of-Brian-Latin-2}
|
|
||||||
%% \end{frame}
|
|
||||||
%% }
|
|
||||||
|
|
||||||
\subsection{Grammatical Framework}
|
|
||||||
\begin{frame}{Grammatical Framework}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Modern grammar formalism based on type theory and inspired by functional programming languages (especially Haskell)
|
|
||||||
\item Variant of context-free grammars extended by so called tables and records
|
|
||||||
\item Expressivity equivalent to Parallel Multiple Context-Free Grammars (PMCFG) (mildly context-sensitive)
|
|
||||||
\item Separation in Abstract and Concrete Syntax
|
|
||||||
\item Open Source
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}[fragile]{Example}
|
|
||||||
\begin{lstlisting}
|
|
||||||
param Number = Sg | Pl ;
|
|
||||||
param Case = Nom | Acc | Dat | Abl | Voc ;
|
|
||||||
param Gen = Masc | Fem | Neutr ;
|
|
||||||
|
|
||||||
lincat N = { s : Number => Case => Str ; g : Gender } ;
|
|
||||||
|
|
||||||
lin
|
|
||||||
man_N = {
|
|
||||||
s = table {
|
|
||||||
Sg => table {
|
|
||||||
Nom => "vir" ; Acc => "virum " ; Gen => "viri" ;
|
|
||||||
Dat => "viro" ; Abl => "viro" ; Voc => "vir" } ;
|
|
||||||
Pl => table {
|
|
||||||
Nom => "viri" ; Acc => "viros" ; Gen => "virorum" ;
|
|
||||||
Dat => "viris" ; Abl => "viris" ; Voc => "viri" ; }
|
|
||||||
} ;
|
|
||||||
g = Masc
|
|
||||||
}
|
|
||||||
\end{lstlisting}
|
|
||||||
% Here I should come up with a minimal example of a grammar with tables and records
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\subsection{Resource Grammar Library}
|
|
||||||
|
|
||||||
\begin{frame}{Resource Grammar Library}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Grammarians equivalent to a Programming Languages standard library
|
|
||||||
\item Common basis for multilingual applications (and machine translation)
|
|
||||||
\item Also Open Source, and this grammar is part of it
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\section{Grammar}
|
|
||||||
|
|
||||||
\begin{frame}{General Concept}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Originally: Translate information from a standard (school) grammar book into a computerized form
|
|
||||||
\item Implement the RGL abstract syntax
|
|
||||||
\item Now: Application-specific resources especially for language learning
|
|
||||||
\item Constituent grammar not dependency grammar (not as cool but conversion between GF trees and UD is possible)
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Lexicon}
|
|
||||||
\begin{frame}{Lexicon}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Basic Lexicon with ca 350 entries
|
|
||||||
\item Contains mostly base forms, uses morphological rules to generate the whole paradigms
|
|
||||||
\item Main problem: modern concepts (e.g. refrigerator) and homonyms (e.g. bank)
|
|
||||||
\item Use of web-based and collaborative resources (e.g. Latin Wikipedia, Wiktionary)
|
|
||||||
\item Work in progress: Adopt other lexical resources
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Morphology}
|
|
||||||
\begin{frame}{Morphology}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Strongly inflectional but quite regular morphology
|
|
||||||
\item Use as little information as possible to generate the whole paradigm (smart paradigms)
|
|
||||||
\item Several inflection classes for different lexical categories
|
|
||||||
\item Use tables for word forms depending on grammatical features
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}[fragile]
|
|
||||||
\begin{table}
|
|
||||||
\resizebox{\textwidth}{!}{
|
|
||||||
\begin{tabular}{l|l|l|l}
|
|
||||||
Word class & Inherent & Parametric & No. of Inflection classes\\
|
|
||||||
\hline
|
|
||||||
Noun & Gender & Number, Case & 5\\
|
|
||||||
Adjective & & Degree, Gender, Number, Case & 3\\
|
|
||||||
Verb (active) & & Anteriority, Tense, Number, Person & 4 regular, 4 deponent \\
|
|
||||||
Determiner & Number & Gender, Case \\
|
|
||||||
\end{tabular}}
|
|
||||||
\end{table}
|
|
||||||
\begin{table}[h]
|
|
||||||
{\small
|
|
||||||
\begin{tabular}{l|l}
|
|
||||||
Feature & Values \\
|
|
||||||
\hline
|
|
||||||
Gender & Feminine, Masculine, Neuter \\
|
|
||||||
Number & Singular, Plural \\
|
|
||||||
Case & Nominative, Genitive, Dative, Accusative, Ablative, Vocative\\
|
|
||||||
Degree & Positive, Comparative, Superlative \\
|
|
||||||
Anteriority & Anterior, Simultaneous \\
|
|
||||||
Tense & Present Indicative, Present Subjunctive, Imperfect Indicative, \\
|
|
||||||
& Imperfect Subjunctive, Future Indicative, Future Subjunctive\\
|
|
||||||
Person & 1, 2, 3 \\
|
|
||||||
\end{tabular}}
|
|
||||||
\end{table}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Syntax}
|
|
||||||
\begin{frame}{Syntax}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Syntax rules use basic and smaller parts to assemble larger parts up to the sentence level
|
|
||||||
\item Challenge: Free word order
|
|
||||||
\item Decision what parts can be completely assembled at what point (and what has to be kept apart)
|
|
||||||
\item Use records to keep parts of a phrase separate
|
|
||||||
\item Postpone decision on word order as long as possible
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\section{Results}
|
|
||||||
|
|
||||||
\begin{frame}{Results}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Comprehensive Latin morphology
|
|
||||||
\item Implemented about 1/3 of the RGL syntactic functions (but some of them are rather obscure)
|
|
||||||
\item Already usable in applications
|
|
||||||
\item Future: Adding rules as they are needed and large-scale evaluation
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\section{Applications}
|
|
||||||
|
|
||||||
\begin{frame}{Applications}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Our main focus: Language learning\\
|
|
||||||
Grammar-based and gamified computer-aided language learning application for beginner's level
|
|
||||||
\item Other possible applications in Digital Humanities\\
|
|
||||||
Giving access to cultural heritage e.g. with a translation app for epigraphs
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
{\huge
|
|
||||||
Thanks for your attention \\[3em]
|
|
||||||
\pause
|
|
||||||
Questions? \\[2em]
|
|
||||||
}
|
|
||||||
Source:\\ \url{wwww.grammaticalframework.org} and \url{https://github.com/daherb/GF-latin}
|
|
||||||
\end{frame}
|
|
||||||
% backup slides
|
|
||||||
\appendix
|
|
||||||
|
|
||||||
%% {\nologo
|
|
||||||
%% \begin{frame}
|
|
||||||
%% \begin{center} \includegraphics[scale=0.5]{delirant-isti-romani} \end{center}
|
|
||||||
%% \end{frame}
|
|
||||||
%% }
|
|
||||||
|
|
||||||
|
|
||||||
{\nologo
|
|
||||||
\begin{frame}[fragile]
|
|
||||||
\begin{lstlisting}[basicstyle=\tiny\ttfamily]
|
|
||||||
noun : Str -> Noun = \lexform ->
|
|
||||||
case lexform of {
|
|
||||||
- - noun1, noun2us/um/er, noun4 and noun5 are the functions for the different
|
|
||||||
- - declension classes. The 2nd class is split in three subclasses
|
|
||||||
_ + "a" => noun1 lexform ;
|
|
||||||
_ + "us" => noun2us lexform ;
|
|
||||||
_ + "um" => noun2um lexform ;
|
|
||||||
- - "Predef.tk n word" removes a suffix of length n from word
|
|
||||||
_ + ( "er" | "ir" ) => noun2er lexform ( (Predef.tk 2 lexform) + "ri" ) ;
|
|
||||||
_ + "u" => noun4u lexform ;
|
|
||||||
_ + "es" => noun5 lexform ;
|
|
||||||
- - Predef.error stops with a given error message
|
|
||||||
_ => Predef.error ("3rd declinsion cannot be applied " ++
|
|
||||||
"to just one noun form " ++ lexform)
|
|
||||||
} ;
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
}
|
|
||||||
|
|
||||||
{\nologo
|
|
||||||
\begin{frame}[fragile]
|
|
||||||
\begin{lstlisting}[basicstyle=\tiny\ttfamily]
|
|
||||||
mkClause : NounPhrase -> VerbPhrase -> Clause = \np,vp -> {
|
|
||||||
s = \\tense,anter,pol,vqf,order => case order of {
|
|
||||||
SVO => np.s ! Nom ++ negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf ++ vp.obj ;
|
|
||||||
VSO => negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf ++ np.s ! Nom ++ vp.obj ;
|
|
||||||
VOS => negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf ++ vp.obj ++ np.s ! Nom ;
|
|
||||||
OSV => vp.obj ++ np.s ! Nom ++ negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf ;
|
|
||||||
OVS => vp.obj ++ negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf ++ np.s ! Nom ;
|
|
||||||
SOV => np.s ! Nom ++ vp.obj ++ negation pol ++ vp.compl ! Ag np.g np.n Nom ++ vp.s ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ! vqf
|
|
||||||
}
|
|
||||||
} ;
|
|
||||||
\end{lstlisting}
|
|
||||||
\end{frame}
|
|
||||||
}
|
|
||||||
\end{document}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -1,227 +0,0 @@
|
|||||||
%\documentclass[handout]{beamer}
|
|
||||||
\documentclass{beamer}
|
|
||||||
%\usetheme{Singapore} % anderes Layout
|
|
||||||
%\usetheme{Antibes} % anderes Layout
|
|
||||||
%\usecolortheme{lily}
|
|
||||||
\usetheme{Antibes}
|
|
||||||
\usecolortheme{beaver}
|
|
||||||
\setbeamertemplate{footline}[frame number]
|
|
||||||
\usepackage{color}
|
|
||||||
\usepackage{german}
|
|
||||||
\usepackage{latexsym,amssymb}
|
|
||||||
\usepackage{amsmath} % für begin{cases} ... \end{cases}
|
|
||||||
%\usepackage[utf8]{inputenc}
|
|
||||||
%\usepackage[T1]{fontenc}
|
|
||||||
%\usepackage{algorithm}
|
|
||||||
%\usepackage{algorithmicx}
|
|
||||||
%\usepackage{algpseudocode}
|
|
||||||
\usepackage{multicol}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{fontspec}
|
|
||||||
|
|
||||||
\setbeamertemplate{footline}[frame number]
|
|
||||||
\parindent0pt
|
|
||||||
\parskip1.2ex
|
|
||||||
|
|
||||||
\def\nat{{\mathbb N}}
|
|
||||||
\def\bool{{\mathbb B}}
|
|
||||||
\def\real{{\mathbb R}}
|
|
||||||
|
|
||||||
\title[Implementierung einer Lateingrammatik]{Implementierung einer Lateingrammatik im Grammatical Framework \\ \quad \\ \large Kolloquium Computerlinguistisches Arbeiten SS 2013 }
|
|
||||||
\author{Herbert Lange}
|
|
||||||
|
|
||||||
\date{\today}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
\frame{\titlepage}
|
|
||||||
|
|
||||||
\section*{Überblick}
|
|
||||||
\subsection*{Inhalt}
|
|
||||||
\begin{frame}{Inhalt}
|
|
||||||
%\begin{multicols}{2}
|
|
||||||
\tableofcontents
|
|
||||||
%\end{multicols}
|
|
||||||
\end{frame}
|
|
||||||
\section{Einführung}
|
|
||||||
\subsection{Das Grammatical Framework}
|
|
||||||
\begin{frame}[fragile]{Das Grammatical Framework}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Mächtigkeit äquivalent zu PMCFG (Parallel Multiple Context-Free Grammars)
|
|
||||||
$\rightarrow$ zwischen mild und voll kontextsensitiv
|
|
||||||
\item Trennung von abstrakter und konkreter Syntax
|
|
||||||
\item Verschiedene API-Ebenen und Einbindungsmöglichkeiten (u.a. Java, JavaScript)
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Die Ressource Grammar Library}
|
|
||||||
\begin{frame}{Die Ressource Grammar Library}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Minimaler Satz gemeinsamer Bestandteile verschiedener Sprachen (Beispielvokabular, Wort-/Satzarten, Syntaxregeln)
|
|
||||||
\item ca. 38 Sprachen voll oder teilweise umgesetzt
|
|
||||||
\item ca. 43 geschlossene Kategorien (Determiner, ...) und Phrasentypen
|
|
||||||
\item ca. 22 offene Kategorien (Nomen, Verben, Adjektive, ...)
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}
|
|
||||||
|
|
||||||
\begin{block}{}
|
|
||||||
{\scriptsize\ttfamily
|
|
||||||
%> i alltenses/LangGer.gfo \\
|
|
||||||
% linking ... OK \\
|
|
||||||
% Languages: LangGer \\
|
|
||||||
% 47884 msec \\
|
|
||||||
Lang> p ''der Mann sieht die Frau'' \\
|
|
||||||
PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN man\_N)) (ComplSlash (SlashV2a see\_V2) (DetCN (DetQuant DefArt NumSg) (UseN woman\_N)))))) NoVoc
|
|
||||||
}
|
|
||||||
\end{block}
|
|
||||||
{\tiny
|
|
||||||
\begin{center}
|
|
||||||
\begin{tabular}{|l|l|l|l|}
|
|
||||||
\hline
|
|
||||||
Funktion & Typ & Argumente & Übersetzung\\
|
|
||||||
\hline
|
|
||||||
PhrUtt & Phr & (PConj) Utt (Voc) & der Mann sieht die Frau \\
|
|
||||||
NoPConj & PConj & & (Keine Konjunktion) \\
|
|
||||||
UttS & Utt & S & der Mann sieht die Frau \\
|
|
||||||
UseCl & S & (Temp) (Pol) Cl & der Mann sieht die Frau \\
|
|
||||||
TTAnt & Temp & Tense Ant & (Tempus und Aspekt) \\
|
|
||||||
TPres & Tense & & (Präsens) \\
|
|
||||||
ASimul & Ant & & (Gleichzeitigkeit) \\
|
|
||||||
PPos & Pol & & (Positive Aussage) \\
|
|
||||||
PredVP & Cl & NP VP & der Mann sehen die Frau \\
|
|
||||||
DetCN & NP & Det CN & der Mann \\
|
|
||||||
DetQuant & Det & Quant Num & der \\
|
|
||||||
DefArt & Quant & & der \\
|
|
||||||
NumSg & Num & & (Singular) \\
|
|
||||||
UseN & CN & N & Mann \\
|
|
||||||
man\_N & N & & Mann \\
|
|
||||||
ComplSlash & VP & VPSlash NP & sehen die Frau \\
|
|
||||||
%SlashV2a & VPSlash & V2 & sehen \\
|
|
||||||
%see\_V2 & V2 & & sehen \\
|
|
||||||
\multicolumn{4}{|c|}{...} \\
|
|
||||||
NoVoc & Voc & & (Keine Anrede) \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{center}
|
|
||||||
}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Die Lateinische Sprache}
|
|
||||||
\begin{frame}[fragile]{Die Lateinische Sprache}
|
|
||||||
Teil der indogermanischen Sprachfamilie $\rightarrow$ Ähnlichkeiten zu germanischen Sprachen so wie dem Griechischen \\
|
|
||||||
\begin{center}
|
|
||||||
\begin{tabular}{|l|l|l|}
|
|
||||||
\hline
|
|
||||||
lateinisch & griechisch & deutsch \\
|
|
||||||
\hline
|
|
||||||
pater & patér & Vater \\
|
|
||||||
ager & agrós & Acker \\
|
|
||||||
trēs & treĩs & drei \\
|
|
||||||
decem & déka & zehn \\
|
|
||||||
est & estí & ist \\
|
|
||||||
\hline
|
|
||||||
\end{tabular}
|
|
||||||
\end{center}
|
|
||||||
Ursprünglich Sprache der Bewohner der mittelitalienischen Region Latium
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}{Sprachliche Besonderheiten}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Sehr freie Satzstellung $\rightarrow$ aber meist Verwendung von Subjekt-Objekt-Verb
|
|
||||||
\item Flektierende Sprache mit synthetischer Syntax (Abl. abs. und AcI)
|
|
||||||
\begin{itemize}
|
|
||||||
\item Augusto regente pax erat in toto imperio romano $\rightarrow$ Als/weil Augustus regierte, herrschte im ganzen römischen Reich Frieden.
|
|
||||||
\item Imperatorem venire audit $\rightarrow$ Er hört, dass der Imperator kommt.
|
|
||||||
\end{itemize}
|
|
||||||
\item Ablativ und Vokativ als eigene Fälle
|
|
||||||
\item Fehlen von Artikel
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\section{Umsetzung}
|
|
||||||
\begin{frame}{Umsetzung}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Lexikon der RGL
|
|
||||||
\item Morphologie der RGL
|
|
||||||
\item Syntax der RGL
|
|
||||||
\item Optional: rein sprachspezifische Konstrukte
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Lexikon}
|
|
||||||
\begin{frame}{Lexikon}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Ca. 400 vorgegebene englische Wörter aus allen möglichen Wortarten und verschiedenen Bereichen
|
|
||||||
\item Keine Klärung von Ambiguitäten (z.B. bank) $\rightarrow$ willkürliche Wahl der Übersetzung
|
|
||||||
\item Viele moderne Begriffe (Auto, Eisenbahn, Computer, Fernseher) $\rightarrow$ Übersetzung mit Hilfe der Wikipedia
|
|
||||||
\item Begriffe ohne auffindbare Übersetzung (ein-/ausschalten) $\rightarrow$ Wahl eines nahe liegenden Wortes (accendere/exstinguere)
|
|
||||||
\item Manche Differenzierungen nicht in jeder Sprache möglich
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}{}
|
|
||||||
\begin{block}{Beispiel}
|
|
||||||
{\scriptsize\ttfamily
|
|
||||||
blue\_A = mkA ( variants { ''caeruleus'' ; ''caerulus'' } ) ; -- 3 L... \\
|
|
||||||
boat\_N = mkN ''navicula'' ; -- -ae f. L... \\
|
|
||||||
book\_N = mkN ''liber'' ''libri'' masculine ; -- Ranta; -bri m. L... \\
|
|
||||||
boot\_N = mkN ''calceus'' ; -- -i m. L... \\
|
|
||||||
boss\_N = mkN ''dux'' ''ducis'' ( variants { feminine ; masculine } ) ; -- ducis m./f. L... \\
|
|
||||||
boy\_N = mkN ''puer'' ''pueri'' masculine ; -- -eri m. L... \\
|
|
||||||
bread\_N = ( variants { (mkN ''panis'' ''panis'' masculine ) ; mkN ''pane'' } ) ; -- -is m./n. L... \\
|
|
||||||
break\_V2 = mkV2 (mkV ''rumpo'' ''rupi'' ''ruptum'' ''rumpere'') ; -- Ranta; 3 L...
|
|
||||||
}
|
|
||||||
\end{block}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Morphologie}
|
|
||||||
\begin{frame}{Morphologie}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Einteilung in vier Gruppen: Nomina (Substantive, Adjektive, Pronomina, Numeralia), Verben, Partikel (Adverbien, Präpositionen, Konjunktionen), Interjektionen. Es gibt keine Artikel
|
|
||||||
\item Nomina und Verben werden flektiert, Partikel und Interjektionen werden nicht flektiert
|
|
||||||
\item Fünf Nomendeklinationen, drei Adjektivdeklinationen, Adjektivkomparation, Adverbbildung, vier Verbkonjugationen, Deponentia
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}{Smart Paradigms}
|
|
||||||
Pattern Matching um für ein Wort aus möglichst wenig Formen das Paradigma zu bestimmen
|
|
||||||
\begin{block}{Beispiel}
|
|
||||||
{\scriptsize\ttfamily
|
|
||||||
noun : Str -> Noun = \textbackslash verbum -> \\
|
|
||||||
case verbum of \{ \\
|
|
||||||
\_ + ''a'' => noun1 verbum ; \\
|
|
||||||
\_ + ''us'' => noun2us verbum ; \\
|
|
||||||
\_ + ''um'' => noun2um verbum ; \\
|
|
||||||
\_ + ''er'' => noun2er verbum ; \\
|
|
||||||
\_ + ''u'' => noun4u verbum ; \\
|
|
||||||
\_ + ''es'' => noun5 verbum ; \\
|
|
||||||
\_ => noun3 verbum \\
|
|
||||||
\} ;
|
|
||||||
}
|
|
||||||
\end{block}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Syntax}
|
|
||||||
\begin{frame}{Syntax}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Problem: Freie Wortstellung im Satz $\rightarrow$ Variationen erhöhen die Komplexität exponentiell
|
|
||||||
\item Zunächst: Beschränkung auf SOV-Wortstellung (Subjekt-Objekt-Verb)
|
|
||||||
\item Später: Suche nach performanten Implementierungsmöglichkeiten für beschränkte oder volle Variation
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\subsection{Ausblick}
|
|
||||||
\begin{frame}{Ausblick}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Anbinden eines größeres Lexikons
|
|
||||||
\item Integration in eine Weboberfläche oder eine Android-App
|
|
||||||
\item Anwendung in der Lehre (Translation Quiz)
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\section{Abschluss}
|
|
||||||
\begin{frame}{Zusammenfassung}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Lexikon mit ca. 400 teils modernen Wörtern
|
|
||||||
\item Morphologie mit Smart Paradigms
|
|
||||||
\item Syntax mit möglichst freier Wortstellung
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}{Literatur}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Bayer, Karl u. Lindauer, Josef: Lateinische Grammatik, C.C. Buchners Verlag, Bamberg 1994
|
|
||||||
\item Leuman, M./Hofmann, J.B./ Szantyr, A.: Lateinische Grammatik. Auf der Grundlage des Werkes von Friedrich Stolz und Joseph Hermann Schmalz; Band 2: Lateinische Syntax und Stilistik, C.H. Beck'sche Verlagsbuchhandlung, München 1972
|
|
||||||
\item Ranta, Aarne: Grammatical Framework. Programming with Multilingual Grammars, CSLI Publications, Stanford 2011
|
|
||||||
\item Ranta, Aarne: Grammatical Framework Tutorial, http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html 2010
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\end{document}
|
|
||||||
Binary file not shown.
@@ -1,101 +0,0 @@
|
|||||||
|
|
||||||
@inproceedings{BAMMAN2006,
|
|
||||||
author = {Bamman, David and Crane, Gregory},
|
|
||||||
title = {The Design and Use of a Latin Dependency Treebank},
|
|
||||||
journal = {Procedings of the TLT},
|
|
||||||
year = {2006},
|
|
||||||
pages = {67-78},
|
|
||||||
editor = {Hajic, Jan and Nivre, Joakim},
|
|
||||||
booktitle = {Proceedings of the Fifth International Treebanks and Linguistic Theories Conference},
|
|
||||||
organization = {Institute of Formal and Applied Linguistics, Faculty of Mathematics and Physics, Charles University},
|
|
||||||
url = {http://hdl.handle.net/10427/42684},
|
|
||||||
address = {Prag}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{BAYER-LINDAUER1994,
|
|
||||||
title = {Lateinische Grammatik},
|
|
||||||
editor = {Bayer, Karl and Lindauer, Josef},
|
|
||||||
publisher = {C.C. Buchners Verlag, J. Lindauer Verlag, R. Oldenburg Verlag},
|
|
||||||
year = {1994},
|
|
||||||
city = {Bamberg, M"unchen},
|
|
||||||
edition = {2. Auflage, auf der Grundlage der Lateinischen Schulgrammatik von Landgraf-Leitschuh neu bearbeitet}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{HOPCROFT1979,
|
|
||||||
author = {Hopcroft, John E. and Ullman, Jeffrey D.},
|
|
||||||
title = {Introduction to Automata Theory, Languages and Computation},
|
|
||||||
publisher = {Addison-Wesley Publishing Company},
|
|
||||||
year = {1979},
|
|
||||||
city = {Reading MA, Menlo Park CA, London, Amsterdam, Don Mills ON, Sydney}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{LANGENSCHEIDT1981,
|
|
||||||
title = {Langenscheidts Schulw"orterbuch Lateinisch},
|
|
||||||
subtitle = {Lateinisch-Deutsch Deutsch-Latein},
|
|
||||||
edition = {14. Auflage},
|
|
||||||
editor = {Pertsch, {\relax Dr.} Erich and Lange-Kowal, {\relax Dr.} Ernst Erwin},
|
|
||||||
publisher = {Langenscheidt},
|
|
||||||
year = {1981},
|
|
||||||
city = {Berlin, M"uenchen, Wien, Z"urich}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{METZLER2004,
|
|
||||||
publisher = {Directmedia},
|
|
||||||
title = {Metzler Lexikon Sprache},
|
|
||||||
year = {2004},
|
|
||||||
city = {Berlin},
|
|
||||||
editor = {Gl"uck, Helmut},
|
|
||||||
series = {Digitale Bibliothek},
|
|
||||||
number = {34},
|
|
||||||
edition = {2. Auflage}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{MUELLER-LANCE2006,
|
|
||||||
author = {M"uller-Lanc\'e, Johannes},
|
|
||||||
title = {Latein f"ur Romanisten},
|
|
||||||
publisher = {Gunter Narr Verlag},
|
|
||||||
city = {T"ubingen},
|
|
||||||
year = {2006},
|
|
||||||
subtitle = {Ein Lehr- und Arbeitsbuch},
|
|
||||||
edition = {1. Auflage}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{NEUE1897,
|
|
||||||
author = {Neue, Friedrich},
|
|
||||||
title = {Formenlehre der lateinischen Sprache},
|
|
||||||
publisher = {S. Calvary & Co.},
|
|
||||||
year = {1897},
|
|
||||||
city = {Berlin},
|
|
||||||
volume = {Band 3},
|
|
||||||
subtitle = {Das Verb},
|
|
||||||
edition = {3. sehr vermehrte Auflage}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{PONS2012,
|
|
||||||
title = {Sch"ulerw"orterbuch Latein},
|
|
||||||
editor = {Dralle, Anette and Federking, Walther and Vetter, Gregor},
|
|
||||||
publisher = {PONS GmbH},
|
|
||||||
year = {2012},
|
|
||||||
city = {Stuttgart},
|
|
||||||
subtitle = {Latein-Deutsch und Deutsch-Latein},
|
|
||||||
edition = {1. Auflage}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{RANTA2011,
|
|
||||||
author = {Ranta, Aarne},
|
|
||||||
title = {Grammatical Framework},
|
|
||||||
publisher = {CSLL Studies in Computational Linguistics},
|
|
||||||
year = {2011},
|
|
||||||
subtitle = {Programming with Multilingual Grammars},
|
|
||||||
city = {Stanford, California}
|
|
||||||
}
|
|
||||||
|
|
||||||
@book{SCHOENING2008,
|
|
||||||
author = {Sch"oning, Uwe},
|
|
||||||
title = {Theoretische Intormatik - kurz gefasst},
|
|
||||||
publisher = {Spektrum Akademischer Verlag},
|
|
||||||
year = {2008},
|
|
||||||
city = {Heidelberg},
|
|
||||||
edition = {5. Auflage}
|
|
||||||
}
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,56 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/AdjectiveLat.gf b/lib/src/latin/AdjectiveLat.gf
|
|
||||||
index 9b0f345..7aa096a 100644
|
|
||||||
--- a/lib/src/latin/AdjectiveLat.gf
|
|
||||||
+++ b/lib/src/latin/AdjectiveLat.gf
|
|
||||||
@@ -1,39 +1,45 @@
|
|
||||||
concrete AdjectiveLat of Adjective = CatLat ** open ResLat, Prelude in {
|
|
||||||
|
|
||||||
|
|
||||||
lin
|
|
||||||
|
|
||||||
- PositA a = a ;
|
|
||||||
+ PositA a = -- A -> AP
|
|
||||||
+ {
|
|
||||||
+ s = table { Ag g n c => a.s ! Posit ! Ag g n c } ;
|
|
||||||
+ };
|
|
||||||
|
|
||||||
{-
|
|
||||||
ComparA a np = {
|
|
||||||
s = \\_ => a.s ! AAdj Compar ++ "than" ++ np.s ! Nom ;
|
|
||||||
isPre = False
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- $SuperlA$ belongs to determiner syntax in $Noun$.
|
|
||||||
|
|
||||||
ComplA2 a np = {
|
|
||||||
s = \\_ => a.s ! AAdj Posit ++ a.c2 ++ np.s ! Acc ;
|
|
||||||
isPre = False
|
|
||||||
} ;
|
|
||||||
|
|
||||||
ReflA2 a = {
|
|
||||||
s = \\ag => a.s ! AAdj Posit ++ a.c2 ++ reflPron ! ag ;
|
|
||||||
isPre = False
|
|
||||||
} ;
|
|
||||||
|
|
||||||
SentAP ap sc = {
|
|
||||||
s = \\a => ap.s ! a ++ sc.s ;
|
|
||||||
isPre = False
|
|
||||||
} ;
|
|
||||||
-}
|
|
||||||
|
|
||||||
- AdAP ada ap = {
|
|
||||||
- s = \\g,n,c => ada.s ++ ap.s ! g ! n ! c ;
|
|
||||||
- isPre = ap.isPre
|
|
||||||
- } ;
|
|
||||||
+ -- AdAP ada ap = {
|
|
||||||
+ -- s = \\g,n,c => ada.s ++ ap.s ! g ! n ! c ;
|
|
||||||
+ -- isPre = ap.isPre
|
|
||||||
+ -- } ;
|
|
||||||
|
|
||||||
--- UseA2 a = a ;
|
|
||||||
+ UseA2 a = -- A2 -> AP
|
|
||||||
+ {
|
|
||||||
+ s = table { Ag g n c => a.s ! Posit ! Ag g n c } ;
|
|
||||||
+ } ;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/AdverbLat.gf b/lib/src/latin/AdverbLat.gf
|
|
||||||
index b959ab8..d3cb693 100644
|
|
||||||
--- a/lib/src/latin/AdverbLat.gf
|
|
||||||
+++ b/lib/src/latin/AdverbLat.gf
|
|
||||||
@@ -1,21 +1,21 @@
|
|
||||||
concrete AdverbLat of Adverb = CatLat ** open ResLat, Prelude in {
|
|
||||||
|
|
||||||
- lin
|
|
||||||
+-- lin
|
|
||||||
-- PositAdvAdj a = {s = a.s ! AAdv} ;
|
|
||||||
-- ComparAdvAdj cadv a np = {
|
|
||||||
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ np.s ! Nom
|
|
||||||
-- } ;
|
|
||||||
-- ComparAdvAdjS cadv a s = {
|
|
||||||
-- s = cadv.s ++ a.s ! AAdv ++ "than" ++ s.s
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
- PrepNP prep np = {s = appPrep prep np.s} ;
|
|
||||||
+-- PrepNP prep np = {s = appPrep prep np.s} ;
|
|
||||||
|
|
||||||
-- AdAdv = cc2 ;
|
|
||||||
--
|
|
||||||
-- SubjS = cc2 ;
|
|
||||||
-----b AdvSC s = s ; --- this rule give stack overflow in ordinary parsing
|
|
||||||
--
|
|
||||||
-- AdnCAdv cadv = {s = cadv.s ++ "than"} ;
|
|
||||||
--
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/AllLat.gf b/lib/src/latin/AllLat.gf
|
|
||||||
index 79f9117..902c652 100644
|
|
||||||
--- a/lib/src/latin/AllLat.gf
|
|
||||||
+++ b/lib/src/latin/AllLat.gf
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
--# -path=.:../abstract:../common:prelude
|
|
||||||
|
|
||||||
concrete AllLat of AllLatAbs =
|
|
||||||
- LangLat
|
|
||||||
--- ExtraLat
|
|
||||||
+ LangLat,
|
|
||||||
+ ExtraLat
|
|
||||||
** {} ;
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/AllLatAbs.gf b/lib/src/latin/AllLatAbs.gf
|
|
||||||
index 7b7af3f..ba468a1 100644
|
|
||||||
--- a/lib/src/latin/AllLatAbs.gf
|
|
||||||
+++ b/lib/src/latin/AllLatAbs.gf
|
|
||||||
@@ -1 +1,7 @@
|
|
||||||
-abstract AllLatAbs = Lang ;
|
|
||||||
+--# -path=.:../abstract:../common:prelude
|
|
||||||
+
|
|
||||||
+abstract AllLatAbs =
|
|
||||||
+ Lang,
|
|
||||||
+ IrregLatAbs-[can_VV,go_V],
|
|
||||||
+ ExtraLatAbs
|
|
||||||
+ ** {} ;
|
|
||||||
@@ -1,130 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/CatLat.gf b/lib/src/latin/CatLat.gf
|
|
||||||
index 8d85714..af48f02 100644
|
|
||||||
--- a/lib/src/latin/CatLat.gf
|
|
||||||
+++ b/lib/src/latin/CatLat.gf
|
|
||||||
@@ -1,88 +1,91 @@
|
|
||||||
concrete CatLat of Cat = CommonX ** open ResLat, Prelude in {
|
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
|
||||||
|
|
||||||
lincat
|
|
||||||
|
|
||||||
---- Tensed/Untensed
|
|
||||||
--
|
|
||||||
--- S = {s : Str} ;
|
|
||||||
--- QS = {s : QForm => Str} ;
|
|
||||||
+ S = {s : Str} ;
|
|
||||||
+ QS = {s : QForm => Str} ;
|
|
||||||
-- RS = {s : Agr => Str ; c : Case} ; -- c for it clefts
|
|
||||||
-- SSlash = {s : Str ; c2 : Str} ;
|
|
||||||
--
|
|
||||||
---- Sentence
|
|
||||||
--
|
|
||||||
- Cl = {s : VAnter => VTense => Polarity => Str} ;
|
|
||||||
+ Cl = { s : Tense => Anteriority => Polarity => Order => Str } ;
|
|
||||||
-- ClSlash = {
|
|
||||||
--- s : ResLat.Tense => Anteriority => CPolarity => Order => Str ;
|
|
||||||
+-- s : ResLat.Tense => Anteriority => Polarity => Order => Str ;
|
|
||||||
-- c2 : Str
|
|
||||||
-- } ;
|
|
||||||
--- Imp = {s : CPolarity => ImpForm => Str} ;
|
|
||||||
+ Imp = {s : Polarity => ImpForm => Str} ;
|
|
||||||
--
|
|
||||||
---- Question
|
|
||||||
--
|
|
||||||
--- QCl = {s : ResLat.Tense => Anteriority => CPolarity => QForm => Str} ;
|
|
||||||
--- IP = {s : Case => Str ; n : Number} ;
|
|
||||||
--- IComp = {s : Str} ;
|
|
||||||
--- IDet = {s : Str ; n : Number} ;
|
|
||||||
--- IQuant = {s : Number => Str} ;
|
|
||||||
+ QCl = {s : ResLat.Tense => Anteriority => Polarity => QForm => Str} ;
|
|
||||||
+ IP = {s : Case => Str ; n : Number} ;
|
|
||||||
+ IComp = {s : Str} ;
|
|
||||||
+ IDet = Determiner ; --{s : Str ; n : Number} ;
|
|
||||||
+ IQuant = {s : Agr => Str} ;
|
|
||||||
--
|
|
||||||
---- Relative
|
|
||||||
--
|
|
||||||
-- RCl = {
|
|
||||||
-- s : ResLat.Tense => Anteriority => CPolarity => Agr => Str ;
|
|
||||||
-- c : Case
|
|
||||||
-- } ;
|
|
||||||
-- RP = {s : RCase => Str ; a : RAgr} ;
|
|
||||||
--
|
|
||||||
---- Verb
|
|
||||||
--
|
|
||||||
- VP = ResLat.VP ;
|
|
||||||
- VPSlash = ResLat.VP ** {c2 : Preposition} ;
|
|
||||||
- Comp = {s : Gender => Number => Case => Str} ;
|
|
||||||
+ VP = ResLat.VerbPhrase ;
|
|
||||||
+ VPSlash = VP ** {c2 : Preposition} ;
|
|
||||||
+ Comp = {s : Agr => Str} ;
|
|
||||||
--
|
|
||||||
---- Adjective
|
|
||||||
--
|
|
||||||
- AP = Adjective ** {isPre : Bool} ; ---- {s : Agr => Str ; isPre : Bool} ;
|
|
||||||
+-- AP = Adjective ** {isPre : Bool} ; ---- {s : Agr => Str ; isPre : Bool} ;
|
|
||||||
+ AP =
|
|
||||||
+ {
|
|
||||||
+ s : Agr => Str ;
|
|
||||||
+-- isPre : Bool ; -- should have no use in latin because adjectives can appear variably before and after nouns
|
|
||||||
+ } ;
|
|
||||||
--
|
|
||||||
---- Noun
|
|
||||||
--
|
|
||||||
- CN = {s : Number => Case => Str ; g : Gender} ;
|
|
||||||
- NP, Pron = {s : Case => Str ; g : Gender ; n : Number ; p : Person} ;
|
|
||||||
+ CN = ResLat.CommonNoun ;
|
|
||||||
+ NP = ResLat.NounPhrase ;
|
|
||||||
+ Pron = ResLat.Pronoun ;
|
|
||||||
Det = Determiner ;
|
|
||||||
--- Predet, Ord = {s : Str} ;
|
|
||||||
+ Predet, Ord = {s : Str} ;
|
|
||||||
Num = {s : Gender => Case => Str ; n : Number} ;
|
|
||||||
-- Card = {s : Str ; n : Number} ;
|
|
||||||
Quant = Quantifier ;
|
|
||||||
--
|
|
||||||
---- Numeral
|
|
||||||
--
|
|
||||||
-- Numeral = {s : CardOrd => Str ; n : Number} ;
|
|
||||||
Digits = {s : Str ; unit : Unit} ;
|
|
||||||
--
|
|
||||||
---- Structural
|
|
||||||
--
|
|
||||||
Conj = {s1,s2 : Str ; n : Number} ;
|
|
||||||
--- Subj = {s : Str} ;
|
|
||||||
- Prep = {s : Str ; c : Case} ;
|
|
||||||
+ Subj = {s : Str} ;
|
|
||||||
+ Prep = ResLat.Preposition ;
|
|
||||||
--
|
|
||||||
---- Open lexical classes, e.g. Lexicon
|
|
||||||
|
|
||||||
- V = Verb ;
|
|
||||||
- V2 = Verb ** {c : Preposition} ;
|
|
||||||
--- V, VS, VQ, VA = Verb ; -- = {s : VForm => Str} ;
|
|
||||||
--- V2, V2A, V2Q, V2S = Verb ** {c2 : Str} ;
|
|
||||||
--- V3 = Verb ** {c2, c3 : Str} ;
|
|
||||||
--- VV = {s : VVForm => Str ; isAux : Bool} ;
|
|
||||||
--- V2V = Verb ** {c2 : Str ; isAux : Bool} ;
|
|
||||||
---
|
|
||||||
- A = Adjective ** {isPre : Bool} ;
|
|
||||||
--- A2 = {s : AForm => Str ; c2 : Str} ;
|
|
||||||
---
|
|
||||||
+ V, VS, VQ, VA = ResLat.Verb ; -- = {s : VForm => Str} ;
|
|
||||||
+ V2, V2A, V2Q, V2S = Verb ** {c : Prep } ;
|
|
||||||
+ V3 = Verb ** {c2, c3 : Prep} ;
|
|
||||||
+ VV = ResLat.VV ;
|
|
||||||
+ V2V = Verb ** {c2 : Str ; isAux : Bool} ;
|
|
||||||
+
|
|
||||||
+ A = Adjective ;
|
|
||||||
+
|
|
||||||
N = Noun ;
|
|
||||||
--- N2 = {s : Number => Case => Str ; g : Gender} ** {c2 : Str} ;
|
|
||||||
--- N3 = {s : Number => Case => Str ; g : Gender} ** {c2,c3 : Str} ;
|
|
||||||
- PN = {s : Case => Str ; g : Gender} ;
|
|
||||||
---
|
|
||||||
+ N2 = Noun ** { c : Prep } ;
|
|
||||||
+ N3 = Noun ** { c : Prep ; c2 : Prep } ;
|
|
||||||
+ PN = Noun ;
|
|
||||||
+ A2 = Adjective ** { c : Prep} ;
|
|
||||||
}
|
|
||||||
@@ -1,82 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/ConjunctionLat.gf b/lib/src/latin/ConjunctionLat.gf
|
|
||||||
index a857eef..125767d 100644
|
|
||||||
--- a/lib/src/latin/ConjunctionLat.gf
|
|
||||||
+++ b/lib/src/latin/ConjunctionLat.gf
|
|
||||||
@@ -1,60 +1,57 @@
|
|
||||||
---concrete ConjunctionLat of Conjunction =
|
|
||||||
--- CatLat ** open ResLat, Coordination, Prelude in {
|
|
||||||
+concrete ConjunctionLat of Conjunction =
|
|
||||||
+ CatLat ** open ResLat, StructuralLat, Coordination, Prelude in {
|
|
||||||
--
|
|
||||||
-- flags optimize=all_subs ;
|
|
||||||
--
|
|
||||||
--- lin
|
|
||||||
+ lin
|
|
||||||
--
|
|
||||||
--- ConjS = conjunctDistrSS ;
|
|
||||||
+ ConjS = conjunctDistrSS ;
|
|
||||||
--
|
|
||||||
--- ConjAdv = conjunctDistrSS ;
|
|
||||||
+ ConjAdv = conjunctDistrSS ;
|
|
||||||
--
|
|
||||||
-- ConjNP conj ss = conjunctDistrTable Case conj ss ** {
|
|
||||||
-- a = conjAgr (agrP3 conj.n) ss.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
--- ConjAP conj ss = conjunctDistrTable Agr conj ss ** {
|
|
||||||
--- isPre = ss.isPre
|
|
||||||
--- } ;
|
|
||||||
+ ConjAP conj ss = conjunctDistrTable Agr conj ss ;
|
|
||||||
--
|
|
||||||
--{---b
|
|
||||||
--
|
|
||||||
-- ConjS = conjunctSS ;
|
|
||||||
-- DConjS = conjunctDistrSS ;
|
|
||||||
--
|
|
||||||
-- ConjAdv = conjunctSS ;
|
|
||||||
-- DConjAdv = conjunctDistrSS ;
|
|
||||||
--
|
|
||||||
-- ConjNP conj ss = conjunctTable Case conj ss ** {
|
|
||||||
-- a = conjAgr (agrP3 conj.n) ss.a
|
|
||||||
-- } ;
|
|
||||||
-- DConjNP conj ss = conjunctDistrTable Case conj ss ** {
|
|
||||||
-- a = conjAgr (agrP3 conj.n) ss.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
--- ConjAP conj ss = conjunctTable Agr conj ss ** {
|
|
||||||
--- isPre = ss.isPre
|
|
||||||
--- } ;
|
|
||||||
+-- ConjAP conj ss = conjunctTable Agr conj ss ;
|
|
||||||
+--
|
|
||||||
-- DConjAP conj ss = conjunctDistrTable Agr conj ss ** {
|
|
||||||
-- isPre = ss.isPre
|
|
||||||
-- } ;
|
|
||||||
---}
|
|
||||||
--
|
|
||||||
---- These fun's are generated from the list cat's.
|
|
||||||
--
|
|
||||||
-- BaseS = twoSS ;
|
|
||||||
-- ConsS = consrSS comma ;
|
|
||||||
--- BaseAdv = twoSS ;
|
|
||||||
--- ConsAdv = consrSS comma ;
|
|
||||||
+ BaseAdv = twoSS ;
|
|
||||||
+ ConsAdv = consrSS "et" ;
|
|
||||||
-- BaseNP x y = twoTable Case x y ** {a = conjAgr x.a y.a} ;
|
|
||||||
-- ConsNP xs x = consrTable Case comma xs x ** {a = conjAgr xs.a x.a} ;
|
|
||||||
--- BaseAP x y = twoTable Agr x y ** {isPre = andB x.isPre y.isPre} ;
|
|
||||||
--- ConsAP xs x = consrTable Agr comma xs x ** {isPre = andB xs.isPre x.isPre} ;
|
|
||||||
+ BaseAP x y = lin A ( twoTable Agr x y ) ;
|
|
||||||
+ ConsAP xs x = lin A ( consrTable Agr and_Conj.s2 xs x );
|
|
||||||
--
|
|
||||||
--- lincat
|
|
||||||
--- [S] = {s1,s2 : Str} ;
|
|
||||||
--- [Adv] = {s1,s2 : Str} ;
|
|
||||||
+ lincat
|
|
||||||
+ [S] = {s1,s2 : Str} ;
|
|
||||||
+ [Adv] = {s1,s2 : Str} ;
|
|
||||||
-- [NP] = {s1,s2 : Case => Str ; a : Agr} ;
|
|
||||||
--- [AP] = {s1,s2 : Agr => Str ; isPre : Bool} ;
|
|
||||||
+ [AP] = {s1,s2 : Agr => Str } ;
|
|
||||||
--
|
|
||||||
---}
|
|
||||||
+}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/ExtraLat.gf b/lib/src/latin/ExtraLat.gf
|
|
||||||
index 9dad2f9..e6c8728 100644
|
|
||||||
--- a/lib/src/latin/ExtraLat.gf
|
|
||||||
+++ b/lib/src/latin/ExtraLat.gf
|
|
||||||
@@ -1,3 +1,11 @@
|
|
||||||
concrete ExtraLat of ExtraLatAbs = CatLat **
|
|
||||||
open ResLat, Coordination, Prelude in {
|
|
||||||
+ lin
|
|
||||||
+ UsePronNonDrop p = -- Pron -> NP
|
|
||||||
+ {
|
|
||||||
+ g = p.g ;
|
|
||||||
+ n = p.n ;
|
|
||||||
+ p = p.p ;
|
|
||||||
+ s = p.pers ! PronNonDrop ! PronRefl ;
|
|
||||||
+ } ;
|
|
||||||
}
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/ExtraLatAbs.gf b/lib/src/latin/ExtraLatAbs.gf
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..f2d1729
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/lib/src/latin/ExtraLatAbs.gf
|
|
||||||
@@ -0,0 +1,5 @@
|
|
||||||
+abstract ExtraLatAbs = Extra ** {
|
|
||||||
+ fun
|
|
||||||
+ UsePronNonDrop : Pron -> NP ;
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/GrammarLat.gf b/lib/src/latin/GrammarLat.gf
|
|
||||||
index efa7f69..09966e9 100644
|
|
||||||
--- a/lib/src/latin/GrammarLat.gf
|
|
||||||
+++ b/lib/src/latin/GrammarLat.gf
|
|
||||||
@@ -1,19 +1,18 @@
|
|
||||||
--# -path=.:../abstract:../common:prelude
|
|
||||||
|
|
||||||
concrete GrammarLat of Grammar =
|
|
||||||
NounLat,
|
|
||||||
VerbLat,
|
|
||||||
AdjectiveLat,
|
|
||||||
AdverbLat,
|
|
||||||
NumeralLat,
|
|
||||||
SentenceLat,
|
|
||||||
-- QuestionLat,
|
|
||||||
-- RelativeLat,
|
|
||||||
-- ConjunctionLat,
|
|
||||||
--- PhraseLat,
|
|
||||||
+ PhraseLat,
|
|
||||||
TextX,
|
|
||||||
- StructuralLat,
|
|
||||||
+ StructuralLat
|
|
||||||
-- IdiomLat
|
|
||||||
- TenseX
|
|
||||||
** {
|
|
||||||
} ;
|
|
||||||
@@ -1,641 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/IrregLat.gf b/lib/src/latin/IrregLat.gf
|
|
||||||
index 20657f0..2c3cb65 100644
|
|
||||||
--- a/lib/src/latin/IrregLat.gf
|
|
||||||
+++ b/lib/src/latin/IrregLat.gf
|
|
||||||
@@ -1,181 +1,458 @@
|
|
||||||
-----# -path=.:prelude:../abstract:../common
|
|
||||||
---
|
|
||||||
---concrete IrregLat of IrregLatAbs = CatLat ** open ParadigmsLat in {
|
|
||||||
+--# -path=.:prelude:../abstract:../common
|
|
||||||
+
|
|
||||||
+concrete IrregLat of IrregLatAbs = CatLat ** open Prelude, ParadigmsLat, ResLat in {
|
|
||||||
--
|
|
||||||
--flags optimize=values ;
|
|
||||||
--
|
|
||||||
--- lin
|
|
||||||
--- awake_V = irregV "awake" "awoke" "awoken" ;
|
|
||||||
--- bear_V = irregV "bear" "bore" "born" ;
|
|
||||||
--- beat_V = irregV "beat" "beat" "beat" ;
|
|
||||||
--- become_V = irregV "become" "became" "become" ;
|
|
||||||
--- begin_V = irregV "begin" "began" "begun" ;
|
|
||||||
--- bend_V = irregV "bend" "bent" "bent" ;
|
|
||||||
--- beset_V = irregV "beset" "beset" "beset" ;
|
|
||||||
--- bet_V = irregDuplV "bet" "bet" "bet" ;
|
|
||||||
--- bid_V = irregDuplV "bid" (variants {"bid" ; "bade"}) (variants {"bid" ; "bidden"}) ;
|
|
||||||
--- bind_V = irregV "bind" "bound" "bound" ;
|
|
||||||
--- bite_V = irregV "bite" "bit" "bitten" ;
|
|
||||||
--- bleed_V = irregV "bleed" "bled" "bled" ;
|
|
||||||
--- blow_V = irregV "blow" "blew" "blown" ;
|
|
||||||
--- break_V = irregV "break" "broke" "broken" ;
|
|
||||||
--- breed_V = irregV "breed" "bred" "bred" ;
|
|
||||||
--- bring_V = irregV "bring" "brought" "brought" ;
|
|
||||||
--- broadcast_V = irregV "broadcast" "broadcast" "broadcast" ;
|
|
||||||
--- build_V = irregV "build" "built" "built" ;
|
|
||||||
--- burn_V = irregV "burn" (variants {"burned" ; "burnt"}) (variants {"burned" ; "burnt"}) ;
|
|
||||||
--- burst_V = irregV "burst" "burst" "burst" ;
|
|
||||||
--- buy_V = irregV "buy" "bought" "bought" ;
|
|
||||||
--- cast_V = irregV "cast" "cast" "cast" ;
|
|
||||||
--- catch_V = irregV "catch" "caught" "caught" ;
|
|
||||||
--- choose_V = irregV "choose" "chose" "chosen" ;
|
|
||||||
--- cling_V = irregV "cling" "clung" "clung" ;
|
|
||||||
--- come_V = irregV "come" "came" "come" ;
|
|
||||||
--- cost_V = irregV "cost" "cost" "cost" ;
|
|
||||||
--- creep_V = irregV "creep" "crept" "crept" ;
|
|
||||||
--- cut_V = irregDuplV "cut" "cut" "cut" ;
|
|
||||||
--- deal_V = irregV "deal" "dealt" "dealt" ;
|
|
||||||
--- dig_V = irregDuplV "dig" "dug" "dug" ;
|
|
||||||
--- dive_V = irregV "dive" (variants {"dived" ; "dove"}) "dived" ;
|
|
||||||
--- do_V = mk5V "do" "does" "did" "done" "doing" ;
|
|
||||||
--- draw_V = irregV "draw" "drew" "drawn" ;
|
|
||||||
--- dream_V = irregV "dream" (variants {"dreamed" ; "dreamt"}) (variants {"dreamed" ; "dreamt"}) ;
|
|
||||||
--- drive_V = irregV "drive" "drove" "driven" ;
|
|
||||||
--- drink_V = irregV "drink" "drank" "drunk" ;
|
|
||||||
--- eat_V = irregV "eat" "ate" "eaten" ;
|
|
||||||
--- fall_V = irregV "fall" "fell" "fallen" ;
|
|
||||||
--- feed_V = irregV "feed" "fed" "fed" ;
|
|
||||||
--- feel_V = irregV "feel" "felt" "felt" ;
|
|
||||||
--- fight_V = irregV "fight" "fought" "fought" ;
|
|
||||||
--- find_V = irregV "find" "found" "found" ;
|
|
||||||
--- fit_V = irregDuplV "fit" "fit" "fit" ;
|
|
||||||
--- flee_V = irregV "flee" "fled" "fled" ;
|
|
||||||
--- fling_V = irregV "fling" "flung" "flung" ;
|
|
||||||
--- fly_V = irregV "fly" "flew" "flown" ;
|
|
||||||
--- forbid_V = irregDuplV "forbid" "forbade" "forbidden" ;
|
|
||||||
--- forget_V = irregDuplV "forget" "forgot" "forgotten" ;
|
|
||||||
--- forgive_V = irregV "forgive" "forgave" "forgiven" ;
|
|
||||||
--- forsake_V = irregV "forsake" "forsook" "forsaken" ;
|
|
||||||
--- freeze_V = irregV "freeze" "froze" "frozen" ;
|
|
||||||
--- get_V = irregDuplV "get" "got" "gotten" ;
|
|
||||||
--- give_V = irregV "give" "gave" "given" ;
|
|
||||||
--- go_V = mk5V "go" "goes" "went" "gone" "going" ;
|
|
||||||
--- grind_V = irregV "grind" "ground" "ground" ;
|
|
||||||
--- grow_V = irregV "grow" "grew" "grown" ;
|
|
||||||
--- hang_V = irregV "hang" "hung" "hung" ;
|
|
||||||
--- have_V = mk5V "have" "has" "had" "had" "having" ;
|
|
||||||
--- hear_V = irregV "hear" "heard" "heard" ;
|
|
||||||
--- hide_V = irregV "hide" "hid" "hidden" ;
|
|
||||||
--- hit_V = irregDuplV "hit" "hit" "hit" ;
|
|
||||||
--- hold_V = irregV "hold" "held" "held" ;
|
|
||||||
--- hurt_V = irregV "hurt" "hurt" "hurt" ;
|
|
||||||
--- keep_V = irregV "keep" "kept" "kept" ;
|
|
||||||
--- kneel_V = irregV "kneel" "knelt" "knelt" ;
|
|
||||||
--- knit_V = irregDuplV "knit" "knit" "knit" ;
|
|
||||||
--- know_V = irregV "know" "knew" "know" ;
|
|
||||||
--- lay_V = irregV "lay" "laid" "laid" ;
|
|
||||||
--- lead_V = irregV "lead" "led" "led" ;
|
|
||||||
--- leap_V = irregV "leap" (variants {"leaped" ; "lept"}) (variants {"leaped" ; "lept"}) ;
|
|
||||||
--- learn_V = irregV "learn" (variants {"learned" ; "learnt"}) (variants {"learned" ; "learnt"}) ;
|
|
||||||
--- leave_V = irregV "leave" "left" "left" ;
|
|
||||||
--- lend_V = irregV "lend" "lent" "lent" ;
|
|
||||||
--- let_V = irregDuplV "let" "let" "let" ;
|
|
||||||
--- lie_V = irregV "lie" "lay" "lain" ;
|
|
||||||
--- light_V = irregV "light" (variants {"lighted" ; "lit"}) "lighted" ;
|
|
||||||
--- lose_V = irregV "lose" "lost" "lost" ;
|
|
||||||
--- make_V = irregV "make" "made" "made" ;
|
|
||||||
--- mean_V = irregV "mean" "meant" "meant" ;
|
|
||||||
--- meet_V = irregV "meet" "met" "met" ;
|
|
||||||
--- misspell_V = irregV "misspell" (variants {"misspelled" ; "misspelt"}) (variants {"misspelled" ; "misspelt"}) ;
|
|
||||||
--- mistake_V = irregV "mistake" "mistook" "mistaken" ;
|
|
||||||
--- mow_V = irregV "mow" "mowed" (variants {"mowed" ; "mown"}) ;
|
|
||||||
--- overcome_V = irregV "overcome" "overcame" "overcome" ;
|
|
||||||
--- overdo_V = mk5V "overdo" "overdoes" "overdid" "overdone" "overdoing" ;
|
|
||||||
--- overtake_V = irregV "overtake" "overtook" "overtaken" ;
|
|
||||||
--- overthrow_V = irregV "overthrow" "overthrew" "overthrown" ;
|
|
||||||
--- pay_V = irregV "pay" "paid" "paid" ;
|
|
||||||
--- plead_V = irregV "plead" "pled" "pled" ;
|
|
||||||
--- prove_V = irregV "prove" "proved" (variants {"proved" ; "proven"}) ;
|
|
||||||
--- put_V = irregDuplV "put" "put" "put" ;
|
|
||||||
--- quit_V = irregDuplV "quit" "quit" "quit" ;
|
|
||||||
--- read_V = irregV "read" "read" "read" ;
|
|
||||||
--- rid_V = irregDuplV "rid" "rid" "rid" ;
|
|
||||||
--- ride_V = irregV "ride" "rode" "ridden" ;
|
|
||||||
--- ring_V = irregV "ring" "rang" "rung" ;
|
|
||||||
--- rise_V = irregV "rise" "rose" "risen" ;
|
|
||||||
--- run_V = irregDuplV "run" "ran" "run" ;
|
|
||||||
--- saw_V = irregV "saw" "sawed" (variants {"sawed" ; "sawn"}) ;
|
|
||||||
--- say_V = irregV "say" "said" "said" ;
|
|
||||||
--- see_V = irregV "see" "saw" "seen" ;
|
|
||||||
--- seek_V = irregV "seek" "sought" "sought" ;
|
|
||||||
--- sell_V = irregV "sell" "sold" "sold" ;
|
|
||||||
--- send_V = irregV "send" "sent" "sent" ;
|
|
||||||
--- set_V = irregDuplV "set" "set" "set" ;
|
|
||||||
--- sew_V = irregV "sew" "sewed" (variants {"sewed" ; "sewn"}) ;
|
|
||||||
--- shake_V = irregV "shake" "shook" "shaken" ;
|
|
||||||
--- shave_V = irregV "shave" "shaved" (variants {"shaved" ; "shaven"}) ;
|
|
||||||
--- shear_V = irregV "shear" "shore" "shorn" ;
|
|
||||||
--- shed_V = irregDuplV "shed" "shed" "shed" ;
|
|
||||||
--- shine_V = irregV "shine" "shone" "shone" ;
|
|
||||||
--- shoe_V = irregV "shoe" "shoed" (variants {"shoed" ; "shod"}) ;
|
|
||||||
--- shoot_V = irregV "shoot" "shot" "shot" ;
|
|
||||||
--- show_V = irregV "show" "showed" (variants {"showed" ; "shown"}) ;
|
|
||||||
--- shrink_V = irregV "shrink" "shrank" "shrunk" ;
|
|
||||||
--- shut_V = irregDuplV "shut" "shut" "shut" ;
|
|
||||||
--- sing_V = irregV "sing" "sang" "sung" ;
|
|
||||||
--- sink_V = irregV "sink" "sank" "sunk" ;
|
|
||||||
--- sit_V = irregDuplV "sit" "sat" "sat" ;
|
|
||||||
--- sleep_V = irregV "sleep" "slept" "slept" ;
|
|
||||||
--- slay_V = irregV "slay" "slew" "slain" ;
|
|
||||||
--- slide_V = irregV "slide" "slid" "slid" ;
|
|
||||||
--- sling_V = irregV "sling" "slung" "slung" ;
|
|
||||||
--- slit_V = irregDuplV "slit" "slit" "slit" ;
|
|
||||||
--- smite_V = irregV "smite" "smote" "smitten" ;
|
|
||||||
--- sow_V = irregV "sow" "sowed" (variants {"sowed" ; "sown"}) ;
|
|
||||||
--- speak_V = irregV "speak" "spoke" "spoken" ;
|
|
||||||
--- speed_V = irregV "speed" "sped" "sped" ;
|
|
||||||
--- spend_V = irregV "spend" "spent" "spent" ;
|
|
||||||
--- spill_V = irregV "spill" (variants {"spilled" ; "spilt"}) (variants {"spilled" ; "spilt"}) ;
|
|
||||||
--- spin_V = irregDuplV "spin" "spun" "spun" ;
|
|
||||||
--- spit_V = irregDuplV "spit" (variants {"spit" ; "spat"}) "spit" ;
|
|
||||||
--- split_V = irregDuplV "split" "split" "split" ;
|
|
||||||
--- spread_V = irregV "spread" "spread" "spread" ;
|
|
||||||
--- spring_V = irregV "spring" (variants {"sprang" ; "sprung"}) "sprung" ;
|
|
||||||
--- stand_V = irregV "stand" "stood" "stood" ;
|
|
||||||
--- steal_V = irregV "steal" "stole" "stolen" ;
|
|
||||||
--- stick_V = irregV "stick" "stuck" "stuck" ;
|
|
||||||
--- sting_V = irregV "sting" "stung" "stung" ;
|
|
||||||
--- stink_V = irregV "stink" "stank" "stunk" ;
|
|
||||||
--- stride_V = irregV "stride" "strod" "stridden" ;
|
|
||||||
--- strike_V = irregV "strike" "struck" "struck" ;
|
|
||||||
--- string_V = irregV "string" "strung" "strung" ;
|
|
||||||
--- strive_V = irregV "strive" "strove" "striven" ;
|
|
||||||
--- swear_V = irregV "swear" "swore" "sworn" ;
|
|
||||||
--- sweep_V = irregV "sweep" "swept" "swept" ;
|
|
||||||
--- swell_V = irregV "swell" "swelled" (variants {"swelled" ; "swollen"}) ;
|
|
||||||
--- swim_V = irregDuplV "swim" "swam" "swum" ;
|
|
||||||
--- swing_V = irregV "swing" "swung" "swung" ;
|
|
||||||
--- take_V = irregV "take" "took" "taken" ;
|
|
||||||
--- teach_V = irregV "teach" "taught" "taught" ;
|
|
||||||
--- tear_V = irregV "tear" "tore" "torn" ;
|
|
||||||
--- tell_V = irregV "tell" "told" "told" ;
|
|
||||||
--- think_V = irregV "think" "thought" "thought" ;
|
|
||||||
--- thrive_V = irregV "thrive" (variants {"thrived" ; "throve"}) "thrived" ;
|
|
||||||
--- throw_V = irregV "throw" "threw" "thrown" ;
|
|
||||||
--- thrust_V = irregV "thrust" "thrust" "thrust" ;
|
|
||||||
--- tread_V = irregV "tread" "trod" "trodden" ;
|
|
||||||
--- understand_V = irregV "understand" "understood" "understood" ;
|
|
||||||
--- uphold_V = irregV "uphold" "upheld" "upheld" ;
|
|
||||||
--- upset_V = irregDuplV "upset" "upset" "upset" ;
|
|
||||||
--- wake_V = irregV "wake" "woke" "woken" ;
|
|
||||||
--- wear_V = irregV "wear" "wore" "worn" ;
|
|
||||||
--- weave_V = irregV "weave" (variants {"weaved" ; "wove"}) (variants {"weaved" ; "woven"}) ;
|
|
||||||
--- wed_V = irregDuplV "wed" "wed" "wed" ;
|
|
||||||
--- weep_V = irregV "weep" "wept" "wept" ;
|
|
||||||
--- wind_V = irregV "wind" "wound" "wound" ;
|
|
||||||
--- win_V = irregDuplV "win" "won" "won" ;
|
|
||||||
--- withhold_V = irregV "withhold" "withheld" "withheld" ;
|
|
||||||
--- withstand_V = irregV "withstand" "withstood" "withstood" ;
|
|
||||||
--- wring_V = irregV "wring" "wrung" "wrung" ;
|
|
||||||
--- write_V = irregV "write" "wrote" "written" ;
|
|
||||||
---}
|
|
||||||
+
|
|
||||||
+ lin
|
|
||||||
+ science_N = pluralN (mkN "litera" ) ; -- only pl. (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 93 1
|
|
||||||
+ be_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "s" ;
|
|
||||||
+ pres_ind_base = "su" ;
|
|
||||||
+ pres_conj_base = "si" ;
|
|
||||||
+ impf_ind_base = "era" ;
|
|
||||||
+ impf_conj_base = "esse" ;
|
|
||||||
+ fut_I_base = "eri" ;
|
|
||||||
+ imp_base = "es" ;
|
|
||||||
+ perf_stem = "fu" ;
|
|
||||||
+ perf_ind_base = "fu" ;
|
|
||||||
+ perf_conj_base = "fueri" ;
|
|
||||||
+ pqperf_ind_base = "fuera" ;
|
|
||||||
+ pqperf_conj_base = "fuisse" ;
|
|
||||||
+ fut_II_base = "fueri" ;
|
|
||||||
+ part_stem = "fut" ;
|
|
||||||
+ verb = mkVerb "esse" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
|
|
||||||
+ imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "sum" ; "es" ; "est" ] ;
|
|
||||||
+ table Person [ "sumus" ; "estis" ; "sunt" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ };
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######" ; -- no passive forms
|
|
||||||
+ inf =
|
|
||||||
+ verb.inf ;
|
|
||||||
+ imp =
|
|
||||||
+ table {
|
|
||||||
+ VImp1 Sg => "es" ;
|
|
||||||
+ VImp1 Pl => "este" ;
|
|
||||||
+ VImp2 Pl P2 => "estote" ;
|
|
||||||
+ a => verb.imp ! a
|
|
||||||
+ } ;
|
|
||||||
+ sup =
|
|
||||||
+ \\_ => "######" ; -- no supin forms
|
|
||||||
+ ger =
|
|
||||||
+ \\_ => "######" ; -- no gerund forms
|
|
||||||
+ geriv =
|
|
||||||
+ \\_ => "######" ; -- no gerundive forms
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ verb.part ! VActFut ;
|
|
||||||
+ VActPres =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######" -- no such participle
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 93 2.2
|
|
||||||
+ can_VV =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "pos" ;
|
|
||||||
+ pres_ind_base = "pos" ;
|
|
||||||
+ pres_conj_base = "possi" ;
|
|
||||||
+ impf_ind_base = "potera" ;
|
|
||||||
+ impf_conj_base = "posse" ;
|
|
||||||
+ fut_I_base = "poteri" ;
|
|
||||||
+ imp_base = "" ;
|
|
||||||
+ perf_stem = "potu" ;
|
|
||||||
+ perf_ind_base = "potu" ;
|
|
||||||
+ perf_conj_base = "potueri" ;
|
|
||||||
+ pqperf_ind_base = "potuera" ;
|
|
||||||
+ pqperf_conj_base = "potuisse" ;
|
|
||||||
+ fut_II_base = "potueri" ;
|
|
||||||
+ part_stem = "" ;
|
|
||||||
+ verb = mkVerb "posse" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
|
|
||||||
+ imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "possum" ; "potes" ; "potest" ] ;
|
|
||||||
+ table Person [ "possumus" ; "potestis" ; "possunt" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######" ; -- no passive forms
|
|
||||||
+ inf =
|
|
||||||
+ table {
|
|
||||||
+ VInfActFut _ => "######" ;
|
|
||||||
+ a => verb.inf ! a
|
|
||||||
+ } ;
|
|
||||||
+ imp =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ sup =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ ger =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ geriv =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VActPres =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######" -- no such participle
|
|
||||||
+ } ;
|
|
||||||
+ isAux = False
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 94
|
|
||||||
+ bring_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "fer" ;
|
|
||||||
+ pres_ind_base = "fer" ;
|
|
||||||
+ pres_conj_base = "fera" ;
|
|
||||||
+ impf_ind_base = "fereba" ;
|
|
||||||
+ impf_conj_base = "ferre" ;
|
|
||||||
+ fut_I_base = "fere" ;
|
|
||||||
+ imp_base = "fer" ;
|
|
||||||
+ perf_stem = "tul" ;
|
|
||||||
+ perf_ind_base = "tul" ;
|
|
||||||
+ perf_conj_base = "tuleri" ;
|
|
||||||
+ pqperf_ind_base = "tulera" ;
|
|
||||||
+ pqperf_conj_base = "tulisse" ;
|
|
||||||
+ fut_II_base = "tuleri" ;
|
|
||||||
+ part_stem = "lat" ;
|
|
||||||
+ verb = mkVerb "ferre" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
|
|
||||||
+ imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "fero" ; "fers" ; "fert" ] ;
|
|
||||||
+ table Person [ "ferimus" ; "fertis" ; "ferunt" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ table {
|
|
||||||
+ VPass (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "feror" ; "ferris" ; "fertur" ] ;
|
|
||||||
+ table Person [ "ferimur" ; "ferimini" ; "feruntur" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ a => verb.pass ! a
|
|
||||||
+ } ;
|
|
||||||
+ inf =
|
|
||||||
+ verb.inf ;
|
|
||||||
+ imp =
|
|
||||||
+ table {
|
|
||||||
+ VImp1 n => table Number [ "fer" ; "ferte" ] ! n ;
|
|
||||||
+ VImp2 Sg ( P2 | P3 ) => "ferto" ;
|
|
||||||
+ VImp2 Pl P2 => "fertote" ;
|
|
||||||
+ a => verb.imp ! a
|
|
||||||
+ } ;
|
|
||||||
+ sup =
|
|
||||||
+ verb.sup ;
|
|
||||||
+ ger =
|
|
||||||
+ verb.ger ;
|
|
||||||
+ geriv =
|
|
||||||
+ verb.geriv ;
|
|
||||||
+ part = verb.part ;
|
|
||||||
+ };
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 95
|
|
||||||
+ want_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "vel" ;
|
|
||||||
+ pres_ind_base = "vol" ;
|
|
||||||
+ pres_conj_base = "veli" ;
|
|
||||||
+ impf_ind_base = "voleba" ;
|
|
||||||
+ impf_conj_base = "volle" ;
|
|
||||||
+ fut_I_base = "vole" ;
|
|
||||||
+ imp_base = "" ;
|
|
||||||
+ perf_stem = "volu" ;
|
|
||||||
+ perf_ind_base = "volu" ;
|
|
||||||
+ perf_conj_base = "volueri" ;
|
|
||||||
+ pqperf_ind_base = "voluera" ;
|
|
||||||
+ pqperf_conj_base = "voluisse" ;
|
|
||||||
+ fut_II_base = "volueri" ;
|
|
||||||
+ part_stem = "volet" ;
|
|
||||||
+ verb = mkVerb "velle" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
|
|
||||||
+ imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "volo" ; "vis" ; "vult" ] ;
|
|
||||||
+ table Person [ "volumus" ; "vultis" ; "volunt" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ ger =
|
|
||||||
+ verb.ger ;
|
|
||||||
+ geriv =
|
|
||||||
+ verb.geriv ;
|
|
||||||
+ imp =
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ inf =
|
|
||||||
+ verb.inf ;
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ \\_ => "######" ;
|
|
||||||
+ VActPres =>
|
|
||||||
+ verb.part ! VActPres ;
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######"
|
|
||||||
+ } ;
|
|
||||||
+ sup =
|
|
||||||
+ verb.sup ;
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 96 1
|
|
||||||
+ go_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "i" ;
|
|
||||||
+ pres_ind_base = "i" ;
|
|
||||||
+ pres_conj_base = "ea" ;
|
|
||||||
+ impf_ind_base = "iba" ;
|
|
||||||
+ impf_conj_base = "ire" ;
|
|
||||||
+ fut_I_base = "ibi" ;
|
|
||||||
+ imp_base = "i" ;
|
|
||||||
+ perf_stem = "i" ;
|
|
||||||
+ perf_ind_base = "i" ;
|
|
||||||
+ perf_conj_base = "ieri" ;
|
|
||||||
+ pqperf_ind_base = "iera" ;
|
|
||||||
+ pqperf_conj_base = "isse" ;
|
|
||||||
+ fut_II_base = "ieri" ;
|
|
||||||
+ part_stem = "it" ;
|
|
||||||
+ verb = mkVerb "ire" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base
|
|
||||||
+ imp_base perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) n p =>
|
|
||||||
+ table Number [ table Person [ "eo" ; "is" ; "it" ] ;
|
|
||||||
+ table Person [ "imus" ; "itis" ; "eunt" ]
|
|
||||||
+ ] ! n ! p ;
|
|
||||||
+ VAct VAnt (VPres VInd) Sg P2 => "isti" ;
|
|
||||||
+ VAct VAnt (VPres VInd) Pl P2 => "istis" ;
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######"; -- no passive forms
|
|
||||||
+ ger =
|
|
||||||
+ table VGerund [ "eundum" ; "eundi" ; "eundo" ; "eundo" ] ;
|
|
||||||
+ geriv =
|
|
||||||
+ verb.geriv ;
|
|
||||||
+ imp =
|
|
||||||
+ table {
|
|
||||||
+ VImp2 Pl P3 => "eunto" ;
|
|
||||||
+ a => verb.imp ! a
|
|
||||||
+ } ;
|
|
||||||
+ inf =
|
|
||||||
+ table {
|
|
||||||
+ VInfActPerf _ => "isse" ;
|
|
||||||
+ a =>verb.inf ! a
|
|
||||||
+ };
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ verb.part ! VActFut ;
|
|
||||||
+ VActPres =>
|
|
||||||
+ table {
|
|
||||||
+ Ag ( Fem | Masc ) n c =>
|
|
||||||
+ ( mkNoun ( "iens" ) ( "euntem" ) ( "euntis" )
|
|
||||||
+ ( "eunti" ) ( "eunte" ) ( "iens" )
|
|
||||||
+ ( "euntes" ) ( "euntes" ) ( "euntium" )
|
|
||||||
+ ( "euntibus" )
|
|
||||||
+ Masc ).s ! n ! c ;
|
|
||||||
+ Ag Neutr n c =>
|
|
||||||
+ ( mkNoun ( "iens" ) ( "iens" ) ( "euntis" )
|
|
||||||
+ ( "eunti" ) ( "eunte" ) ( "iens" )
|
|
||||||
+ ( "euntia" ) ( "euntia" ) ( "euntium" )
|
|
||||||
+ ( "euntibus" )
|
|
||||||
+ Masc ).s ! n ! c
|
|
||||||
+ } ;
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######" -- no such participle
|
|
||||||
+ } ;
|
|
||||||
+ sup =
|
|
||||||
+ \\_ => "######" -- really no such form?
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 97
|
|
||||||
+ become_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "fi" ;
|
|
||||||
+ pres_ind_base = "fi" ;
|
|
||||||
+ pres_conj_base = "fia" ;
|
|
||||||
+ impf_ind_base = "fieba" ;
|
|
||||||
+ impf_conj_base = "fiere" ;
|
|
||||||
+ fut_I_base = "fie" ;
|
|
||||||
+ imp_base = "fi" ;
|
|
||||||
+ perf_stem = "" ;
|
|
||||||
+ perf_ind_base = "" ;
|
|
||||||
+ perf_conj_base = "" ;
|
|
||||||
+ pqperf_ind_base = "" ;
|
|
||||||
+ pqperf_conj_base = "" ;
|
|
||||||
+ fut_II_base = "" ;
|
|
||||||
+ part_stem = "fact" ;
|
|
||||||
+
|
|
||||||
+ verb =
|
|
||||||
+ mkVerb "fieri" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) Sg P1 => "fio" ;
|
|
||||||
+ VAct VAnt _ _ _ => "######" ; -- perfect expressed by participle
|
|
||||||
+ a => verb.act ! a
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######" ; -- no passive forms
|
|
||||||
+ ger =
|
|
||||||
+ \\_ => "######" ; -- no gerund form
|
|
||||||
+ geriv =
|
|
||||||
+ \\_ => "######" ; -- no gerundive form
|
|
||||||
+ imp =
|
|
||||||
+ verb.imp ;
|
|
||||||
+ inf =
|
|
||||||
+ table {
|
|
||||||
+ VInfActPerf _ => "factus" ;
|
|
||||||
+ VInfActFut Masc => "futurum" ;
|
|
||||||
+ VInfActFut Fem => "futura" ;
|
|
||||||
+ VInfActFut Neutr => "futurum" ;
|
|
||||||
+ a => verb.inf ! a
|
|
||||||
+ } ;
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VActPres =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ verb.part ! VPassPerf
|
|
||||||
+ } ;
|
|
||||||
+ sup =
|
|
||||||
+ \\_ => "######" -- no supin
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- Source ?
|
|
||||||
+ rain_V =
|
|
||||||
+ {
|
|
||||||
+ act =
|
|
||||||
+ table {
|
|
||||||
+ VAct VSim (VPres VInd) Sg P3 => "pluit" ;
|
|
||||||
+ VAct VSim (VPres VInd) Pl P3 => "pluunt" ;
|
|
||||||
+ VAct VSim (VImpf VInd) Sg P3 => "pluebat" ;
|
|
||||||
+ VAct VSim (VImpf VInd) Pl P3 => "pluebant" ;
|
|
||||||
+ VAct VSim VFut Sg P3 => "pluet" ;
|
|
||||||
+ VAct VSim VFut Pl P3 => "pluent" ;
|
|
||||||
+ VAct VAnt (VPres VInd) Sg P3 => "pluvit" ;
|
|
||||||
+ VAct VAnt (VPres VInd) Pl P3 => "pluverunt" ;
|
|
||||||
+ VAct VAnt (VImpf VInd) Sg P3 => "pluverat" ;
|
|
||||||
+ VAct VAnt (VImpf VInd) Pl P3 => "pluverat" ;
|
|
||||||
+ VAct VAnt VFut Sg P3 => "pluverit" ;
|
|
||||||
+ VAct VAnt VFut Pl P3 => "pluverint" ;
|
|
||||||
+ VAct VSim (VPres VConj) Sg P3 => "pluat" ;
|
|
||||||
+ VAct VSim (VPres VConj) Pl P3 => "pluant" ;
|
|
||||||
+ VAct VSim (VImpf VConj) Sg P3 => "plueret" ;
|
|
||||||
+ VAct VSim (VImpf VConj) Pl P3 => "pluerent" ;
|
|
||||||
+ VAct VAnt (VPres VConj) Sg P3 => "pluverit" ;
|
|
||||||
+ VAct VAnt (VPres VConj) Pl P3 => "pluverint" ;
|
|
||||||
+ VAct VAnt (VImpf VConj) Sg P3 => "pluvisset" ;
|
|
||||||
+ VAct VAnt (VImpf VConj) Pl P3 => "pluvissent" ;
|
|
||||||
+ _ => "######" -- no such forms
|
|
||||||
+ } ;
|
|
||||||
+ pass =
|
|
||||||
+ \\_ => "######" ; -- no passive forms
|
|
||||||
+ inf = table {
|
|
||||||
+ VInfActPres => "pluere" ;
|
|
||||||
+ VInfActPerf _ => "pluvisse" ;
|
|
||||||
+ _ => "######"
|
|
||||||
+ } ;
|
|
||||||
+ imp =
|
|
||||||
+ table {
|
|
||||||
+ VImp2 Sg ( P2 | P3 ) => "pluito" ;
|
|
||||||
+ VImp2 Pl P2 => "pluitote" ;
|
|
||||||
+ VImp2 Pl P3 => "pluunto" ;
|
|
||||||
+ _ => "######"
|
|
||||||
+ } ;
|
|
||||||
+ ger =
|
|
||||||
+ \\_ => "######" ; -- no gerund forms
|
|
||||||
+ geriv =
|
|
||||||
+ \\_ => "######" ; -- no gerundive forms
|
|
||||||
+ sup =
|
|
||||||
+ \\_ => "######" ; -- no supin forms
|
|
||||||
+ part = table {
|
|
||||||
+ VActPres =>
|
|
||||||
+ \\_ => "pluens" ;
|
|
||||||
+ VActFut =>
|
|
||||||
+ \\_ => "######" ; -- no such participle
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######" -- no such participle
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- Bayer-Lindauer 98
|
|
||||||
+ hate_V =
|
|
||||||
+ let
|
|
||||||
+ pres_stem = "" ;
|
|
||||||
+ pres_ind_base = "" ;
|
|
||||||
+ pres_conj_base = "" ;
|
|
||||||
+ impf_ind_base = "" ;
|
|
||||||
+ impf_conj_base = "" ;
|
|
||||||
+ fut_I_base = "" ;
|
|
||||||
+ imp_base = "" ;
|
|
||||||
+ perf_stem = "od" ;
|
|
||||||
+ perf_ind_base = "od" ;
|
|
||||||
+ perf_conj_base = "oderi" ;
|
|
||||||
+ pqperf_ind_base = "odera" ;
|
|
||||||
+ pqperf_conj_base = "odissem" ;
|
|
||||||
+ fut_II_base = "oderi" ;
|
|
||||||
+ part_stem = "os" ;
|
|
||||||
+ verb =
|
|
||||||
+ mkVerb "odisse" pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+ in {
|
|
||||||
+ act = table {
|
|
||||||
+ VAct VSim t n p => verb.act ! VAct VAnt t n p ;
|
|
||||||
+ _ => "######" -- no such verb forms
|
|
||||||
+ } ;
|
|
||||||
+ pass = \\_ => "######" ; -- no passive forms
|
|
||||||
+ ger = \\_ => "######" ; -- no gerund forms
|
|
||||||
+ geriv = \\_ => "######" ; -- no gerundive forms
|
|
||||||
+ imp = \\_ => "######" ; -- no imperative form
|
|
||||||
+ inf = table {
|
|
||||||
+ VInfActPres => verb.inf ! VInfActPres ;
|
|
||||||
+ VInfActFut g => verb.inf ! VInfActFut g ; -- really ?
|
|
||||||
+ _ => "######"
|
|
||||||
+ } ;
|
|
||||||
+ part = table {
|
|
||||||
+ VActFut =>
|
|
||||||
+ verb.part ! VActFut ;
|
|
||||||
+ VActPres =>
|
|
||||||
+ \\_ => "######" ; -- no such participle form
|
|
||||||
+ VPassPerf =>
|
|
||||||
+ \\_ => "######" -- no such participle form
|
|
||||||
+ } ;
|
|
||||||
+ sup = \\_ => "######" ; -- no such supine form
|
|
||||||
+ } ;
|
|
||||||
+}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/IrregLatAbs.gf b/lib/src/latin/IrregLatAbs.gf
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..a5e86f7
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/lib/src/latin/IrregLatAbs.gf
|
|
||||||
@@ -0,0 +1,12 @@
|
|
||||||
+abstract IrregLatAbs = Cat ** {
|
|
||||||
+ fun
|
|
||||||
+ science_N : N ;
|
|
||||||
+ be_V : V ;
|
|
||||||
+ can_VV : VV ;
|
|
||||||
+ bring_V : V ;
|
|
||||||
+ want_V : V ;
|
|
||||||
+ go_V : V;
|
|
||||||
+ become_V : V;
|
|
||||||
+ rain_V : V;
|
|
||||||
+ hate_V : V;
|
|
||||||
+}
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/LangLat.gf b/lib/src/latin/LangLat.gf
|
|
||||||
index e727a11..a61a880 100644
|
|
||||||
--- a/lib/src/latin/LangLat.gf
|
|
||||||
+++ b/lib/src/latin/LangLat.gf
|
|
||||||
@@ -1,10 +1,12 @@
|
|
||||||
--# -path=.:../abstract:../common:../prelude
|
|
||||||
|
|
||||||
concrete LangLat of Lang =
|
|
||||||
GrammarLat,
|
|
||||||
+ ParadigmsLat,
|
|
||||||
+ ConjunctionLat,
|
|
||||||
LexiconLat
|
|
||||||
** {
|
|
||||||
|
|
||||||
flags startcat = Phr ; unlexer = text ; lexer = text ;
|
|
||||||
|
|
||||||
} ;
|
|
||||||
@@ -1,767 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/LexiconLat.gf b/lib/src/latin/LexiconLat.gf
|
|
||||||
index 4c0fc16..14bdba2 100644
|
|
||||||
--- a/lib/src/latin/LexiconLat.gf
|
|
||||||
+++ b/lib/src/latin/LexiconLat.gf
|
|
||||||
@@ -1,377 +1,395 @@
|
|
||||||
--# -path=.:prelude
|
|
||||||
|
|
||||||
+--1 Basic Latin Lexicon.
|
|
||||||
+
|
|
||||||
+-- Aarne Ranta pre 2013, Herbert Lange 2013
|
|
||||||
+
|
|
||||||
+-- This lexicon implements all the words in the abstract Lexicon.
|
|
||||||
+-- For each entry a source is given, either a printed dictionary, a
|
|
||||||
+-- printed grammar book or a link to an online source. The used printed
|
|
||||||
+-- dictionaries are Langescheidts Schulwörterbuch Lateinisch 17. Edition
|
|
||||||
+-- 1984 (shorter: Langenscheidts), PONS Schulwörterbuch Latein 1. Edition
|
|
||||||
+-- 2012 (Shorter: Pons) and Der kleine Stowasser 3. Edition 1991 (shorter:
|
|
||||||
+-- Stowasser). The Grammar book is Bayer-Lindauer: Lateinische Schulgrammatik
|
|
||||||
+-- 2. Edition 1994.
|
|
||||||
+
|
|
||||||
concrete LexiconLat of Lexicon = CatLat ** open
|
|
||||||
ParadigmsLat,
|
|
||||||
--- IrregLat,
|
|
||||||
+ IrregLat,
|
|
||||||
+ ResLat,
|
|
||||||
+ StructuralLat,
|
|
||||||
+ NounLat,
|
|
||||||
+ AdjectiveLat,
|
|
||||||
+ VerbLat,
|
|
||||||
Prelude in {
|
|
||||||
|
|
||||||
flags
|
|
||||||
optimize=values ;
|
|
||||||
-
|
|
||||||
+ coding = utf8;
|
|
||||||
lin
|
|
||||||
--- airplane_N = mkN "airplane" ;
|
|
||||||
--- answer_V2S = mkV2S (regV "answer") toP ;
|
|
||||||
--- apartment_N = mkN "apartment" ;
|
|
||||||
--- apple_N = mkN "apple" ;
|
|
||||||
- art_N = mkN "ars" ;
|
|
||||||
--- ask_V2Q = mkV2Q (regV "ask") noPrep ;
|
|
||||||
- baby_N = mkN "infans" ;
|
|
||||||
- bad_A = mkA "malus" ;
|
|
||||||
--- bank_N = mkN "bank" ;
|
|
||||||
- beautiful_A = mkA "pulcher" ;
|
|
||||||
--- become_VA = mkVA (irregV "become" "became" "become") ;
|
|
||||||
- beer_N = mkN "cerevisia" ;
|
|
||||||
--- beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
|
|
||||||
- big_A = mkA "magnus" ;
|
|
||||||
--- bike_N = mkN "bike" ;
|
|
||||||
- bird_N = mkN "avis" "avis" masculine ;
|
|
||||||
- black_A = mkA "niger" ;
|
|
||||||
--- blue_A = regADeg "blue" ;
|
|
||||||
--- boat_N = mkN "boat" ;
|
|
||||||
- book_N = mkN "liber" ;
|
|
||||||
--- boot_N = mkN "boot" ;
|
|
||||||
--- boss_N = mkN human (mkN "boss") ;
|
|
||||||
- boy_N = mkN "liber" ;
|
|
||||||
- bread_N = mkN "panis" "panis" masculine ;
|
|
||||||
- break_V2 = mkV2 (mkV "rumpo" "rupi" "ruptum" "rumpere") ;
|
|
||||||
--- broad_A = regADeg "broad" ;
|
|
||||||
--- brother_N2 = mkN2 (mkN masculine (mkN "brother")) (mkPrep "of") ;
|
|
||||||
--- brown_A = regADeg "brown" ;
|
|
||||||
--- butter_N = mkN "butter" ;
|
|
||||||
--- buy_V2 = dirV2 (irregV "buy" "bought" "bought") ;
|
|
||||||
--- camera_N = mkN "camera" ;
|
|
||||||
--- cap_N = mkN "cap" ;
|
|
||||||
--- car_N = mkN "car" ;
|
|
||||||
--- carpet_N = mkN "carpet" ;
|
|
||||||
- cat_N = mkN "felis" ;
|
|
||||||
--- ceiling_N = mkN "ceiling" ;
|
|
||||||
--- chair_N = mkN "chair" ;
|
|
||||||
--- cheese_N = mkN "cheese" ;
|
|
||||||
--- child_N = mk2N "child" "children" ;
|
|
||||||
--- church_N = mkN "church" ;
|
|
||||||
- city_N = mkN "urbs" "urbis" feminine ;
|
|
||||||
--- clean_A = regADeg "clean" ;
|
|
||||||
--- clever_A = regADeg "clever" ;
|
|
||||||
--- close_V2 = dirV2 (regV "close") ;
|
|
||||||
--- coat_N = mkN "coat" ;
|
|
||||||
--- cold_A = regADeg "cold" ;
|
|
||||||
--- come_V = (irregV "come" "came" "come") ;
|
|
||||||
--- computer_N = mkN "computer" ;
|
|
||||||
--- country_N = mkN "country" ;
|
|
||||||
--- cousin_N = mkN human (mkN "cousin") ;
|
|
||||||
--- cow_N = mkN "cow" ;
|
|
||||||
--- die_V = (regV "die") ;
|
|
||||||
--- dirty_A = regADeg "dirty" ;
|
|
||||||
--- distance_N3 = mkN3 (mkN "distance") fromP toP ;
|
|
||||||
--- doctor_N = mkN human (mkN "doctor") ;
|
|
||||||
--- dog_N = mkN "dog" ;
|
|
||||||
--- door_N = mkN "door" ;
|
|
||||||
--- drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
|
|
||||||
--- easy_A2V = mkA2V (regA "easy") forP ;
|
|
||||||
--- eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
|
||||||
--- empty_A = regADeg "empty" ;
|
|
||||||
--- enemy_N = mkN "enemy" ;
|
|
||||||
--- factory_N = mkN "factory" ;
|
|
||||||
--- father_N2 = mkN2 (mkN masculine (mkN "father")) (mkPrep "of") ;
|
|
||||||
--- fear_VS = mkVS (regV "fear") ;
|
|
||||||
--- find_V2 = dirV2 (irregV "find" "found" "found") ;
|
|
||||||
--- fish_N = mk2N "fish" "fish" ;
|
|
||||||
--- floor_N = mkN "floor" ;
|
|
||||||
--- forget_V2 = dirV2 (irregDuplV "forget" "forgot" "forgotten") ;
|
|
||||||
--- fridge_N = mkN "fridge" ;
|
|
||||||
--- friend_N = mkN human (mkN "friend") ;
|
|
||||||
--- fruit_N = mkN "fruit" ;
|
|
||||||
--- fun_AV = mkAV (regA "fun") ;
|
|
||||||
--- garden_N = mkN "garden" ;
|
|
||||||
--- girl_N = mkN feminine (mkN "girl") ;
|
|
||||||
--- glove_N = mkN "glove" ;
|
|
||||||
- gold_N = mkN "aurum" ;
|
|
||||||
- good_A = mkA "bonus" ;
|
|
||||||
--- go_V = mk5V "go" "goes" "went" "gone" "going" ;
|
|
||||||
--- green_A = regADeg "green" ;
|
|
||||||
--- harbour_N = mkN "harbour" ;
|
|
||||||
--- hate_V2 = dirV2 (regV "hate") ;
|
|
||||||
--- hat_N = mkN "hat" ;
|
|
||||||
--- have_V2 = dirV2 (mk5V "have" "has" "had" "had" "having") ;
|
|
||||||
--- hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
|
||||||
--- hill_N = mkN "hill" ;
|
|
||||||
--- hope_VS = mkVS (regV "hope") ;
|
|
||||||
--- horse_N = mkN "horse" ;
|
|
||||||
--- hot_A = duplADeg "hot" ;
|
|
||||||
--- house_N = mkN "house" ;
|
|
||||||
--- important_A = compoundADeg (regA "important") ;
|
|
||||||
--- industry_N = mkN "industry" ;
|
|
||||||
--- iron_N = mkN "iron" ;
|
|
||||||
--- king_N = mkN masculine (mkN "king") ;
|
|
||||||
--- know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
|
||||||
--- lake_N = mkN "lake" ;
|
|
||||||
--- lamp_N = mkN "lamp" ;
|
|
||||||
--- learn_V2 = dirV2 (regV "learn") ;
|
|
||||||
--- leather_N = mkN "leather" ;
|
|
||||||
--- leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
|
||||||
--- like_V2 = dirV2 (regV "like") ;
|
|
||||||
--- listen_V2 = prepV2 (regV "listen") toP ;
|
|
||||||
--- live_V = (regV "live") ;
|
|
||||||
--- long_A = regADeg "long" ;
|
|
||||||
--- lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
|
||||||
- love_N = mkN "amor" ;
|
|
||||||
- love_V2 = mkV2 "amare" ;
|
|
||||||
--- man_N = mkN masculine (mk2N "man" "men") ;
|
|
||||||
--- married_A2 = mkA2 (regA "married") toP ;
|
|
||||||
--- meat_N = mkN "meat" ;
|
|
||||||
--- milk_N = mkN "milk" ;
|
|
||||||
--- moon_N = mkN "moon" ;
|
|
||||||
--- mother_N2 = mkN2 (mkN feminine (mkN "mother")) (mkPrep "of") ;
|
|
||||||
--- mountain_N = mkN "mountain" ;
|
|
||||||
--- music_N = mkN "music" ;
|
|
||||||
--- narrow_A = regADeg "narrow" ;
|
|
||||||
--- new_A = regADeg "new" ;
|
|
||||||
--- newspaper_N = mkN "newspaper" ;
|
|
||||||
--- oil_N = mkN "oil" ;
|
|
||||||
--- old_A = regADeg "old" ;
|
|
||||||
--- open_V2 = dirV2 (regV "open") ;
|
|
||||||
--- paint_V2A = mkV2A (regV "paint") noPrep ;
|
|
||||||
--- paper_N = mkN "paper" ;
|
|
||||||
--- paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
|
||||||
--- peace_N = mkN "peace" ;
|
|
||||||
--- pen_N = mkN "pen" ;
|
|
||||||
--- planet_N = mkN "planet" ;
|
|
||||||
--- plastic_N = mkN "plastic" ;
|
|
||||||
--- play_V2 = dirV2 (regV "play") ;
|
|
||||||
--- policeman_N = mkN masculine (mkN "policeman" "policemen") ;
|
|
||||||
--- priest_N = mkN human (mkN "priest") ;
|
|
||||||
--- probable_AS = mkAS (regA "probable") ;
|
|
||||||
--- queen_N = mkN feminine (mkN "queen") ;
|
|
||||||
--- radio_N = mkN "radio" ;
|
|
||||||
--- rain_V0 = mkV0 (regV "rain") ;
|
|
||||||
--- read_V2 = dirV2 (irregV "read" "read" "read") ;
|
|
||||||
--- red_A = duplADeg "red" ;
|
|
||||||
--- religion_N = mkN "religion" ;
|
|
||||||
--- restaurant_N = mkN "restaurant" ;
|
|
||||||
--- river_N = mkN "river" ;
|
|
||||||
--- rock_N = mkN "rock" ;
|
|
||||||
--- roof_N = mkN "roof" ;
|
|
||||||
--- rubber_N = mkN "rubber" ;
|
|
||||||
--- run_V = (irregDuplV "run" "ran" "run") ;
|
|
||||||
--- say_VS = mkVS (irregV "say" "said" "said") ;
|
|
||||||
--- school_N = mkN "school" ;
|
|
||||||
--- science_N = mkN "science" ;
|
|
||||||
--- sea_N = mkN "sea" ;
|
|
||||||
--- seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
|
||||||
--- see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
|
||||||
--- sell_V3 = dirV3 (irregV "sell" "sold" "sold") toP ;
|
|
||||||
--- send_V3 = dirV3 (irregV "send" "sent" "sent") toP ;
|
|
||||||
--- sheep_N = mk2N "sheep" "sheep" ;
|
|
||||||
--- ship_N = mkN "ship" ;
|
|
||||||
--- shirt_N = mkN "shirt" ;
|
|
||||||
--- shoe_N = mkN "shoe" ;
|
|
||||||
--- shop_N = mkN "shop" ;
|
|
||||||
--- short_A = regADeg "short" ;
|
|
||||||
--- silver_N = mkN "silver" ;
|
|
||||||
--- sister_N = mkN2 (mkN feminine (mkN "sister")) (mkPrep "of") ;
|
|
||||||
- sleep_V = mkV "dormio" "dormivi" "dormitus" "dormire" ;
|
|
||||||
--- small_A = regADeg "small" ;
|
|
||||||
--- snake_N = mkN "snake" ;
|
|
||||||
--- sock_N = mkN "sock" ;
|
|
||||||
--- speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
|
||||||
--- star_N = mkN "star" ;
|
|
||||||
--- steel_N = mkN "steel" ;
|
|
||||||
--- stone_N = mkN "stone" ;
|
|
||||||
--- stove_N = mkN "stove" ;
|
|
||||||
--- student_N = mkN human (mkN "student") ;
|
|
||||||
--- stupid_A = regADeg "stupid" ;
|
|
||||||
--- sun_N = mkN "sun" ;
|
|
||||||
--- switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
|
||||||
--- switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
|
||||||
--- table_N = mkN "table" ;
|
|
||||||
--- talk_V3 = mkV3 (regV "talk") toP aboutP ;
|
|
||||||
--- teacher_N = mkN human (mkN "teacher") ;
|
|
||||||
--- teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
|
||||||
--- television_N = mkN "television" ;
|
|
||||||
--- thick_A = regADeg "thick" ;
|
|
||||||
--- thin_A = duplADeg "thin" ;
|
|
||||||
--- train_N = mkN "train" ;
|
|
||||||
--- travel_V = (regDuplV "travel") ;
|
|
||||||
--- tree_N = mkN "tree" ;
|
|
||||||
--- ---- trousers_N = mkN "trousers" ;
|
|
||||||
--- ugly_A = regADeg "ugly" ;
|
|
||||||
--- understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
|
||||||
--- university_N = mkN "university" ;
|
|
||||||
--- village_N = mkN "village" ;
|
|
||||||
--- wait_V2 = prepV2 (regV "wait") forP ;
|
|
||||||
--- walk_V = (regV "walk") ;
|
|
||||||
--- warm_A = regADeg "warm" ;
|
|
||||||
--- war_N = mkN "war" ;
|
|
||||||
--- watch_V2 = dirV2 (regV "watch") ;
|
|
||||||
--- water_N = mkN "water" ;
|
|
||||||
--- white_A = regADeg "white" ;
|
|
||||||
--- window_N = mkN "window" ;
|
|
||||||
--- wine_N = mkN "wine" ;
|
|
||||||
--- win_V2 = dirV2 (irregDuplV "win" "won" "won") ;
|
|
||||||
--- woman_N = mkN feminine (mk2N "woman" "women") ;
|
|
||||||
--- wonder_VQ = mkVQ (regV "wonder") ;
|
|
||||||
--- wood_N = mkN "wood" ;
|
|
||||||
--- write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
|
||||||
--- yellow_A = regADeg "yellow" ;
|
|
||||||
--- young_A = regADeg "young" ;
|
|
||||||
---
|
|
||||||
--- do_V2 = dirV2 (mk5V "do" "does" "did" "done" "doing") ;
|
|
||||||
--- now_Adv = mkAdv "now" ;
|
|
||||||
--- already_Adv = mkAdv "already" ;
|
|
||||||
--- song_N = mkN "song" ;
|
|
||||||
--- add_V3 = dirV3 (regV "add") toP ;
|
|
||||||
--- number_N = mkN "number" ;
|
|
||||||
--- put_V2 = prepV2 (irregDuplV "put" "put" "put") noPrep ;
|
|
||||||
--- stop_V = regDuplV "stop" ;
|
|
||||||
--- jump_V = regV "jump" ;
|
|
||||||
---
|
|
||||||
--- left_Ord = ss "left" ;
|
|
||||||
--- right_Ord = ss "right" ;
|
|
||||||
--- far_Adv = mkAdv "far" ;
|
|
||||||
--- correct_A = (regA "correct") ;
|
|
||||||
--- dry_A = regA "dry" ;
|
|
||||||
--- dull_A = regA "dull" ;
|
|
||||||
--- full_A = regA "full" ;
|
|
||||||
--- heavy_A = regA "heavy" ;
|
|
||||||
--- near_A = regA "near" ;
|
|
||||||
--- rotten_A = (regA "rotten") ;
|
|
||||||
--- round_A = regA "round" ;
|
|
||||||
--- sharp_A = regA "sharp" ;
|
|
||||||
--- smooth_A = regA "smooth" ;
|
|
||||||
--- straight_A = regA "straight" ;
|
|
||||||
--- wet_A = regA "wet" ; ----
|
|
||||||
--- wide_A = regA "wide" ;
|
|
||||||
--- animal_N = mkN "animal" ;
|
|
||||||
--- ashes_N = mkN "ash" ; -- FIXME: plural only?
|
|
||||||
--- back_N = mkN "back" ;
|
|
||||||
--- bark_N = mkN "bark" ;
|
|
||||||
--- belly_N = mkN "belly" ;
|
|
||||||
--- blood_N = mkN "blood" ;
|
|
||||||
--- bone_N = mkN "bone" ;
|
|
||||||
--- breast_N = mkN "breast" ;
|
|
||||||
--- cloud_N = mkN "cloud" ;
|
|
||||||
--- day_N = mkN "day" ;
|
|
||||||
--- dust_N = mkN "dust" ;
|
|
||||||
--- ear_N = mkN "ear" ;
|
|
||||||
--- earth_N = mkN "earth" ;
|
|
||||||
--- egg_N = mkN "egg" ;
|
|
||||||
--- eye_N = mkN "eye" ;
|
|
||||||
--- fat_N = mkN "fat" ;
|
|
||||||
--- feather_N = mkN "feather" ;
|
|
||||||
--- fingernail_N = mkN "fingernail" ;
|
|
||||||
--- fire_N = mkN "fire" ;
|
|
||||||
--- flower_N = mkN "flower" ;
|
|
||||||
--- fog_N = mkN "fog" ;
|
|
||||||
--- foot_N = mk2N "foot" "feet" ;
|
|
||||||
--- forest_N = mkN "forest" ;
|
|
||||||
--- grass_N = mkN "grass" ;
|
|
||||||
--- guts_N = mkN "gut" ; -- FIXME: no singular
|
|
||||||
--- hair_N = mkN "hair" ;
|
|
||||||
--- hand_N = mkN "hand" ;
|
|
||||||
--- head_N = mkN "head" ;
|
|
||||||
--- heart_N = mkN "heart" ;
|
|
||||||
--- horn_N = mkN "horn" ;
|
|
||||||
--- husband_N = mkN masculine (mkN "husband") ;
|
|
||||||
--- ice_N = mkN "ice" ;
|
|
||||||
--- knee_N = mkN "knee" ;
|
|
||||||
--- leaf_N = mk2N "leaf" "leaves" ;
|
|
||||||
--- leg_N = mkN "leg" ;
|
|
||||||
--- liver_N = mkN "liver" ;
|
|
||||||
--- louse_N = mk2N "louse" "lice" ;
|
|
||||||
--- mouth_N = mkN "mouth" ;
|
|
||||||
--- name_N = mkN "name" ;
|
|
||||||
--- neck_N = mkN "neck" ;
|
|
||||||
--- night_N = mkN "night" ;
|
|
||||||
--- nose_N = mkN "nose" ;
|
|
||||||
--- person_N = mkN human (mkN "person") ;
|
|
||||||
--- rain_N = mkN "rain" ;
|
|
||||||
--- road_N = mkN "road" ;
|
|
||||||
--- root_N = mkN "root" ;
|
|
||||||
--- rope_N = mkN "rope" ;
|
|
||||||
--- salt_N = mkN "salt" ;
|
|
||||||
--- sand_N = mkN "sand" ;
|
|
||||||
--- seed_N = mkN "seed" ;
|
|
||||||
--- skin_N = mkN "skin" ;
|
|
||||||
--- sky_N = mkN "sky" ;
|
|
||||||
--- smoke_N = mkN "smoke" ;
|
|
||||||
--- snow_N = mkN "snow" ;
|
|
||||||
--- stick_N = mkN "stick" ;
|
|
||||||
--- tail_N = mkN "tail" ;
|
|
||||||
--- tongue_N = mkN "tongue" ;
|
|
||||||
--- tooth_N = mk2N "tooth" "teeth" ;
|
|
||||||
--- wife_N = mkN feminine (mk2N "wife" "wives") ;
|
|
||||||
--- wind_N = mkN "wind" ;
|
|
||||||
--- wing_N = mkN "wing" ;
|
|
||||||
--- worm_N = mkN "worm" ;
|
|
||||||
--- year_N = mkN "year" ;
|
|
||||||
--- blow_V = IrregLat.blow_V ;
|
|
||||||
--- breathe_V = dirV2 (regV "breathe") ;
|
|
||||||
--- burn_V = IrregLat.burn_V ;
|
|
||||||
--- dig_V = IrregLat.dig_V ;
|
|
||||||
--- fall_V = IrregLat.fall_V ;
|
|
||||||
--- float_V = regV "float" ;
|
|
||||||
--- flow_V = regV "flow" ;
|
|
||||||
--- fly_V = IrregLat.fly_V ;
|
|
||||||
--- freeze_V = IrregLat.freeze_V ;
|
|
||||||
--- give_V3 = dirV3 give_V toP ;
|
|
||||||
--- laugh_V = regV "laugh" ;
|
|
||||||
--- lie_V = IrregLat.lie_V ;
|
|
||||||
--- play_V = regV "play" ;
|
|
||||||
--- sew_V = IrregLat.sew_V ;
|
|
||||||
--- sing_V = IrregLat.sing_V ;
|
|
||||||
--- sit_V = IrregLat.sit_V ;
|
|
||||||
--- smell_V = regV "smell" ;
|
|
||||||
--- spit_V = IrregLat.spit_V ;
|
|
||||||
--- stand_V = IrregLat.stand_V ;
|
|
||||||
--- swell_V = IrregLat.swell_V ;
|
|
||||||
--- swim_V = IrregLat.swim_V ;
|
|
||||||
--- think_V = IrregLat.think_V ;
|
|
||||||
--- turn_V = regV "turn" ;
|
|
||||||
--- vomit_V = regV "vomit" ;
|
|
||||||
---
|
|
||||||
--- bite_V2 = dirV2 IrregLat.bite_V ;
|
|
||||||
--- count_V2 = dirV2 (regV "count") ;
|
|
||||||
--- cut_V2 = dirV2 IrregLat.cut_V ;
|
|
||||||
--- fear_V2 = dirV2 (regV "fear") ;
|
|
||||||
--- fight_V2 = dirV2 fight_V ;
|
|
||||||
--- hit_V2 = dirV2 hit_V ;
|
|
||||||
--- hold_V2 = dirV2 hold_V ;
|
|
||||||
--- hunt_V2 = dirV2 (regV "hunt") ;
|
|
||||||
--- kill_V2 = dirV2 (regV "kill") ;
|
|
||||||
--- pull_V2 = dirV2 (regV "pull") ;
|
|
||||||
--- push_V2 = dirV2 (regV "push") ;
|
|
||||||
--- rub_V2 = dirV2 (regDuplV "rub") ;
|
|
||||||
--- scratch_V2 = dirV2 (regV "scratch") ;
|
|
||||||
--- split_V2 = dirV2 split_V ;
|
|
||||||
--- squeeze_V2 = dirV2 (regV "squeeze") ;
|
|
||||||
--- stab_V2 = dirV2 (regDuplV "stab") ;
|
|
||||||
--- suck_V2 = dirV2 (regV "suck") ;
|
|
||||||
--- throw_V2 = dirV2 throw_V ;
|
|
||||||
--- tie_V2 = dirV2 (regV "tie") ;
|
|
||||||
--- wash_V2 = dirV2 (regV "wash") ;
|
|
||||||
--- wipe_V2 = dirV2 (regV "wipe") ;
|
|
||||||
---
|
|
||||||
----- other_A = regA "other" ;
|
|
||||||
---
|
|
||||||
--- grammar_N = mkN "grammar" ;
|
|
||||||
--- language_N = mkN "language" ;
|
|
||||||
--- rule_N = mkN "rule" ;
|
|
||||||
---
|
|
||||||
----- added 4/6/2007
|
|
||||||
--- john_PN = mkPN (mkN masculine (mkN "John")) ;
|
|
||||||
--- question_N = mkN "question" ;
|
|
||||||
--- ready_A = regA "ready" ;
|
|
||||||
--- reason_N = mkN "reason" ;
|
|
||||||
--- today_Adv = mkAdv "today" ;
|
|
||||||
--- uncertain_A = regA "uncertain" ;
|
|
||||||
---
|
|
||||||
---oper
|
|
||||||
--- aboutP = mkPrep "about" ;
|
|
||||||
--- atP = mkPrep "at" ;
|
|
||||||
--- forP = mkPrep "for" ;
|
|
||||||
--- fromP = mkPrep "from" ;
|
|
||||||
--- inP = mkPrep "in" ;
|
|
||||||
--- onP = mkPrep "on" ;
|
|
||||||
--- toP = mkPrep "to" ;
|
|
||||||
---
|
|
||||||
+ airplane_N = mkN "aeroplanum" ; -- -i n. (http://la.wikipedia.org/wiki/A%C3%ABroplanum / Pons)
|
|
||||||
+ answer_V2S = mkV2S ( mkV "respondere" ) Dat_Prep ; -- -spondeo, -spondi, -sponsum 2 (Langenscheidts) alicui; ad, contra, adversus aliquid (Stowasser)
|
|
||||||
+ apartment_N = mkN "domicilium" ; -- -i n. (Langenscheidts)
|
|
||||||
+ apple_N = mkN "malum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ art_N = mkN "ars" "artis" feminine ; -- Ranta; artis f. (Langenscheidts)
|
|
||||||
+ ask_V2Q = mkV2Q ( mkV "rogare" ) Acc_Prep ; -- rogo 1 (Langenscheidts) aliquem aliquid (Stowasser)
|
|
||||||
+ baby_N = mkN "infans" "infantis" ( variants { feminine ; masculine } ); -- Ranta; -antis m./f. (Langenscheidts)
|
|
||||||
+ bad_A = mkA "malus" ; -- Ranta; peior, pessimus 3 (Langenscheidts)
|
|
||||||
+ bank_N = mkN "argentaria" ; -- -ae f. (http://la.wikipedia.org/wiki/Argentaria / Pons)
|
|
||||||
+ beautiful_A = mkA "pulcher" ; -- -chra, -chrum (Langenscheidts)
|
|
||||||
+ become_VA = mkVA (mkV "fieri") ; -- fio, factus (Langenscheidts)
|
|
||||||
+ beer_N = mkN ( "cervisia" ) ; -- Ranta; -ae f. (http://la.wikipedia.org/wiki/Cervisia / Pons)
|
|
||||||
+ beg_V2V = mkV2V ( mkV "petere" "peto" "petivi" "petitum" ) "ab" False ; -- peto, -tivi/tii, -titum 3 (Langenscheidts) ab aliquo (Stowasser)
|
|
||||||
+ big_A = mkA "magnus" ; -- Ranta; maior, maximus 3 (Langenscheidts)
|
|
||||||
+ bike_N = mkN "birota" ; -- -ae f. (http://la.wikipedia.org/wiki/Birota / Pons)
|
|
||||||
+ bird_N = mkN "avis" "avis" feminine ; -- Ranta; -is f. (Langenscheidts)
|
|
||||||
+ black_A = mkA "niger" ; -- Ranta; -gra, -grum (Langenscheidts)
|
|
||||||
+ blue_A = mkA ( variants { "caeruleus" ; "caerulus" } ) ; -- 3 (Langenscheidts)
|
|
||||||
+ boat_N = mkN "navicula" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ book_N = mkN "liber"; -- Ranta; -bri m. (Langenscheidts)
|
|
||||||
+ boot_N = mkN "calceus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ boss_N = mkN "dux" "ducis" ( variants { feminine ; masculine } ) ; -- ducis m./f. (Langenscheidts)
|
|
||||||
+ boy_N = mkN "puer" "pueri" masculine ; -- -eri m. (Langenscheidts)
|
|
||||||
+ bread_N = variants { (mkN "panis" "panis" masculine ) ; (mkN "pane" "panis" neuter ) } ; -- -is m./n. (Langenscheidts)
|
|
||||||
+ break_V2 = mkV2 ( mkV "rumpere" "rumpo" "rupi" "ruptum" ) ; -- Ranta; 3 (Langenscheidts) aliquem (Bayer-Lindauer 110)
|
|
||||||
+ broad_A = mkA "latus" ; -- 3 (Langenscheidts)
|
|
||||||
+ brother_N2 = mkN2 ( mkN "frater" "fratris" masculine ) Gen_Prep; -- -tris m. (Langenscheidts) alicuius (Bayer-Lindauer 125.2)
|
|
||||||
+ brown_A = mkA "fulvus" ; -- 3 (Langenscheidts)
|
|
||||||
+ butter_N = mkN "butyrum" ; -- -i n. (http://la.wikipedia.org/wiki/Butyrum / Pons)
|
|
||||||
+ buy_V2 = mkV2 (mkV "emere") ; -- emo, emi, emptum 3 (Langenscheidts) (Stowasser) ab, de aliquo (Stowasser)
|
|
||||||
+ -- Trying to work with Machina ++ photographica
|
|
||||||
+ camera_N = ResLat.useCNasN (AdjCN (PositA (mkA "photographicus") ) (UseN (mkN "machina" ) ) ) ; -- (http://la.wikipedia.org/wiki/Machina_photographica / Pons)
|
|
||||||
+ cap_N = mkN "galerus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ car_N = mkN "autoreada" ; -- -ae f. (Pons / http://la.wikipedia.org/wiki/Autocinetum)
|
|
||||||
+ carpet_N = mkN "stragulum" ; -- -i n. (Pons / http://la.wikipedia.org/wiki/Teges_pavimenti)
|
|
||||||
+ cat_N = mkN ( variants {"feles" ; "felis" } ) "felis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ ceiling_N = mkN "tegimentum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ chair_N = mkN "sedes" "sedis" feminine; -- -is f. (Langenscheidts)
|
|
||||||
+ cheese_N = mkN "caseus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ child_N = mkN "proles" "prolis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ church_N = mkN "ecclesia" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ city_N = mkN "urbs" "urbis" feminine; -- Ranta; urbis f. (Langenscheidts)
|
|
||||||
+ clean_A = mkA "lautus" ; -- 3 (Langenscheidts)
|
|
||||||
+ clever_A = mkA "callidus" ; -- 3 (Langenscheidts)
|
|
||||||
+ close_V2 = mkV2 (mkV "claudere") ; -- claudo, clasi, clausum 3 (Langenscheidts) aliquem (Bayer-Lindauer 110)
|
|
||||||
+ coat_N = mkN "pallium" ; -- -i n. (Langenscheidts)
|
|
||||||
+ cold_A = mkA "frigidus" ; -- 3 (Langenscheidts)
|
|
||||||
+ come_V = mkV "venire" ; -- veno, veni, ventum 4 (Langenscheidts)
|
|
||||||
+ computer_N = mkN "computatrum" ; -- -i n. (http://la.wikipedia.org/wiki/Computatrum / Pons)
|
|
||||||
+ country_N = mkN "terra" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ cousin_N = mkN ( variants {"consobrinus" ; "consobrina" } ) ; -- -i/-ae m./f. (Langenscheidts)
|
|
||||||
+ cow_N = mkN "bos" "bovis" ( variants { feminine ; masculine } ) ; -- bovis (gen. pl. boum, dat./abl. pl. bobus/bubus) m./f. (Langenscheidts)
|
|
||||||
+ die_V = mkV "mori" "mortuus" "morturus"; -- morior, mortuus sum, morturus (Langenscheidts)
|
|
||||||
+ dirty_A = mkA "sordidus" ; -- 3 (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ distance_N3 = mkN3 (mkN "distantia") from_Prep to_Prep ; -- -ae f. (Langenscheidts) ab, ad aliquem; alicuius; aliquem (???)
|
|
||||||
+ doctor_N = mkN "medicus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ dog_N = mkN "canis" "canis" ( variants { masculine ; feminine } ) ; -- -is m./f. (Langenscheidts)
|
|
||||||
+ door_N = mkN "porta" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ drink_V2 = mkV2 (mkV "bibere") ; -- bibo, potum 3 (Langenscheidts) aliquem (Bayer-Lindauer 110)
|
|
||||||
+ easy_A2V = mkA2V (mkA "facilis" "facile" ) for_Prep ; -- -e sup -illimus (Langenscheidts)
|
|
||||||
+ eat_V2 = mkV2 (mkV "cenare") ; -- ceno 1 (Langenscheidts) aliquem (Bayer-Lindauer 110)
|
|
||||||
+ empty_A = mkA "vacuus" ; -- 3 (Langenscheidts)
|
|
||||||
+ enemy_N = mkN "hostis" "hostis" ( variants { masculine ; feminine } ) ; -- -is m./f. (Langenscheidts)
|
|
||||||
+ factory_N = mkN "officina" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ father_N2 = mkN2 (mkN "pater" "patris" masculine ) Gen_Prep ; -- -tris m. gen pl -um (Langenscheidts) alicuius (Bayer-Lindauer 125.2)
|
|
||||||
+ fear_VS = mkVS (mkV "timere") ; -- timeo, timui, --- 2 (Langenscheidts)
|
|
||||||
+ find_V2 = mkV2 (mkV "reperire") ; -- reperio, repperi, repertum 4 (Langenscheidts) aliquem
|
|
||||||
+ fish_N = mkN "piscis" "piscis" masculine ; -- -is m. (Langenscheidts)
|
|
||||||
+ floor_N = mkN "pavimentum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ forget_V2 = mkV2 (mkV "oblivisci" "obliviscor" "oblitus" ) ; -- obliscor, oblitus sum 3 (Langenscheidts)
|
|
||||||
+ fridge_N = mkN "frigidarium" ; -- --i n. (Pons / http://la.wikipedia.org/wiki/Armarium_frigidarium)
|
|
||||||
+ friend_N = mkN ( variants { "amicus" ; "amica" } ) ; -- -i/-ae m./f. (Langenscheidts)
|
|
||||||
+ fruit_N = mkN "fructus" "fructus" masculine; -- -us m. (Langenscheidts)
|
|
||||||
+ fun_AV = mkAV (mkA "iocosus") ; -- 3 (Langenscheidts)
|
|
||||||
+ garden_N = mkN "hortus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ girl_N = mkN "puella" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ glove_N = mkN "caestus" "caestus" masculine ; --us m. (Langenscheidts)
|
|
||||||
+ gold_N = mkN "aurum" ; -- Ranta; -i n. (Langenscheidts)
|
|
||||||
+ good_A = mkA "bonus" ; -- Ranta; 3 comp melior, -us; sup optimus 3; adv bene
|
|
||||||
+ go_V = IrregLat.go_V ; -- eo, i(v)i, itum (Langenscheidts)
|
|
||||||
+ green_A = mkA "viridis" "viride"; -- -e (Langenscheidts)
|
|
||||||
+ harbour_N = mkN "portus" "portus" masculine ; -- -us m. (Langenscheidts)
|
|
||||||
+ hate_V2 = mkV2 IrregLat.hate_V Acc_Prep ; -- odi, osurus/odivi (Langenscheidts)
|
|
||||||
+ hat_N = mkN "petasus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ hear_V2 = mkV2 (mkV "audire") ; -- 4 (Langenscheidts)
|
|
||||||
+ hill_N = mkN "collis" "collis" masculine ; -- -is m. (Langenscheidts)
|
|
||||||
+ hope_VS = mkVS (mkV "sperare") ; -- 1 (Langenscheidts)
|
|
||||||
+ horse_N = mkN "equus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ hot_A = mkA "calidus" ; -- 3 (Langenscheidts)
|
|
||||||
+ house_N = mkN "domus" "domus" feminine ; -- -us f. (Langenscheidts)
|
|
||||||
+ important_A = mkA "gravis" "grave"; -- -e (Langenscheidts)
|
|
||||||
+ industry_N = mkN "industria" ; -- -ae f. (http://la.wikipedia.org/wiki/Industria / Pons)
|
|
||||||
+ iron_N = mkN "ferrum" ; -- -i m. (Langenscheidts)
|
|
||||||
+ king_N = mkN "rex" "regis" masculine; -- regis m. (Langenscheidts)
|
|
||||||
+ know_V2 = mkV2 (mkV "scire") ; -- scio, scivi/scii, scitum 4 (Langenscheidts)
|
|
||||||
+ know_VQ = mkV "scire" ;
|
|
||||||
+ know_VS = mkV "scire" ;
|
|
||||||
+ lake_N = mkN "lacus" "lacus" masculine; -- -us m. (Langenscheidts)
|
|
||||||
+ lamp_N = mkN "lucerna" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ learn_V2 = mkV2 (mkV "discere" "disco" "didici") ; -- disco, didici, - 3 (-isc-?) (Langenscheidts)
|
|
||||||
+ leather_N = mkN "scortum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ leave_V2 = mkV2 (mkV "relinquere" "relinquo" "relinqui" "relictum") ; -- relinquo, relinqui, relictum 3 (Langenscheidts)
|
|
||||||
+ like_V2 = mkV2 ( IrregLat.want_V ) ; -- vello, velli (volsi, vulsi), vulsum 3 (Langenscheidts)
|
|
||||||
+ listen_V2 = mkV2 (mkV "auscultare") ; -- ausculto 1 (Langenscheidts)
|
|
||||||
+ live_V = mkV "vivere" "vivo" "vixi" "victum" ; -- vivo, vixi, victurus 3 (Langenscheidts)
|
|
||||||
+ long_A = mkA "longus" ; -- 3 (Langenscheidts)
|
|
||||||
+ lose_V2 = mkV2 (mkV "amittere") ; -- amitto, amissi, amissum 3 (Langenscheidts)
|
|
||||||
+ love_N = mkN "amor" "amoris" masculine ; -- Ranta; -oris m. (Langenscheidts)
|
|
||||||
+ love_V2 = mkV2 "amare" ; -- Ranta; amo 1 (Langenscheidts)
|
|
||||||
+ man_N = mkN "vir" "viri" masculine ; -- viri m. (Langenscheidts)
|
|
||||||
+ -- Category not yet implemented
|
|
||||||
+ married_A2 = mkA2 (mkA "coniunctus") to_Prep; -- 3 (http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0060:entry=coniunctus&highlight=married)
|
|
||||||
+ meat_N = mkN "carnis" "carnis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ milk_N = mkN "lac" "lactis" neuter ; -- -- lactis n. (Langenscheidts)
|
|
||||||
+ moon_N = mkN "luna" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ mother_N2 = mkN2 ( mkN "mater" "matris" feminine ) Gen_Prep ; -- matris f. (Langenscheidts)
|
|
||||||
+ mountain_N = mkN "mons" "montis" masculine ; -- montis m. (Langenscheidts)
|
|
||||||
+ music_N = mkN "musica" ; -- -ae f. L..
|
|
||||||
+ narrow_A = mkA "angustus" ; -- 3 (Langenscheidts)
|
|
||||||
+ new_A = mkA "novus" ; -- 3 (Langenscheidts)
|
|
||||||
+ newspaper_N = mkN "diurnum" ; -- -i n. (Pons)
|
|
||||||
+ oil_N = mkN "oleum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ old_A = mkA "vetus" "veteris"; -- (Langenscheidts)
|
|
||||||
+ open_V2 = mkV2 (mkV "aperire") ; -- aperio, aperui, apertum 4 (Langenscheidts)
|
|
||||||
+ paint_V2A = mkV2A (mkV "pingere" "pingo" "pinxi" "pictum" ) Acc_Prep ; -- pingo, pinxi, pictum 3 (Langenscheidts)
|
|
||||||
+ paper_N = mkN "charta" ; -- -ae f. (http://la.wikipedia.org/wiki/Charta / Pons)
|
|
||||||
+ paris_PN = mkPN (mkN "Lutetia") ; -- -ae f. (http://la.wikipedia.org/wiki/Lutetia)
|
|
||||||
+ peace_N = mkN "pax" "pacis" feminine ; -- pacis f. (Langenscheidts)
|
|
||||||
+ pen_N = mkN "stilus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ planet_N = mkN "planeta" ; -- -ae m. (http://la.wikipedia.org/wiki/Planeta)
|
|
||||||
+ plastic_N = mkN "plastica" "plasticae" feminine ; -- -ae f. (http://la.wikipedia.org/wiki/Plasticum)
|
|
||||||
+ play_V2 = mkV2 (mkV "ludere" "ludo" "lusi" "lusum" ) ; -- ludo, lusi, lusum 3 (Langenscheidts)
|
|
||||||
+ policeman_N = mkN "custos" "custodis" ( variants { masculine ; feminine } ) ; -- -odis m./f. (Langenscheidts)
|
|
||||||
+ priest_N = mkN "sacerdos" "sacerdotis" ( variants { masculine ; feminine } ) ; -- -dotis m./f. (Langenscheidts)
|
|
||||||
+ probable_AS = mkAS (mkA "verisimilis" "verisimile") ; -- -e (Langenscheidts)
|
|
||||||
+ queen_N = mkN "regina" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ radio_N = mkN "radiophonum" ; -- -i n. (Pons / http://la.wikipedia.org/wiki/Radiophonia)
|
|
||||||
+ rain_V0 = mkV0 ( IrregLat.rain_V ) ; -- (Langenscheidts)
|
|
||||||
+ read_V2 = mkV2 (mkV "legere" "lego" "legi" "lectum") ; -- lego, legi, lectum 3 (Langenscheidts)
|
|
||||||
+ red_A = mkA "ruber" ; -- rubra, rubrum (Langenscheidts)
|
|
||||||
+ religion_N = mkN "religio" "religionis" feminine ; -- -onis f. (Langenscheidts)
|
|
||||||
+ restaurant_N = mkN "taberna" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ river_N = mkN "fluvius" ; -- -i m. (Langenscheidts)
|
|
||||||
+ rock_N = mkN "saxum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ roof_N = mkN "tectum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ rubber_N = mkN "cummis" "cummis" feminine ; -- -is f. Der kleine Stowasser
|
|
||||||
+ run_V = mkV "currere" "curro" "cucurri" "cursum" ; -- curro, cucurri, cursum 3 (Langenscheidts)
|
|
||||||
+ say_VS = mkVS (mkV "dicere" "dico" "dixi" "dictum") ; -- dico, dixi, dictum 3 (Langenscheidts)
|
|
||||||
+ school_N = mkN "schola" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ -- Irregular
|
|
||||||
+ science_N = IrregLat.science_N ;
|
|
||||||
+ sea_N = mkN "mare" "maris" neuter ; -- -is n. (Langenscheidts)
|
|
||||||
+ seek_V2 = mkV2 (mkV "quaerere" "quaero" "quaesivi" "quaesitum" ) ; -- quaero, quaesivi, quaesitum 3 (Langenscheidts)
|
|
||||||
+ see_V2 = mkV2 (mkV "videre") ; -- video, vidi, visum 2 (Langenscheidts)
|
|
||||||
+ sell_V3 = mkV3 ( mkV "vendere" "vendo" "vendidi" "venditum" ) Acc_Prep Dat_Prep ; -- vendo, vendidi, venditum 3 (Langenscheidts)
|
|
||||||
+ send_V3 = mkV3 ( mkV "mittere" "mitto" "misi" "missum" ) Acc_Prep Dat_Prep ; -- mitto, misi, missum 3 (Langenscheidts)
|
|
||||||
+ sheep_N = mkN "ovis" "ovis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ ship_N = mkN "navis" "navis" feminine ; -- -is f. acc. -em (-im) abl meist -i (Langenscheidts)
|
|
||||||
+ shirt_N = mkN "tunica" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ shoe_N = boot_N ;
|
|
||||||
+ shop_N = mkN "institorium" ; -- -i n. (Langenscheidts)
|
|
||||||
+ short_A = mkA "brevis" "breve" ; -- -e (Langenscheidts)
|
|
||||||
+ silver_N = mkN "argentum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ sister_N = mkN "soror" "sororis" feminine; -- -oris f. (Langenscheidts)
|
|
||||||
+-- sleep_V = mkV "dormio" "dormivi" "dormitus" "dormire" ; -- Ranta;
|
|
||||||
+ sleep_V = mkV "dormire" ; -- 4 (Langenscheidts)
|
|
||||||
+ small_A = mkA "parvus" ; -- 3 (Langenscheidts)
|
|
||||||
+ snake_N = mkN "serpens" "serpentis" ( variants { masculine ; feminine } ) ; -- -entis m./f. (Langenscheidts)
|
|
||||||
+ sock_N = mkN "impile" "impilis" masculine ; -- -is n. (Pons)
|
|
||||||
+ speak_V2 = mkV2 (mkV "loqui" "loquor" "locutus" ) ; -- loquor, locutus sum 3 (Langenscheidts)
|
|
||||||
+ star_N = mkN "stella" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ steel_N = mkN "chalybs" "chalybis" masculine ; -- chalybis m. (Langenscheidts)
|
|
||||||
+ stone_N = mkN "lapis" "lapidis" masculine ; -- -idis m. (Langenscheidts)
|
|
||||||
+ stove_N = mkN "fornax" "formacis" feminine ; -- -acis f. (Langenscheidts)
|
|
||||||
+ student_N = mkN ( variants { "discipulus"; "discipula" } ) ; -- -i/-ae m./f. (Langenscheidts)
|
|
||||||
+ stupid_A = mkA "stultus" ; -- 3 (Langenscheidts)
|
|
||||||
+ sun_N = mkN "sol" "solis" masculine ; -- solis m. (Langenscheidts)
|
|
||||||
+ switch8off_V2 = mkV2 (mkV "accendere") ; -- -cendo, -cendi, -censum 3 (Langenscheidts)
|
|
||||||
+ switch8on_V2 = mkV2 ( variants { mkV "exstinguere" "exstingo" "exstinxi" "exstinctum" ; mkV "extinguere" "extingo" "extinxi" "extinctum" } ) ; -- -ingo, -inxi, -inctum 3 (Langenscheidts)
|
|
||||||
+ table_N = mkN "mensa" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ talk_V3 = mkV3 ( lin V speak_V2 ) Dat_Prep Acc_Prep ;
|
|
||||||
+ teacher_N = mkN "magister" "magistri" masculine ; -- -tri m. (Langenscheidts)
|
|
||||||
+ teach_V2 = mkV2 (mkV "docere") ; -- doceo, docui, doctum 2 (Langenscheidts)
|
|
||||||
+ television_N = mkN "televisio" "televisionis" feminine ; -- -onis f. (Pons)
|
|
||||||
+ thick_A = mkA "crassus" ; -- 3 (Langenscheidts)
|
|
||||||
+ thin_A = mkA "tenuis" "tenue" ; -- -e (Langenscheidts)
|
|
||||||
+ train_N = mkN "hamaxostichus" ; -- -i m. (http://la.wikipedia.org/wiki/Hamaxostichus)
|
|
||||||
+ travel_V = ResLat.useVPasV ( ComplSlash ( SlashV2a ( mkV2 "facere" ) ) ( DetCN ( DetQuant IndefArt NumSg ) ( UseN ( mkN "iter" "itineris" Neutr ) ) ) ) ; -- facio, feci, factum 3
|
|
||||||
+ tree_N = mkN "arbor" "arboris" feminine ; -- -oris f.
|
|
||||||
+ -- Not even in English implemented
|
|
||||||
+---- trousers_N = mkN "trousers" ;
|
|
||||||
+ ugly_A = mkA "foedus" ; -- 3 (Langenscheidts)
|
|
||||||
+ understand_V2 = mkV2 (mkV "intellegere" "intellego" "intellexi" "intellectum" ) ; -- intellego, intellexi, intellectum 3 (Langenscheidts)
|
|
||||||
+ university_N = mkN "universitas" "universitatis" feminine ; -- -atis f. (http://la.wikipedia.org/wiki/Universitas) and (Langenscheidts)
|
|
||||||
+ village_N = mkN "vicus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ wait_V2 = mkV2 (mkV "exspectare") ; -- 1 (Langenscheidts)
|
|
||||||
+ walk_V = mkV "vadere" ; -- 3 (Langenscheidts)
|
|
||||||
+ warm_A = mkA "calidus" ; -- 3 (Langenscheidts)
|
|
||||||
+ war_N = mkN "bellum" ; -- -i m. (Langenscheidts)
|
|
||||||
+ watch_V2 = mkV2 (mkV "spectare") ; -- 1 (Langenscheidts)
|
|
||||||
+ water_N = mkN "aqua" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ white_A = mkA "albus" ; -- 3 (Langenscheidts)
|
|
||||||
+ window_N = mkN "fenestra" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ wine_N = mkN "vinum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ win_V2 = mkV2 (mkV "vincere") ; -- vinco, vici, victum 3 (Langenscheidts)
|
|
||||||
+ woman_N = mkN "femina" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ wonder_VQ = mkVQ (mkV "mirari") ; -- 1 (Langenscheidts)
|
|
||||||
+ wood_N = mkN "lignum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ write_V2 = mkV2 (mkV "scribere") ; -- scribo, scripsi, scriptum 3 (Langenscheidts)
|
|
||||||
+ yellow_A = mkA "flavus" ; -- 3 (Langenscheidts)
|
|
||||||
+ young_A = mkA "adulescens" "adulescentis"; -- -entis (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ do_V2 = mkV2 (mkV "agere") ; -- ago, egi, actum 3 (Langenscheidts)
|
|
||||||
+ now_Adv = mkAdv "nunc" ; -- (Langenscheidts)
|
|
||||||
+ already_Adv = mkAdv "iam" ; -- (Langenscheidts)
|
|
||||||
+ song_N = mkN "carmen" "carminis" neuter ; -- -inis n. (Langenscheidts)
|
|
||||||
+ add_V3 = mkV3 ( mkV "addere" "addo" "addidi" "additum" ) Acc_Prep to_P ; -- addo, addidi, additum 3 (Langenscheidts)
|
|
||||||
+ number_N = mkN "numerus" ; -- -i m.
|
|
||||||
+ put_V2 = mkV2 (mkV "ponere" "pono" "posui" "positum" ) ; -- pono, posui, positum 3 (Langenscheidts)
|
|
||||||
+ stop_V = mkV "sistere" "sisto" "steti" "statum" ; -- sisto, stiti/steti, statum 3 (Langenscheidts)
|
|
||||||
+ jump_V = mkV "saltare" ; -- 1 (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ left_Ord = ss "sinister" ; -- -tra, -trum (Langenscheidts)
|
|
||||||
+ right_Ord = ss "dexter" ; -- -t(e)ra, -t(e)rum (Langenscheidts)
|
|
||||||
+ far_Adv = mkAdv "longe" ; -- (Langenscheidts)
|
|
||||||
+ correct_A = mkA "rectus" ; -- 3 (Langenscheidts)
|
|
||||||
+ dry_A = mkA "aridus" ; -- 3 (Langenscheidts)
|
|
||||||
+ dull_A = mkA "bardus" ; -- 3 (Langenscheidts) u. (http://www.perseus.tufts.edu/hopper/text?doc=Perseus:text:1999.04.0060:entry=bardus&highlight=dull)
|
|
||||||
+ full_A = mkA "plenus" ; -- 3 (Langenscheidts)
|
|
||||||
+ heavy_A = mkA "gravis" "grave" ; -- -e (Langenscheidts)
|
|
||||||
+ near_A = mkA "propinquus" ; -- 3 (comp. durch propior, -ius sup. durch proximus 3) (Langenscheidts)
|
|
||||||
+ rotten_A = mkA "perditus" ; -- 3 (Langenscheidts)
|
|
||||||
+ round_A = mkA "rotundus" ; -- 3 (Langenscheidts)
|
|
||||||
+ sharp_A = mkA "acer" "acris" ; -- acris, acre (Langenscheidts)
|
|
||||||
+ smooth_A = mkA "lubricus" ; -- 3 (Langenscheidts)
|
|
||||||
+ straight_A = mkA "rectus" ; -- 3 (Langenscheidts)
|
|
||||||
+ wet_A = mkA "umidus" ; -- 3 (Langenscheidts)
|
|
||||||
+ wide_A = mkA "vastus" ; -- 3 (Langenscheidts)
|
|
||||||
+ animal_N = mkN "animal" "animalis" neuter ; -- -alis n. (Langenscheidts)
|
|
||||||
+ ashes_N = mkN "cinis" "cineris" masculine ; -- -eris m. (Langenscheidts) & Bayer-Lindauer 33 1.2
|
|
||||||
+ back_N = mkN "tergum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ bark_N = mkN "cortex" "corticis" ( variants { masculine ; feminine } ) ; -- -icis m./(f.) (Langenscheidts)
|
|
||||||
+ belly_N = mkN "venter" "ventris" masculine ; -- -tris m. (Langenscheidts)
|
|
||||||
+ blood_N = variants { mkN "sanguis" "sanguinis" masculine ; mkN "sangis" "sanginis" masculine} ; -- -inis m. (Langenscheidts)
|
|
||||||
+ bone_N = mkN "os" "ossis" neuter ; -- ossis n. (Langenscheidts)
|
|
||||||
+ breast_N = mkN "pectus""pectoris" neuter ; -- pectoris n. (Langenscheidts)
|
|
||||||
+ cloud_N = mkN "nubes" "nubis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ day_N = mkN "dies" "diei" ( variants { masculine ; feminine } ) ; -- -ei m./f. (Langenscheidts)
|
|
||||||
+ dust_N = mkN "pulvis" "pulveris" masculine; -- -veris m. (Langenscheidts)
|
|
||||||
+ ear_N = mkN "auris" "auris" feminine; -- -is f. (Langenscheidts)
|
|
||||||
+ earth_N = mkN "terra" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ egg_N = mkN "ovum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ eye_N = mkN "oculus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ fat_N = mkN "omentum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ feather_N = mkN "penna" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ fingernail_N = mkN "unguis" "unguis" masculine ; -- -is m. (Langenscheidts)
|
|
||||||
+ fire_N = mkN "ignis" "ignis" masculine; -- -is m. (Langenscheidts)
|
|
||||||
+ flower_N = mkN "flos" "floris" masculine ; -- floris m. (Langenscheidts)
|
|
||||||
+ fog_N = mkN "nebula" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ foot_N = mkN "pes" "pedis" masculine ; -- pedis m. (Langenscheidts)
|
|
||||||
+ forest_N = mkN "silva" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ grass_N = mkN "gramen" "graminis" neuter ; -- -inis n. (Langenscheidts)
|
|
||||||
+ guts_N = mkN "intestinum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ hair_N = mkN "capillus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ hand_N = mkN "manus" "manus" feminine ; -- -us f. (Langenscheidts)
|
|
||||||
+ head_N = mkN "caput" "capitis" neuter ; -- -itis n. (Langenscheidts)
|
|
||||||
+ heart_N = mkN "cor" "cordis" neuter; -- cordis n. (Langenscheidts)
|
|
||||||
+ horn_N = mkN ( variants { "cornu" ; "cornus" } ) "cornus" neuter ; -- -us n. (Langenscheidts)
|
|
||||||
+ husband_N = mkN "maritus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ ice_N = mkN "glacies" "glaciei" feminine ; -- -ei f. (Langenscheidts)
|
|
||||||
+ knee_N = mkN "genu" "genus" neuter ; -- -us n. (Langenscheidts)
|
|
||||||
+ leaf_N = mkN "folium" ; -- -i n. (Langenscheidts)
|
|
||||||
+ leg_N = bone_N ;
|
|
||||||
+ liver_N = variants { ( mkN "iecur" "iecoris" neuter ) ; ( mkN "iocur" "iocineris" neuter ) } ; -- iecoris/iocineris n. (Langenscheidts)
|
|
||||||
+ louse_N = mkN "pedis" "pedis" ( variants { masculine ; feminine } ) ; -- -is m./f. (Langenscheidts)
|
|
||||||
+ mouth_N = mkN "os" "oris" neuter ; -- oris n. (Langenscheidts)
|
|
||||||
+ name_N = mkN "nomen" "nominis" neuter ; -- -inis n. (Langenscheidts)
|
|
||||||
+ neck_N = mkN "cervix" "cervicis" feminine ; -- -icis f. (meist pl.) (Langenscheidts)
|
|
||||||
+ night_N = mkN "nox" "noctis" feminine ; -- noctis f. (Langenscheidts)
|
|
||||||
+ nose_N = mkN ( variants { "nasus" ; "nasum" } ) ; -- -i m./n. (Langenscheidts)
|
|
||||||
+ person_N = mkN "persona" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ rain_N = mkN "pluvia" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ road_N = mkN "via" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ root_N = mkN "radix" "radicis" feminine ; -- -icis f. (Langenscheidts)
|
|
||||||
+ rope_N = mkN "funis" "funis" ( variants { masculine ; feminine } ) ; -- -is m.(/f.) (Langenscheidts)
|
|
||||||
+ salt_N = mkN "sal" "salis" ( variants { masculine ; neuter } ) ; -- salis m./n. (Langenscheidts)
|
|
||||||
+ sand_N = mkN "arena" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ seed_N = mkN "semen" "seminis" neuter ; -- -inis n. (Langenscheidts)
|
|
||||||
+ skin_N = mkN "cutis" "cutis" feminine ; -- -is f. (Langenscheidts)
|
|
||||||
+ sky_N = mkN "caelum" ; -- -i n. (Langenscheidts)
|
|
||||||
+ smoke_N = mkN "fumus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ snow_N = mkN "nix" "nivis" feminine ; -- nivis (gen. pl. -ium) f. (Langenscheidts)
|
|
||||||
+ stick_N = mkN ( variants { "baculum" ; "baculus" } ) ; -- -i n./m.
|
|
||||||
+ tail_N = mkN "cauda" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ tongue_N = mkN "lingua" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ tooth_N = mkN "dens" "dentis" masculine; -- dentis m. (Langenscheidts)
|
|
||||||
+ wife_N = mkN "mulier" "mulieris" feminine; -- -eris f. (Langenscheidts)
|
|
||||||
+ wind_N = mkN "ventus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ wing_N = mkN "ala" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ worm_N = mkN "vermis" "vermis" masculine ; -- -is m. (Langenscheidts)
|
|
||||||
+ year_N = mkN "annus" ; -- -i m. (Langenscheidts)
|
|
||||||
+ blow_V = mkV "flare" ; -- flo 1 (Langenscheidts)
|
|
||||||
+ breathe_V = mkV "spirare" ; -- spiro 1 (Langenscheidts)
|
|
||||||
+ burn_V = mkV "ardere" ; -- ardeo, arsi, arsum 2 (Langenscheidts)
|
|
||||||
+ dig_V = mkV "fodere" "fodio" "fodi" "fossum" ; -- fodio, fodi, fossum 3 (Langenscheidts)
|
|
||||||
+ fall_V = mkV "caedere" "caedo" "cecidi" "caesum" ; -- caedo, cecidi, caesum 3 (Langenscheidts)
|
|
||||||
+ float_V = mkV "fluitere" ; -- fluito 1 (Langenscheidts)
|
|
||||||
+ flow_V = mkV "fluere" "fluo" "fluxi" "fluctum" ; -- fluo, fluxi, fluxum 3 (Langenscheidts)
|
|
||||||
+ fly_V = mkV "volare" ; -- volo 1 (Langenscheidts)
|
|
||||||
+ freeze_V = mkV "gelare" ; -- gelo 1 (Langenscheidts)
|
|
||||||
+ -- Category not yet implemented
|
|
||||||
+ give_V3 = mkV3 (mkV "donare" ) from_Prep to_Prep ;
|
|
||||||
+ laugh_V = mkV "ridere" ; -- rideo, -si, -sum 2 (Langenscheidts)
|
|
||||||
+ lie_V = mkV "iacere" ; -- iaceo, iacui, - 2 (Langenscheidts)
|
|
||||||
+ play_V = mkV "ludere" ; -- ludo, -si, -sum 3 (Langenscheidts)
|
|
||||||
+ sew_V = mkV "serere" "sero" "sevi" "satum" ; -- sero, sevi, satum 3 (Langenscheidts)
|
|
||||||
+ sing_V = mkV "cantare" ; -- canto 1 (Langenscheidts)
|
|
||||||
+ sit_V = mkV "sedere" ; -- sedeo, sedi, sessum 2 (Langenscheidts)
|
|
||||||
+ smell_V = mkV "olere" ; -- oleo, -ui, - 2 (Langenscheidts)
|
|
||||||
+ spit_V = mkV "spuere" "spuo" "spui" "sputum" ; -- spuo, -ui, -utum 3 (Langenscheidts)
|
|
||||||
+ stand_V = mkV "stare" ; -- sto, steti, staturus, statum 1 (Langenscheidts)
|
|
||||||
+ swell_V = mkV "intumescere" "intumesco" "intumui" ; -- intumesco, -mui, - 3 (Langenscheidts)
|
|
||||||
+ swim_V = mkV "natare" ; -- nato 1 (Langenscheidts)
|
|
||||||
+ think_V = mkV "cogitare" ; -- cogito 1 (Langenscheidts)
|
|
||||||
+ turn_V = mkV "vertere" ; -- verso 1 (Langenscheidts)
|
|
||||||
+ vomit_V = mkV "vomere" "vomo" "vomui" "vomitum" ; -- vomo, -ui, -itum 3 (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ bite_V2 = mkV2 "mordere" ; -- mordeo, momordi, morsum 2 (Langenscheidts)
|
|
||||||
+ count_V2 = mkV2 (mkV "numerare") ; -- numero 1 (Langenscheidts)
|
|
||||||
+ cut_V2 = mkV2 (mkV "secare" ) ; -- seco, secui, sectum, secaturus 1 (Langenscheidts)
|
|
||||||
+ fear_V2 = mkV2 (mkV "timere") ; -- timeo, ui, - 2 (Langenscheidts)
|
|
||||||
+ fight_V2 = mkV2 (mkV "pugnare" ) ; -- pugno 1 (Langenscheidts)
|
|
||||||
+ hit_V2 = mkV2 ( mkV "ferire" ) ; -- ferio, -, - 4 (Langenscheidts)
|
|
||||||
+ hold_V2 = mkV2 ( mkV "tenere" ) ; -- teneo, tenui, tentum 2 (Langenscheidts)
|
|
||||||
+ hunt_V2 = mkV2 (mkV "agitare") ; -- agito 1 (Langenscheidts)
|
|
||||||
+ kill_V2 = mkV2 (mkV "necare") ; -- neco 1 (Langenscheidts)
|
|
||||||
+ pull_V2 = mkV2 (mkV "trahere" "traho" "traxi" "tractum" ) ; -- traho, traxi, tractum 3 (Langenscheidts)
|
|
||||||
+ push_V2 = mkV2 (mkV "premere" "premo" "pressi" "pressum" ) ; -- premo, pressi, pressum 3 (Langenscheidts)
|
|
||||||
+ rub_V2 = mkV2 (mkV "radere" "rado" "rasi" "rasum" ) ; -- raso, -si, -sum 3 (Langenscheidts)
|
|
||||||
+ scratch_V2 = mkV2 (mkV "scalpere" "scalpo" "scalpsi" "scalptum" ) ; -- scalpo, -psi, -ptum 3 (Langenscheidts)
|
|
||||||
+ split_V2 = mkV2 ( mkV "scindere" "scindo" "scidi" "scissum" ) ; -- scindo, -idi, -issum 3 (Langenscheidts)
|
|
||||||
+ squeeze_V2 = mkV2 (mkV "premere" "premo" "pressi" "pressum" ) ; -- premo, pressi, pressum 3 (Langenscheidts)
|
|
||||||
+ stab_V2 = mkV2 (mkV "transfigere" "transfigo" "transfixi" "transfixum") ; -- -figo, -fixi, fixum 3 (Langenscheidts)
|
|
||||||
+ suck_V2 = mkV2 (mkV "fellare") ; -- fel(l)o 1 (Langenscheidts)
|
|
||||||
+ throw_V2 = mkV2 (mkV "iacere" "iacio" "ieci" "iactum" ) ; -- iacio, ieci, iactum 3 (Langenscheidts)
|
|
||||||
+ tie_V2 = mkV2 (mkV "vincire") ; -- vincio, vinxi, vinctum 4 (Langenscheidts)
|
|
||||||
+ wash_V2 = mkV2 (mkV "lavare") ; -- lavo, lavi, lautum (lotum)/lavatum 1 (Langenscheidts)
|
|
||||||
+ wipe_V2 = mkV2 (mkV "detergere") ; -- detergeo, -tersi, -tersum 2/ detergo, -, - 3 (Langenscheidts)
|
|
||||||
+
|
|
||||||
+---- other_A = mkA "other" ;
|
|
||||||
+
|
|
||||||
+ grammar_N = mkN "grammatica" ; -- -ae/-orum f./n. (http://la.wikipedia.org/wiki/Grammatica) and (Langenscheidts)
|
|
||||||
+ language_N = mkN "lingua" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ rule_N = mkN "regula" ; -- -ae f. (Langenscheidts)
|
|
||||||
+
|
|
||||||
+-- added 4/6/2007
|
|
||||||
+ john_PN = mkPN (mkN "Iohannes") ; -- (http://en.wikipedia.org/wiki/John_(given_name))
|
|
||||||
+ question_N = mkN "rogatio" "rogationis" feminine; -- -onis f. (Langenscheidts)
|
|
||||||
+ ready_A = mkA "paratus" ; -- 3 (Langenscheidts)
|
|
||||||
+ reason_N = mkN "causa" ; -- -ae f. (Langenscheidts)
|
|
||||||
+ today_Adv = mkAdv "hodie" ; -- (Langenscheidts)
|
|
||||||
+ uncertain_A = mkA "incertus" ; -- 3 (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ alas_Interj = ss "eheu" ;
|
|
||||||
}
|
|
||||||
@@ -1,818 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/MorphoLat.gf b/lib/src/latin/MorphoLat.gf
|
|
||||||
index 1236145..9c11286 100644
|
|
||||||
--- a/lib/src/latin/MorphoLat.gf
|
|
||||||
+++ b/lib/src/latin/MorphoLat.gf
|
|
||||||
@@ -1,197 +1,624 @@
|
|
||||||
-----# -path=.:../../prelude
|
|
||||||
---
|
|
||||||
-----1 A Simple Latlish Resource Morphology
|
|
||||||
-----
|
|
||||||
----- Aarne Ranta 2002 -- 2005
|
|
||||||
-----
|
|
||||||
----- This resource morphology contains definitions needed in the resource
|
|
||||||
----- syntax. To build a lexicon, it is better to use $ParadigmsLat$, which
|
|
||||||
----- gives a higher-level access to this module.
|
|
||||||
---
|
|
||||||
---resource MorphoLat = ResLat ** open Prelude, (Predef=Predef) in {
|
|
||||||
+--# -path=.:../prelude
|
|
||||||
+
|
|
||||||
+--1 A Simple Latin Resource Morphology.
|
|
||||||
+
|
|
||||||
+-- Herbert Lange 2013
|
|
||||||
+
|
|
||||||
+-- This resource morphology contains definitions needed in the resource
|
|
||||||
+-- syntax. To build a lexicon, it is better to use $ParadigmsLat$, which
|
|
||||||
+-- gives a higher-level access to this module.
|
|
||||||
+
|
|
||||||
+resource MorphoLat = ParamX, ResLat ** open Prelude in {
|
|
||||||
--
|
|
||||||
-- flags optimize=all ;
|
|
||||||
--
|
|
||||||
+
|
|
||||||
----2 Phonology
|
|
||||||
-----
|
|
||||||
----- To regulate the use of endings for both nouns, adjectives, and verbs:
|
|
||||||
---
|
|
||||||
---oper
|
|
||||||
--- y2ie : Str -> Str -> Str = \fly,s ->
|
|
||||||
--- let y = last (init fly) in
|
|
||||||
--- case y of {
|
|
||||||
--- "a" => fly + s ;
|
|
||||||
--- "e" => fly + s ;
|
|
||||||
--- "o" => fly + s ;
|
|
||||||
--- "u" => fly + s ;
|
|
||||||
--- _ => init fly + "ie" + s
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
---
|
|
||||||
-----2 Nouns
|
|
||||||
-----
|
|
||||||
----- For conciseness and abstraction, we define a worst-case macro for
|
|
||||||
----- noun inflection. It is used for defining special case that
|
|
||||||
----- only need one string as argument.
|
|
||||||
---
|
|
||||||
---oper
|
|
||||||
--- CommonNoun : Type = {s : Number => Case => Str} ;
|
|
||||||
---
|
|
||||||
--- nounGen : Str -> CommonNoun = \dog -> case last dog of {
|
|
||||||
--- "y" => nounY "dog" ;
|
|
||||||
--- "s" => nounS (init "dog") ;
|
|
||||||
--- _ => nounReg "dog"
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
----- These are auxiliaries to $nounGen$.
|
|
||||||
---
|
|
||||||
--- nounReg : Str -> CommonNoun = \dog ->
|
|
||||||
--- mkNoun dog (dog + "s") (dog + "'s") (dog + "s'");
|
|
||||||
--- nounS : Str -> CommonNoun = \kiss ->
|
|
||||||
--- mkNoun kiss (kiss + "es") (kiss + "'s") (kiss + "es'") ;
|
|
||||||
--- nounY : Str -> CommonNoun = \fl ->
|
|
||||||
--- mkNoun (fl + "y") (fl + "ies") (fl + "y's") (fl + "ies'") ;
|
|
||||||
---
|
|
||||||
---
|
|
||||||
+oper
|
|
||||||
+ -- sounds and sound changes
|
|
||||||
+ vowel : pattern Str = #( "a" | "e" | "o" | "u" | "y" );
|
|
||||||
+ semivowel : pattern Str = #( "j" | "w" );
|
|
||||||
+ consonant : pattern Str = #( "p" | "b" | "f" | "v" | "m" | "t" | "d" | "s" | "z" | "n" | "r" | "c" | "g" | "l" | "q" | "qu" | "h" );
|
|
||||||
+ stop : pattern Str = #( "p" | "b" | "t" | "d" | "c" | "q" | "q" );
|
|
||||||
+ fricative : pattern Str = #( "f" | "v" | "s" | "z" | "h" );
|
|
||||||
+ nasal : pattern Str = #( "m" | "n" );
|
|
||||||
+ liquid : pattern Str = #( "r" | "l" );
|
|
||||||
+-- consonant : pattern Str = #(#stop | #fricative | #nasal | #liquid ); -- not working
|
|
||||||
+----2 Nouns
|
|
||||||
+
|
|
||||||
+-- declensions
|
|
||||||
+oper
|
|
||||||
+
|
|
||||||
+ -- a-Declension
|
|
||||||
+ noun1 : Str -> Noun = \mensa ->
|
|
||||||
+ let
|
|
||||||
+ mensae = mensa + "e" ;
|
|
||||||
+ mensis = init mensa + "is" ;
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ mensa (mensa +"m") mensae mensae mensa mensa
|
|
||||||
+ mensae (mensa + "s") (mensa + "rum") mensis
|
|
||||||
+ Fem ;
|
|
||||||
+
|
|
||||||
+ -- o-Declension
|
|
||||||
+ noun2us : Str -> Noun = \servus ->
|
|
||||||
+ let
|
|
||||||
+ serv = Predef.tk 2 servus ;
|
|
||||||
+ servum = serv + "um" ;
|
|
||||||
+ servi = serv + "i" ;
|
|
||||||
+ servo = serv + "o" ;
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ servus servum servi servo servo (serv + "e")
|
|
||||||
+ servi (serv + "os") (serv + "orum") (serv + "is")
|
|
||||||
+ Masc ;
|
|
||||||
+
|
|
||||||
+ noun2er : Str -> Str -> Noun = \liber,libri ->
|
|
||||||
+ let
|
|
||||||
+ libr : Str = Predef.tk 1 libri;
|
|
||||||
+ librum = libr + "um" ;
|
|
||||||
+ libri = libr + "i" ;
|
|
||||||
+ libro = libr + "o" ;
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ liber librum libri libro libro liber
|
|
||||||
+ libri ( libr + "os" ) ( libr + "orum" ) ( libr + "is" )
|
|
||||||
+ Masc ;
|
|
||||||
+
|
|
||||||
+ noun2um : Str -> Noun = \bellum ->
|
|
||||||
+ let
|
|
||||||
+ bell = Predef.tk 2 bellum ;
|
|
||||||
+ belli = bell + "i" ;
|
|
||||||
+ bello = bell + "o" ;
|
|
||||||
+ bella = bell + "a" ;
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ bellum bellum belli bello bello (bell + "um")
|
|
||||||
+ bella bella (bell + "orum") (bell + "is")
|
|
||||||
+ Neutr ;
|
|
||||||
+
|
|
||||||
+ -- Consonant declension
|
|
||||||
+ noun3c : Str -> Str -> Gender -> Noun = \rex,regis,g ->
|
|
||||||
+ let
|
|
||||||
+ reg : Str = Predef.tk 2 regis ;
|
|
||||||
+ regemes : Str * Str = case g of {
|
|
||||||
+ Masc | Fem => < reg + "em" , reg + "es" > ;
|
|
||||||
+ Neutr => < rex , reg + "a" >
|
|
||||||
+ } ;
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ rex regemes.p1 regis ( reg + "i" ) ( reg + "e" ) rex
|
|
||||||
+ regemes.p2 regemes.p2 ( reg + "um" ) ( reg + "ibus" )
|
|
||||||
+ g ;
|
|
||||||
+
|
|
||||||
+ -- i-declension
|
|
||||||
+ noun3i : Str -> Str -> Gender -> Noun = \ars,artis,g ->
|
|
||||||
+ let
|
|
||||||
+ art : Str = Predef.tk 2 artis ;
|
|
||||||
+ artemes : Str * Str = case g of {
|
|
||||||
+ Masc | Fem => < art + "em" , art + "es" > ;
|
|
||||||
+ Neutr => case art of {
|
|
||||||
+ _ + #consonant + #consonant => < ars , art + "a" > ; -- maybe complete fiction but may be working
|
|
||||||
+ _ => < ars , art + "ia" > -- Bayer-Lindauer 32 4
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
+ arte : Str = case ars of {
|
|
||||||
+ _ + ( "e" | "al" | "ar" ) => art + "i" ;
|
|
||||||
+ _ => art + "e"
|
|
||||||
+ };
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ ars artemes.p1 artis ( art + "i" ) arte ars
|
|
||||||
+ artemes.p2 artemes.p2 ( art + "ium" ) ( art + "ibus" )
|
|
||||||
+ g ;
|
|
||||||
+
|
|
||||||
+ -- u-Declension
|
|
||||||
+
|
|
||||||
+ noun4us : Str -> Noun = \fructus ->
|
|
||||||
+ let
|
|
||||||
+ fructu = init fructus ;
|
|
||||||
+ fruct = init fructu
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ fructus (fructu + "m") fructus (fructu + "i") fructu fructus
|
|
||||||
+ fructus fructus (fructu + "um") (fruct + "ibus")
|
|
||||||
+ Masc ;
|
|
||||||
+
|
|
||||||
+ noun4u : Str -> Noun = \cornu ->
|
|
||||||
+ let
|
|
||||||
+ corn = init cornu ;
|
|
||||||
+ cornua = cornu + "a"
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ cornu cornu (cornu + "s") cornu cornu cornu
|
|
||||||
+ cornua cornua (cornu + "um") (corn + "ibus")
|
|
||||||
+ Neutr ;
|
|
||||||
+
|
|
||||||
+ -- e-Declension
|
|
||||||
+ noun5 : Str -> Noun = \res ->
|
|
||||||
+ let
|
|
||||||
+ re = init res ;
|
|
||||||
+ rei = re + "i"
|
|
||||||
+ in
|
|
||||||
+ mkNoun
|
|
||||||
+ res (re+ "m") rei rei re res
|
|
||||||
+ res res (re + "rum") (re + "bus")
|
|
||||||
+ Fem ;
|
|
||||||
+
|
|
||||||
+ -- smart paradigms
|
|
||||||
+
|
|
||||||
+ noun_ngg : Str -> Str -> Gender -> Noun = \verbum,verbi,g ->
|
|
||||||
+ let s : Noun = case <verbum,verbi> of {
|
|
||||||
+ <_ + "a", _ + "ae"> => noun1 verbum ;
|
|
||||||
+ <_ + "us", _ + "i"> => noun2us verbum ;
|
|
||||||
+ <_ + "um", _ + "i"> => noun2um verbum ;
|
|
||||||
+ <_ + ( "er" | "ir" ) , _ + "i"> => noun2er verbum verbi ;
|
|
||||||
+
|
|
||||||
+ <_ + "us", _ + "us"> => noun4us verbum ;
|
|
||||||
+ <_ + "u", _ + "us"> => noun4u verbum ;
|
|
||||||
+ <_ + "es", _ + "ei"> => noun5 verbum ;
|
|
||||||
+ _ => noun3 verbum verbi g
|
|
||||||
+ }
|
|
||||||
+ in
|
|
||||||
+ nounWithGen g s ;
|
|
||||||
+
|
|
||||||
+ noun : Str -> Noun = \verbum ->
|
|
||||||
+ case verbum of {
|
|
||||||
+ _ + "a" => noun1 verbum ;
|
|
||||||
+ _ + "us" => noun2us verbum ;
|
|
||||||
+ _ + "um" => noun2um verbum ;
|
|
||||||
+ _ + ( "er" | "ir" ) => noun2er verbum ( (Predef.tk 2 verbum) + "ri" ) ;
|
|
||||||
+ _ + "u" => noun4u verbum ;
|
|
||||||
+ _ + "es" => noun5 verbum ;
|
|
||||||
+ _ => Predef.error ("3rd declinsion cannot be applied to just one noun form " ++ verbum)
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+ noun12 : Str -> Noun = \verbum ->
|
|
||||||
+ case verbum of {
|
|
||||||
+ _ + "a" => noun1 verbum ;
|
|
||||||
+ _ + "us" => noun2us verbum ;
|
|
||||||
+ _ + "um" => noun2um verbum ;
|
|
||||||
+ _ + ( "er" | "ir" ) =>
|
|
||||||
+ let
|
|
||||||
+ puer = verbum ;
|
|
||||||
+ pue = Predef.tk 1 puer ;
|
|
||||||
+ e = case puer of {
|
|
||||||
+ -- Exception of nouns where e is part of the word stem Bayer-Lindauer 27 4.2
|
|
||||||
+ "puer" | "socer" | "gener" | "vesper" => "e" ;
|
|
||||||
+ -- Exception of adjectives where e is part of the word stem 31 3.2
|
|
||||||
+ ("asper" | "miser" | "tener" | "frugifer") + _ => "e";
|
|
||||||
+ -- "liber" => ( "e" | "" ) ; conflicting with noun liber
|
|
||||||
+ _ => ""
|
|
||||||
+ } ;
|
|
||||||
+ pu = Predef.tk 1 pue ;
|
|
||||||
+ in noun2er verbum ( pu + e + "ri" );
|
|
||||||
+ _ => Predef.error ("noun12 does not apply to" ++ verbum)
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ noun3 : Str -> Str -> Gender -> Noun = \rex,regis,g ->
|
|
||||||
+ let
|
|
||||||
+ reg : Str = Predef.tk 2 regis ;
|
|
||||||
+ in
|
|
||||||
+ case <rex,reg> of {
|
|
||||||
+ -- Bos has to many exceptions to be handled correctly
|
|
||||||
+ < "bos" , "bov" > => mkNoun "bos" "bovem" "bovis" "bovi" "bove" "bos" "boves" "boves" "boum" "bobus" g;
|
|
||||||
+ -- Some exceptions with no fitting rules
|
|
||||||
+ < "nix" , _ > => noun3i rex regis g; -- Langenscheidts
|
|
||||||
+ < ( "sedes" | "canis" | "iuvenis" | "mensis" | "sal" ) , _ > => noun3c rex regis g ; -- Bayer-Lindauer 31 3 and Exercitia Latina 32 b), sal must be handled here because it will be handled wrongly by the next rule
|
|
||||||
+ < _ + ( "e" | "al" | "ar" ) , _ > => noun3i rex regis g ; -- Bayer-Lindauer 32 2.3
|
|
||||||
+ ( < _ + "ter" , _ + "tr" >
|
|
||||||
+ | < _ + "en" , _ + "in" >
|
|
||||||
+ | < _ + "s" , _ + "r" >
|
|
||||||
+ ) => noun3c rex regis g ; -- might not be right but seems fitting for Bayer-Lindauer 31 2.2
|
|
||||||
+ < _ , _ + #consonant + #consonant > => noun3i rex regis g ; -- Bayer-Lindauer 32 2.2
|
|
||||||
+ < _ + ( "is" | "es" ) , _ > =>
|
|
||||||
+ if_then_else
|
|
||||||
+ Noun
|
|
||||||
+ -- assumption based on Bayer-Lindauer 32 2.1
|
|
||||||
+ ( pbool2bool ( Predef.eqInt ( Predef.length rex ) ( Predef.length regis ) ) )
|
|
||||||
+ ( noun3i rex regis g )
|
|
||||||
+ ( noun3c rex regis g ) ;
|
|
||||||
+ _ => noun3c rex regis g
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
----3 Proper names
|
|
||||||
-----
|
|
||||||
----- Regular proper names are inflected with "'s" in the genitive.
|
|
||||||
---
|
|
||||||
--- nameReg : Str -> Gender -> {s : Case => Str} = \john,g ->
|
|
||||||
--- {s = table {Gen => john + "'s" ; _ => john} ; g = g} ;
|
|
||||||
---
|
|
||||||
+
|
|
||||||
----2 Determiners
|
|
||||||
---
|
|
||||||
--- mkDeterminer : Number -> Str -> {s,sp : Str ; n : Number} = \n,s ->
|
|
||||||
--- {s,sp = s ; n = n} ;
|
|
||||||
---
|
|
||||||
+
|
|
||||||
----2 Pronouns
|
|
||||||
-----
|
|
||||||
----- Here we define personal pronouns.
|
|
||||||
-----
|
|
||||||
----- We record the form "mine" and the gender for later use.
|
|
||||||
---
|
|
||||||
--- Pronoun : Type =
|
|
||||||
--- {s : Case => Str ; a : Agr} ;
|
|
||||||
---
|
|
||||||
--- mkPronoun : (_,_,_,_ : Str) -> Number -> Person -> Gender -> Pronoun =
|
|
||||||
--- \I,me,my,mine,n,p,g ->
|
|
||||||
--- {s = table {Nom => I ; Acc => me ; Gen => my} ;
|
|
||||||
--- a = toAgr n p g
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
--- human : Gender = Masc ; --- doesn't matter
|
|
||||||
---
|
|
||||||
--- pronI = mkPronoun "I" "me" "my" "mine" Sg P1 human ;
|
|
||||||
--- pronYouSg = mkPronoun "you" "you" "your" "yours" Sg P2 human ; -- verb agr OK
|
|
||||||
--- pronHe = mkPronoun "he" "him" "his" "his" Sg P3 Masc ;
|
|
||||||
--- pronShe = mkPronoun "she" "her" "her" "hers" Sg P3 Fem ;
|
|
||||||
--- pronIt = mkPronoun "it" "it" "its" "it" Sg P3 Neutr ;
|
|
||||||
---
|
|
||||||
--- pronWe = mkPronoun "we" "us" "our" "ours" Pl P1 human ;
|
|
||||||
--- pronYouPl = mkPronoun "you" "you" "your" "yours" Pl P2 human ;
|
|
||||||
--- pronThey = mkPronoun "they" "them" "their" "theirs" Pl P3 human ; ---
|
|
||||||
---
|
|
||||||
---
|
|
||||||
+
|
|
||||||
----2 Adjectives
|
|
||||||
-----
|
|
||||||
----- To form the adjectival and the adverbial forms, two strings are needed
|
|
||||||
----- in the worst case. (First without degrees.)
|
|
||||||
---
|
|
||||||
--- Adjective = {s : AForm => Str} ;
|
|
||||||
---
|
|
||||||
----- However, most adjectives can be inflected using the final character.
|
|
||||||
----- N.B. this is not correct for "shy", but $mkAdjective$ has to be used.
|
|
||||||
---
|
|
||||||
--- regAdjective : Str -> Adjective = \free ->
|
|
||||||
--- let
|
|
||||||
--- e = last free ;
|
|
||||||
--- fre = init free ;
|
|
||||||
--- freely = case e of {
|
|
||||||
--- "y" => fre + "ily" ;
|
|
||||||
--- _ => free + "ly"
|
|
||||||
--- } ;
|
|
||||||
--- fre = case e of {
|
|
||||||
--- "e" => fre ;
|
|
||||||
--- "y" => fre + "i" ;
|
|
||||||
--- _ => free
|
|
||||||
--- }
|
|
||||||
--- in
|
|
||||||
--- mkAdjective free (fre + "er") (fre + "est") freely ;
|
|
||||||
---
|
|
||||||
----- Many adjectives are 'inflected' by adding a comparison word.
|
|
||||||
---
|
|
||||||
--- adjDegrLong : Str -> Adjective = \ridiculous ->
|
|
||||||
--- mkAdjective
|
|
||||||
--- ridiculous
|
|
||||||
--- ("more" ++ ridiculous)
|
|
||||||
--- ("most" ++ ridiculous)
|
|
||||||
--- ((regAdjective ridiculous).s ! AAdv) ;
|
|
||||||
---
|
|
||||||
---
|
|
||||||
+oper
|
|
||||||
+ comp_super : Noun -> ( Agr => Str ) * ( Agr => Str ) =
|
|
||||||
+ \bonus ->
|
|
||||||
+ case bonus.s!Sg!Gen of {
|
|
||||||
+ -- Exception Bayer-Lindauer 50 1
|
|
||||||
+ "boni" => < comp "meli" , table { Ag g n c => table Gender [ (noun2us "optimus").s ! n ! c ; (noun1 "optima").s ! n ! c ; (noun2um "optimum").s ! n ! c ] ! g } > ;
|
|
||||||
+ "mali" => < comp "pei" , super "pessus" > ;
|
|
||||||
+ "magni" => < comp "mai" , table { Ag g n c => table Gender [ (noun2us "maximus").s ! n ! c ; (noun1 "maxima").s ! n ! c ; (noun2um "maximum").s ! n ! c ] ! g } > ;
|
|
||||||
+ "parvi" => < comp "mini" , table { Ag g n c => table Gender [ (noun2us "minimus").s ! n ! c ; (noun1 "minima").s ! n ! c ; (noun2um "minimum").s ! n ! c ] ! g } >;
|
|
||||||
+ --Exception Bayer-Lindauer 50.3
|
|
||||||
+ "novi" => < comp "recenti" , super "recens" > ;
|
|
||||||
+ "feri" => < comp "feroci" , super "ferox" > ;
|
|
||||||
+ "sacris" => < comp "sancti" , super "sanctus" >;
|
|
||||||
+ "frugiferi" => < comp "fertilis" , super "fertilis" > ;
|
|
||||||
+ "veti" => < comp "vetusti" , super "vetustus" >;
|
|
||||||
+ "inopis" => < comp "egentis" , super "egens" >;
|
|
||||||
+ -- Default Case use Singular Genetive to determine comparative
|
|
||||||
+ sggen => < comp sggen , super (bonus.s!Sg!Nom) >
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ comp : Str -> ( Agr => Str ) = \boni -> -- Bayer-Lindauer 46 2
|
|
||||||
+ case boni of {
|
|
||||||
+ bon + ( "i" | "is" ) =>
|
|
||||||
+ table
|
|
||||||
+ {
|
|
||||||
+ Ag ( Fem | Masc ) Sg c => table Case [ bon + "ior" ;
|
|
||||||
+ bon + "iorem" ;
|
|
||||||
+ bon + "ioris" ;
|
|
||||||
+ bon + "iori" ;
|
|
||||||
+ bon + "iore";
|
|
||||||
+ bon + "ior" ] ! c ;
|
|
||||||
+ Ag ( Fem | Masc ) Pl c => table Case [ bon + "iores" ;
|
|
||||||
+ bon + "iores" ;
|
|
||||||
+ bon + "iorum" ;
|
|
||||||
+ bon + "ioribus" ;
|
|
||||||
+ bon + "ioribus" ;
|
|
||||||
+ bon + "iores" ] ! c ;
|
|
||||||
+ Ag Neutr Sg c => table Case [ bon + "ius" ;
|
|
||||||
+ bon + "ius" ;
|
|
||||||
+ bon + "ioris" ;
|
|
||||||
+ bon + "iori" ;
|
|
||||||
+ bon + "iore" ;
|
|
||||||
+ bon + "ius" ] ! c ;
|
|
||||||
+ Ag Neutr Pl c => table Case [ bon + "iora" ;
|
|
||||||
+ bon + "iora" ;
|
|
||||||
+ bon + "iorum" ;
|
|
||||||
+ bon + "ioribus" ;
|
|
||||||
+ bon + "ioribus" ;
|
|
||||||
+ bon + "iora" ] ! c
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ super : Str -> ( Agr => Str ) = \bonus ->
|
|
||||||
+ let
|
|
||||||
+ prefix : Str = case bonus of {
|
|
||||||
+ ac + "er" => bonus ; -- Bayer-Lindauer 48 2
|
|
||||||
+ faci + "lis" => faci + "l" ; -- Bayer-Lindauer 48 3
|
|
||||||
+ feli + "x" => feli + "c" ; -- Bayer-Lindauer 48 1
|
|
||||||
+ ege + "ns" => ege + "nt" ; -- Bayer-Lindauer 48 1
|
|
||||||
+ bon + ( "us" | "is") => bon -- Bayer-Lindauer 48 1
|
|
||||||
+ };
|
|
||||||
+ suffix : Str = case bonus of {
|
|
||||||
+ ac + "er" => "rim" ; -- Bayer-Lindauer 48 2
|
|
||||||
+ faci + "lis" => "lim" ; -- Bayer-Lindauer 48 3
|
|
||||||
+ _ => "issim" -- Bayer-Lindauer 48 1
|
|
||||||
+ };
|
|
||||||
+ in
|
|
||||||
+ table {
|
|
||||||
+ Ag Fem n c => (noun1 ( prefix + suffix + "a" )).s ! n ! c ;
|
|
||||||
+ Ag Masc n c => (noun2us ( prefix + suffix + "us" )).s ! n ! c;
|
|
||||||
+ Ag Neutr n c => (noun2um ( prefix + suffix + "um" )).s ! n ! c
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ adj12 : Str -> Adjective = \bonus ->
|
|
||||||
+ let
|
|
||||||
+ bon : Str = case bonus of {
|
|
||||||
+ -- Exceptions Bayer-Lindauer 41 3.2
|
|
||||||
+ ("asper" | "liber" | "miser" | "tener" | "frugifer") => bonus ;
|
|
||||||
+ -- Usual cases
|
|
||||||
+ pulch + "er" => pulch + "r" ;
|
|
||||||
+ bon + "us" => bon ;
|
|
||||||
+ _ => Predef.error ("adj12 does not apply to" ++ bonus)
|
|
||||||
+ } ;
|
|
||||||
+ nbonus = (noun12 bonus) ;
|
|
||||||
+ compsup : ( Agr => Str ) * ( Agr => Str ) =
|
|
||||||
+ -- Bayer-Lindauer 50 4
|
|
||||||
+ case bonus of {
|
|
||||||
+ (_ + #vowel + "us" ) |
|
|
||||||
+ (_ + "r" + "us" ) =>
|
|
||||||
+ < table { Ag g n c => table Gender [ ( noun12 bonus ).s ! n ! c ; ( noun12 ( bon + "a" ) ).s ! n ! c ; ( noun12 ( bon + "um" ) ).s ! n ! c ] ! g } ,
|
|
||||||
+ table { Ag g n c => table Gender [ ( noun12 bonus ).s ! n ! c ; ( noun12 ( bon + "a" ) ).s ! n ! c ; ( noun12 ( bon + "um" ) ).s ! n ! c ] ! g } > ;
|
|
||||||
+ _ => comp_super nbonus
|
|
||||||
+ };
|
|
||||||
+ advs : Str * Str =
|
|
||||||
+ case bonus of {
|
|
||||||
+ -- Bayer-Lindauer 50 4
|
|
||||||
+ idon + ( #vowel | "r" ) + "us" => < "magis" , "maxime" > ;
|
|
||||||
+ _ => < "" , "" >
|
|
||||||
+ }
|
|
||||||
+ in
|
|
||||||
+ mkAdjective
|
|
||||||
+ nbonus
|
|
||||||
+ (noun1 (bon + "a"))
|
|
||||||
+ (noun2um (bon + "um"))
|
|
||||||
+ < compsup.p1 , advs.p1 >
|
|
||||||
+ < compsup.p2 , advs.p2 > ;
|
|
||||||
+
|
|
||||||
+ adj3x : (_,_ : Str) -> Adjective = \acer,acris ->
|
|
||||||
+ let
|
|
||||||
+ ac = Predef.tk 2 acer ;
|
|
||||||
+ acrise : Str * Str = case acer of {
|
|
||||||
+ _ + "er" => <ac + "ris", ac + "re"> ;
|
|
||||||
+ _ + "is" => <acer , ac + "e"> ;
|
|
||||||
+ _ => <acer , acer>
|
|
||||||
+ } ;
|
|
||||||
+ nacer = (noun3adj acer acris Masc) ;
|
|
||||||
+ compsuper = comp_super nacer;
|
|
||||||
+ in
|
|
||||||
+ mkAdjective
|
|
||||||
+ nacer
|
|
||||||
+ (noun3adj acrise.p1 acris Fem)
|
|
||||||
+ (noun3adj acrise.p2 acris Neutr)
|
|
||||||
+ < compsuper.p1 , "" >
|
|
||||||
+ < compsuper.p2 , "" >
|
|
||||||
+ ;
|
|
||||||
+
|
|
||||||
+-- smart paradigms
|
|
||||||
+
|
|
||||||
+ adj123 : Str -> Str -> Adjective = \bonus,boni ->
|
|
||||||
+ case <bonus,boni> of {
|
|
||||||
+ <_ + ("us" | "er"), _ + "i" > => adj12 bonus ;
|
|
||||||
+ <_ + ("us" | "er"), _ + "is"> => adj3x bonus boni ;
|
|
||||||
+ <_ , _ + "is"> => adj3x bonus boni ;
|
|
||||||
+ <_ + "is" , _ + "e" > => adj3x bonus boni ;
|
|
||||||
+ _ => Predef.error ("adj123: not applicable to" ++ bonus ++ boni)
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ adj : Str -> Adjective = \bonus ->
|
|
||||||
+ case bonus of {
|
|
||||||
+ _ + ("us" | "er") => adj12 bonus ;
|
|
||||||
+ facil + "is" => adj3x bonus bonus ;
|
|
||||||
+ feli + "x" => adj3x bonus (feli + "cis") ;
|
|
||||||
+ _ => adj3x bonus (bonus + "is") ---- any example?
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+
|
|
||||||
----3 Verbs
|
|
||||||
-----
|
|
||||||
----- The worst case needs five forms. (The verb "be" is treated separately.)
|
|
||||||
---
|
|
||||||
--- mkVerb4 : (_,_,_,_: Str) -> Verb = \go,goes,went,gone ->
|
|
||||||
--- let going = case last go of {
|
|
||||||
--- "e" => init go + "ing" ;
|
|
||||||
--- _ => go + "ing"
|
|
||||||
--- }
|
|
||||||
--- in
|
|
||||||
--- mkVerb go goes went gone going ;
|
|
||||||
---
|
|
||||||
----- This is what we use to derive the irregular forms in almost all cases
|
|
||||||
---
|
|
||||||
--- mkVerbIrreg : (_,_,_ : Str) -> Verb = \bite,bit,bitten ->
|
|
||||||
--- let bites = case last bite of {
|
|
||||||
--- "y" => y2ie bite "s" ;
|
|
||||||
--- "s" => init bite + "es" ;
|
|
||||||
--- _ => bite + "s"
|
|
||||||
--- }
|
|
||||||
--- in mkVerb4 bite bites bit bitten ;
|
|
||||||
---
|
|
||||||
----- This is used to derive regular forms.
|
|
||||||
---
|
|
||||||
--- mkVerbReg : Str -> Verb = \soak ->
|
|
||||||
--- let
|
|
||||||
--- soaks = case last soak of {
|
|
||||||
--- "y" => y2ie soak "s" ;
|
|
||||||
--- "s" => init soak + "es" ;
|
|
||||||
--- _ => soak + "s"
|
|
||||||
--- } ;
|
|
||||||
--- soaked = case last soak of {
|
|
||||||
--- "e" => init soak + "s" ;
|
|
||||||
--- _ => soak + "ed"
|
|
||||||
--- }
|
|
||||||
--- in
|
|
||||||
--- mkVerb4 soak soaks soaked soaked ;
|
|
||||||
---
|
|
||||||
--- verbGen : Str -> Verb = \kill -> case last kill of {
|
|
||||||
--- "y" => verbP3y (init kill) ;
|
|
||||||
--- "e" => verbP3e (init kill) ;
|
|
||||||
--- "s" => verbP3s (init kill) ;
|
|
||||||
--- _ => regVerbP3 kill
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
----- These are just auxiliary to $verbGen$.
|
|
||||||
---
|
|
||||||
--- regVerbP3 : Str -> Verb = \walk ->
|
|
||||||
--- mkVerbIrreg walk (walk + "ed") (walk + "ed") ;
|
|
||||||
--- verbP3s : Str -> Verb = \kiss ->
|
|
||||||
--- mkVerb4 kiss (kiss + "es") (kiss + "ed") (kiss + "ed") ;
|
|
||||||
--- verbP3e : Str -> Verb = \love ->
|
|
||||||
--- mkVerb4 love (love + "s") (love + "d") (love + "d") ;
|
|
||||||
--- verbP3y : Str -> Verb = \cr ->
|
|
||||||
--- mkVerb4 (cr + "y") (cr + "ies") (cr + "ied") (cr + "ied") ;
|
|
||||||
---
|
|
||||||
------ The particle always appears right after the verb.
|
|
||||||
---
|
|
||||||
--- verbPart : Verb -> Str -> Verb = \v,p ->
|
|
||||||
--- {s = \\f => v.s ! f ++ p ; isRefl = v.isRefl} ;
|
|
||||||
---
|
|
||||||
--- verbNoPart : Verb -> Verb = \v -> verbPart v [] ;
|
|
||||||
---
|
|
||||||
---
|
|
||||||
---} ;
|
|
||||||
---
|
|
||||||
+
|
|
||||||
+-- 1./a-conjugation
|
|
||||||
+
|
|
||||||
+ verb1 : Str -> Verb = \laudare ->
|
|
||||||
+ let
|
|
||||||
+ lauda = Predef.tk 2 laudare ;
|
|
||||||
+ laud = init lauda ;
|
|
||||||
+ laudav = lauda + "v" ;
|
|
||||||
+ pres_stem = lauda ;
|
|
||||||
+ pres_ind_base = lauda ;
|
|
||||||
+ pres_conj_base = laud + "e" ;
|
|
||||||
+ impf_ind_base = lauda + "ba" ;
|
|
||||||
+ impf_conj_base = lauda + "re" ;
|
|
||||||
+ fut_I_base = lauda + "bi" ;
|
|
||||||
+ imp_base = lauda ;
|
|
||||||
+ perf_stem = laudav ;
|
|
||||||
+ perf_ind_base = laudav ;
|
|
||||||
+ perf_conj_base = laudav + "eri" ;
|
|
||||||
+ pqperf_ind_base = laudav + "era" ;
|
|
||||||
+ pqperf_conj_base = laudav + "isse" ;
|
|
||||||
+ fut_II_base = laudav + "eri" ;
|
|
||||||
+ part_stem = lauda + "t" ;
|
|
||||||
+ in
|
|
||||||
+ mkVerb laudare pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+
|
|
||||||
+ -- 2./e-conjugation
|
|
||||||
+
|
|
||||||
+ verb2 : Str -> Verb = \monere ->
|
|
||||||
+ let
|
|
||||||
+ mone = Predef.tk 2 monere ;
|
|
||||||
+ mon = init mone ;
|
|
||||||
+ monu = mon + "u" ;
|
|
||||||
+ pres_stem = mone ;
|
|
||||||
+ pres_ind_base = mone ;
|
|
||||||
+ pres_conj_base = mone + "a" ;
|
|
||||||
+ impf_ind_base = mone + "ba" ;
|
|
||||||
+ impf_conj_base = mone + "re" ;
|
|
||||||
+ fut_I_base = mone + "bi" ;
|
|
||||||
+ imp_base = mone ;
|
|
||||||
+ perf_stem = monu ;
|
|
||||||
+ perf_ind_base = monu ;
|
|
||||||
+ perf_conj_base = monu + "eri" ;
|
|
||||||
+ pqperf_ind_base = monu + "era" ;
|
|
||||||
+ pqperf_conj_base = monu + "isse" ;
|
|
||||||
+ fut_II_base = monu + "eri" ;
|
|
||||||
+ part_stem = mon + "it" ;
|
|
||||||
+ in
|
|
||||||
+ mkVerb monere pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 3./Consonant conjugation
|
|
||||||
+
|
|
||||||
+ verb3c : ( regere,rexi,rectus : Str ) -> Verb = \regere,rexi,rectus ->
|
|
||||||
+ let
|
|
||||||
+ rege = Predef.tk 2 regere ;
|
|
||||||
+ reg = init rege ;
|
|
||||||
+ rex = init rexi ;
|
|
||||||
+ rect = Predef.tk 2 rectus ;
|
|
||||||
+ pres_stem = reg ;
|
|
||||||
+ pres_ind_base = reg ;
|
|
||||||
+ pres_conj_base = reg + "a" ;
|
|
||||||
+ impf_ind_base = reg + "eba" ;
|
|
||||||
+ impf_conj_base = reg + "ere" ;
|
|
||||||
+ fut_I_base = rege ;
|
|
||||||
+ imp_base = reg ;
|
|
||||||
+ perf_stem = rex ;
|
|
||||||
+ perf_ind_base = rex ;
|
|
||||||
+ perf_conj_base = rex + "eri" ;
|
|
||||||
+ pqperf_ind_base = rex + "era" ;
|
|
||||||
+ pqperf_conj_base = rex + "isse" ;
|
|
||||||
+ fut_II_base = rex + "eri" ;
|
|
||||||
+ part_stem = rect ;
|
|
||||||
+ in
|
|
||||||
+ mkVerb regere pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 3./i-conjugation
|
|
||||||
+
|
|
||||||
+ verb3i : ( capere,cepi,captus : Str ) -> Verb = \capere,cepi,captus ->
|
|
||||||
+ let
|
|
||||||
+ cape = Predef.tk 2 capere ;
|
|
||||||
+ cap = init cape ;
|
|
||||||
+ capi = cap + "i" ;
|
|
||||||
+ cep = init cepi ;
|
|
||||||
+ capt = Predef.tk 2 captus ;
|
|
||||||
+ pres_stem = capi ;
|
|
||||||
+ pres_ind_base = capi ;
|
|
||||||
+ pres_conj_base = capi + "a" ;
|
|
||||||
+ impf_ind_base = capi + "eba" ;
|
|
||||||
+ impf_conj_base = cape + "re" ;
|
|
||||||
+ fut_I_base = capi + "e" ;
|
|
||||||
+ imp_base = cap ;
|
|
||||||
+ perf_stem = cep ;
|
|
||||||
+ perf_ind_base = cep ;
|
|
||||||
+ perf_conj_base = cep + "eri" ;
|
|
||||||
+ pqperf_ind_base = cep + "era" ;
|
|
||||||
+ pqperf_conj_base = cep + "isse" ;
|
|
||||||
+ fut_II_base = cep + "eri" ;
|
|
||||||
+ part_stem = capt ;
|
|
||||||
+ in
|
|
||||||
+ mkVerb capere pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 4./i-conjugation
|
|
||||||
+
|
|
||||||
+ verb4 : Str -> Verb = \audire ->
|
|
||||||
+ let
|
|
||||||
+ audi = Predef.tk 2 audire ;
|
|
||||||
+ audiv = audi + "v" ;
|
|
||||||
+ pres_stem = audi ;
|
|
||||||
+ pres_ind_base = audi ;
|
|
||||||
+ pres_conj_base = audi + "a" ;
|
|
||||||
+ impf_ind_base = audi + "eba" ;
|
|
||||||
+ impf_conj_base = audi + "re" ;
|
|
||||||
+ fut_I_base = audi +"e" ;
|
|
||||||
+ imp_base = audi ;
|
|
||||||
+ perf_stem = audiv ;
|
|
||||||
+ perf_ind_base = audiv ;
|
|
||||||
+ perf_conj_base = audiv + "eri" ;
|
|
||||||
+ pqperf_ind_base = audiv + "era" ;
|
|
||||||
+ pqperf_conj_base = audiv + "isse" ;
|
|
||||||
+ fut_II_base = audiv + "eri" ;
|
|
||||||
+ part_stem = audi + "t" ;
|
|
||||||
+ in
|
|
||||||
+ mkVerb audire pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base
|
|
||||||
+ perf_stem perf_ind_base perf_conj_base pqperf_ind_base pqperf_conj_base fut_II_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- deponent verb
|
|
||||||
+
|
|
||||||
+-- 1./a-conjugation
|
|
||||||
+ deponent1 : Str -> Verb = \hortari ->
|
|
||||||
+ let
|
|
||||||
+ horta = Predef.tk 2 hortari ;
|
|
||||||
+ hort = init horta ;
|
|
||||||
+ pres_stem = horta ;
|
|
||||||
+ pres_ind_base = horta ;
|
|
||||||
+ pres_conj_base = hort + "e" ;
|
|
||||||
+ impf_ind_base = horta + "ba" ;
|
|
||||||
+ impf_conj_base = horta + "re" ;
|
|
||||||
+ fut_I_base = horta + "bi" ;
|
|
||||||
+ imp_base = horta ;
|
|
||||||
+ part_stem = horta + "t" ;
|
|
||||||
+ in
|
|
||||||
+ mkDeponent hortari pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 2./e-conjugation
|
|
||||||
+ deponent2 : Str -> Verb = \vereri ->
|
|
||||||
+ let
|
|
||||||
+ vere = Predef.tk 2 vereri ;
|
|
||||||
+ ver = init vere ;
|
|
||||||
+ pres_stem = vere ;
|
|
||||||
+ pres_ind_base = vere ;
|
|
||||||
+ pres_conj_base = vere + "a" ;
|
|
||||||
+ impf_ind_base = vere + "ba" ;
|
|
||||||
+ impf_conj_base = vere + "re" ;
|
|
||||||
+ fut_I_base = vere + "bi" ;
|
|
||||||
+ imp_base = vere ;
|
|
||||||
+ part_stem = ver + "it" ;
|
|
||||||
+ in
|
|
||||||
+ mkDeponent vereri pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 3./Consonant conjugation
|
|
||||||
+ deponent3c : ( sequi,sequor,secutus : Str ) -> Verb = \sequi,sequor,secutus ->
|
|
||||||
+ let
|
|
||||||
+ sequ = Predef.tk 2 sequor ;
|
|
||||||
+ secu = Predef.tk 3 secutus ;
|
|
||||||
+ pres_stem = sequ ;
|
|
||||||
+ pres_ind_base = sequ ;
|
|
||||||
+ pres_conj_base = sequ + "a" ;
|
|
||||||
+ impf_ind_base = sequ + "eba" ;
|
|
||||||
+ impf_conj_base = sequ + "ere" ;
|
|
||||||
+ fut_I_base = sequ + "e" ;
|
|
||||||
+ imp_base = sequi ;
|
|
||||||
+ part_stem = secu + "t" ;
|
|
||||||
+ in
|
|
||||||
+ mkDeponent sequi pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 3./i-conjugation
|
|
||||||
+ deponent3i : ( pati,patior,passus : Str ) -> Verb = \pati,patior,passus ->
|
|
||||||
+ let
|
|
||||||
+ pat = init pati ;
|
|
||||||
+ pass = Predef.tk 2 passus ;
|
|
||||||
+ pres_stem = pati ;
|
|
||||||
+ pres_ind_base = pati ;
|
|
||||||
+ pres_conj_base = pati + "a" ;
|
|
||||||
+ impf_ind_base = pati + "eba" ;
|
|
||||||
+ impf_conj_base = pat + "ere" ;
|
|
||||||
+ fut_I_base = pati + "e" ;
|
|
||||||
+ imp_base = pati ;
|
|
||||||
+ part_stem = pass ;
|
|
||||||
+ in
|
|
||||||
+ mkDeponent pati pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- 4./i-conjugation
|
|
||||||
+ deponent4 : Str -> Verb = \largiri ->
|
|
||||||
+ let
|
|
||||||
+ largi = Predef.tk 2 largiri ;
|
|
||||||
+ pres_stem = largi ;
|
|
||||||
+ pres_ind_base = largi ;
|
|
||||||
+ pres_conj_base = largi + "a" ;
|
|
||||||
+ impf_ind_base = largi + "eba" ;
|
|
||||||
+ impf_conj_base = largi + "re" ;
|
|
||||||
+ fut_I_base = largi + "e" ;
|
|
||||||
+ imp_base = largi ;
|
|
||||||
+ part_stem = largi + "t" ;
|
|
||||||
+ in
|
|
||||||
+ mkDeponent largiri pres_stem pres_ind_base pres_conj_base impf_ind_base impf_conj_base fut_I_base imp_base part_stem ;
|
|
||||||
+
|
|
||||||
+-- smart paradigms
|
|
||||||
+
|
|
||||||
+ verb_ippp : (iacere,iacio,ieci,iactus : Str) -> Verb =
|
|
||||||
+ \iacere,iacio,ieci,iactus ->
|
|
||||||
+ case iacere of {
|
|
||||||
+ _ + "ari" => deponent1 iacere ;
|
|
||||||
+ _ + "eri" => deponent2 iacere ;
|
|
||||||
+ _ + "iri" => deponent4 iacere ;
|
|
||||||
+ _ + "i" => case iacio of {
|
|
||||||
+ _ + "ior" => deponent3i iacere iacio iactus ;
|
|
||||||
+ _ => deponent3c iacere iacio iactus
|
|
||||||
+ } ;
|
|
||||||
+ _ + "are" => verb1 iacere ;
|
|
||||||
+ _ + "ire" => verb4 iacere ; -- ieci iactus ;
|
|
||||||
+ _ + "ere" => case iacio of {
|
|
||||||
+ _ + #consonant + "o" => verb3c iacere ieci iactus ; -- Bayer-Lindauer 74 1
|
|
||||||
+ _ + "eo" => verb2 iacere ;
|
|
||||||
+ _ + ( "i" | "u" ) + "o" => verb3i iacere ieci iactus ; -- Bayer-Linduaer 74 1
|
|
||||||
+ _ => verb3c iacere ieci iactus
|
|
||||||
+ } ;
|
|
||||||
+ _ => Predef.error ("verb_ippp: illegal infinitive form" ++ iacere)
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ verb : (iacere : Str) -> Verb =
|
|
||||||
+ \iacere ->
|
|
||||||
+ case iacere of {
|
|
||||||
+ _ + "ari" => deponent1 iacere ;
|
|
||||||
+ _ + "eri" => deponent2 iacere ;
|
|
||||||
+ _ + "iri" => deponent4 iacere ;
|
|
||||||
+ _ + "are" => verb1 iacere ;
|
|
||||||
+ _ + "ire" => -- let iaci = Predef.tk 2 iacere in
|
|
||||||
+ verb4 iacere ; -- (iaci + "vi") (iaci + "tus") ;
|
|
||||||
+ _ + "ere" => verb2 iacere ;
|
|
||||||
+ _ => Predef.error ("verb: illegal infinitive form" ++ iacere)
|
|
||||||
+ } ;
|
|
||||||
+}
|
|
||||||
\ No newline at end of file
|
|
||||||
@@ -1,194 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/NounLat.gf b/lib/src/latin/NounLat.gf
|
|
||||||
index 01eb80a..ea60fbd 100644
|
|
||||||
--- a/lib/src/latin/NounLat.gf
|
|
||||||
+++ b/lib/src/latin/NounLat.gf
|
|
||||||
@@ -1,132 +1,151 @@
|
|
||||||
-concrete NounLat of Noun = CatLat ** open ResLat, Prelude in {
|
|
||||||
+concrete NounLat of Noun = CatLat ** open ResLat, Prelude, ConjunctionLat in {
|
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
|
||||||
|
|
||||||
lin
|
|
||||||
- DetCN det cn = {
|
|
||||||
- s = \\c => det.s ! cn.g ! c ++ cn.s ! det.n ! c ;
|
|
||||||
- n = det.n ; g = cn.g ; p = P3
|
|
||||||
+ DetCN det cn = -- Det -> CN -> NP
|
|
||||||
+ {
|
|
||||||
+ s = \\c => det.s ! cn.g ! c ++ cn.preap.s ! (Ag cn.g det.n c) ++ cn.s ! det.n ! c ++ cn.postap.s ! (Ag cn.g det.n c) ;
|
|
||||||
+ n = det.n ; g = cn.g ; p = P3 ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
--- UsePN pn = pn ** {a = agrgP3 Sg pn.g} ;
|
|
||||||
- UsePron p = p ;
|
|
||||||
+ UsePN pn = lin NP { s = pn.s ! Sg ; g = pn.g ; n = Sg ; p = P3 } ;
|
|
||||||
+
|
|
||||||
+ UsePron p = -- Pron -> Np
|
|
||||||
+ {
|
|
||||||
+ g = p.g ;
|
|
||||||
+ n = p.n ;
|
|
||||||
+ p = p.p ;
|
|
||||||
+ s = \\c => case c of {
|
|
||||||
+ Nom => p.pers ! PronDrop ! PronRefl ; -- Drop pronoun in nominative case
|
|
||||||
+ _ => p.pers ! PronNonDrop ! PronRefl -- but don't drop it otherwise
|
|
||||||
+ } ! c ;
|
|
||||||
+ } ;
|
|
||||||
|
|
||||||
-- PredetNP pred np = {
|
|
||||||
-- s = \\c => pred.s ++ np.s ! c ;
|
|
||||||
-- a = np.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- PPartNP np v2 = {
|
|
||||||
-- s = \\c => np.s ! c ++ v2.s ! VPPart ;
|
|
||||||
-- a = np.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- RelNP np rs = {
|
|
||||||
-- s = \\c => np.s ! c ++ "," ++ rs.s ! np.a ;
|
|
||||||
-- a = np.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- AdvNP np adv = {
|
|
||||||
-- s = \\c => np.s ! c ++ adv.s ;
|
|
||||||
-- a = np.a
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- DetQuantOrd quant num ord = {
|
|
||||||
-- s = quant.s ! num.hasCard ! num.n ++ num.s ++ ord.s ;
|
|
||||||
-- sp = quant.sp ! num.hasCard ! num.n ++ num.s ++ ord.s ;
|
|
||||||
-- n = num.n
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
DetQuant quant num = {
|
|
||||||
- s = \\g,c => quant.s ! num.n ! g ! c ++ num.s ! g ! c ;
|
|
||||||
- sp = \\g,c => quant.sp ! num.n ! g ! c ++ num.s ! g ! c ;
|
|
||||||
+ s = \\g,c => quant.s ! Ag g num.n c ++ num.s ! g ! c ;
|
|
||||||
+ sp = \\g,c => quant.sp ! Ag g num.n c ++ num.s ! g ! c ;
|
|
||||||
n = num.n
|
|
||||||
} ;
|
|
||||||
|
|
||||||
- DetNP det = {
|
|
||||||
- s = det.sp ! Neutr ;
|
|
||||||
- g = Neutr ; n = det.n ; p = P3
|
|
||||||
- } ;
|
|
||||||
+ -- DetNP det = {
|
|
||||||
+ -- s = det.sp ! Neutr ;
|
|
||||||
+ -- g = Neutr ; n = det.n ; p = P3
|
|
||||||
+ -- } ;
|
|
||||||
|
|
||||||
-- PossPron p = {
|
|
||||||
-- s = \\_,_ => p.s ! Gen ;
|
|
||||||
-- sp = \\_,_ => p.sp
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
NumSg = {s = \\_,_ => [] ; n = Sg} ;
|
|
||||||
NumPl = {s = \\_,_ => [] ; n = Pl} ;
|
|
||||||
|
|
||||||
-- NumCard n = n ** {hasCard = True} ;
|
|
||||||
--
|
|
||||||
-- NumDigits n = {s = n.s ! NCard ; n = n.n} ;
|
|
||||||
-- OrdDigits n = {s = n.s ! NOrd} ;
|
|
||||||
--
|
|
||||||
-- NumNumeral numeral = {s = numeral.s ! NCard; n = numeral.n} ;
|
|
||||||
-- OrdNumeral numeral = {s = numeral.s ! NOrd} ;
|
|
||||||
--
|
|
||||||
-- AdNum adn num = {s = adn.s ++ num.s ; n = num.n} ;
|
|
||||||
--
|
|
||||||
-- OrdSuperl a = {s = a.s ! AAdj Superl} ;
|
|
||||||
|
|
||||||
DefArt = {
|
|
||||||
- s = \\_,_,_ => [] ;
|
|
||||||
- sp = \\n,g => (personalPronoun g n P3).s
|
|
||||||
+ s = \\_ => [] ;
|
|
||||||
+ sp = \\_ => [] ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
--- IndefArt = {
|
|
||||||
--- s = \\c,n => case <n,c> of {
|
|
||||||
--- <Sg,False> => artIndef ;
|
|
||||||
--- _ => []
|
|
||||||
--- } ;
|
|
||||||
--- sp = \\c,n => case <n,c> of {
|
|
||||||
--- <Sg,False> => "one" ;
|
|
||||||
--- <Pl,False> => "ones" ;
|
|
||||||
--- _ => []
|
|
||||||
--- }
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
--- MassNP cn = {
|
|
||||||
--- s = cn.s ! Sg ;
|
|
||||||
--- a = agrP3 Sg
|
|
||||||
--- } ;
|
|
||||||
---
|
|
||||||
- UseN n = n ;
|
|
||||||
--- UseN2 n = n ;
|
|
||||||
------b UseN3 n = n ;
|
|
||||||
+ IndefArt = {
|
|
||||||
+ s = \\_ => [] ;
|
|
||||||
+ sp = \\_ => [] ;
|
|
||||||
+ } ;
|
|
||||||
+
|
|
||||||
+ -- MassNP cn = {
|
|
||||||
+ -- s = cn.s ! Sg ;
|
|
||||||
+ -- a = Ag cn.g Sg
|
|
||||||
+ -- } ;
|
|
||||||
+
|
|
||||||
+--2 Common Nouns
|
|
||||||
+ UseN n = -- N -> CN
|
|
||||||
+ lin CN ( n ** {preap, postap = {s = \\_ => "" } } ) ;
|
|
||||||
+
|
|
||||||
+ UseN2 n2 = -- N2 -> CN
|
|
||||||
+ lin CN ( n2 ** {preap, postap = {s = \\_ => "" } } ) ;
|
|
||||||
+ -----b UseN3 n = n ;
|
|
||||||
--
|
|
||||||
-- Use2N3 f = {
|
|
||||||
-- s = \\n,c => f.s ! n ! Nom ;
|
|
||||||
-- g = f.g ;
|
|
||||||
-- c2 = f.c2
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- Use3N3 f = {
|
|
||||||
-- s = \\n,c => f.s ! n ! Nom ;
|
|
||||||
-- g = f.g ;
|
|
||||||
-- c2 = f.c3
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- ComplN2 f x = {s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ; g = f.g} ;
|
|
||||||
-- ComplN3 f x = {
|
|
||||||
-- s = \\n,c => f.s ! n ! Nom ++ f.c2 ++ x.s ! c ;
|
|
||||||
-- g = f.g ;
|
|
||||||
-- c2 = f.c3
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
- AdjCN ap cn = {
|
|
||||||
- s = \\n,c => preOrPost ap.isPre (ap.s ! cn.g ! n ! c) (cn.s ! n ! c) ;
|
|
||||||
- g = cn.g
|
|
||||||
+ param
|
|
||||||
+ AdjPos = Pre | Post ;
|
|
||||||
+ lin
|
|
||||||
+ AdjCN ap cn = -- AP -> CN -> CN
|
|
||||||
+ let pos = variants { Post ; Pre }
|
|
||||||
+ in
|
|
||||||
+ {
|
|
||||||
+ -- s = \\n,c => preOrPost ap.isPre (ap.s ! cn.g ! n ! c) (cn.s ! n ! c) ;
|
|
||||||
+ -- s = \\n,c => ( cn.s ! n ! c ) ++ ( ap.s ! AdjPhr cn.g n c) ; -- always add adjectives after noun?
|
|
||||||
+ s = cn.s ;
|
|
||||||
+ postap = case pos of { Pre => cn.postap ; Post => { s = \\a => ap.s ! a ++ cn.postap.s ! a } } ;
|
|
||||||
+ preap = case pos of { Pre => { s = \\a => ap.s ! a ++ cn.preap.s ! a } ; Post => cn.preap } ;
|
|
||||||
+ -- variants { postap = ConsAP postap ap ; preap = ConsAP preap ap } ; -- Nice if that would work
|
|
||||||
+ g = cn.g
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- RelCN cn rs = {
|
|
||||||
-- s = \\n,c => cn.s ! n ! c ++ rs.s ! agrgP3 n cn.g ;
|
|
||||||
-- g = cn.g
|
|
||||||
-- } ;
|
|
||||||
|
|
||||||
- AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
|
||||||
+-- AdvCN cn ad = {s = \\n,c => cn.s ! n ! c ++ ad.s ; g = cn.g} ;
|
|
||||||
|
|
||||||
-- SentCN cn sc = {s = \\n,c => cn.s ! n ! c ++ sc.s ; g = cn.g} ;
|
|
||||||
--
|
|
||||||
-- ApposCN cn np = {s = \\n,c => cn.s ! n ! Nom ++ np.s ! c ; g = cn.g} ;
|
|
||||||
--
|
|
||||||
}
|
|
||||||
@@ -1,120 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/ParadigmsLat.gf b/lib/src/latin/ParadigmsLat.gf
|
|
||||||
index 808d46b..a45cd4a 100644
|
|
||||||
--- a/lib/src/latin/ParadigmsLat.gf
|
|
||||||
+++ b/lib/src/latin/ParadigmsLat.gf
|
|
||||||
@@ -1,65 +1,102 @@
|
|
||||||
---# -path=.:../abstract:../../prelude:../common
|
|
||||||
+--# -path=.:../abstract:../prelude:../common
|
|
||||||
|
|
||||||
--1 Latin Lexical Paradigms
|
|
||||||
--
|
|
||||||
--- Aarne Ranta 2008
|
|
||||||
+-- Aarne Ranta 2008, Extended Herbert Lange 2013
|
|
||||||
--
|
|
||||||
-- This is an API for the user of the resource grammar
|
|
||||||
-- for adding lexical items. It gives functions for forming
|
|
||||||
-- expressions of open categories: nouns, adjectives, verbs.
|
|
||||||
--
|
|
||||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
|
||||||
-- accessed through the resource syntax API, $Structural.gf$.
|
|
||||||
|
|
||||||
resource ParadigmsLat = open
|
|
||||||
(Predef=Predef),
|
|
||||||
Prelude,
|
|
||||||
ResLat,
|
|
||||||
+ MorphoLat,
|
|
||||||
CatLat
|
|
||||||
in {
|
|
||||||
|
|
||||||
--2 Parameters
|
|
||||||
--
|
|
||||||
-- To abstract over gender names, we define the following identifiers.
|
|
||||||
|
|
||||||
oper
|
|
||||||
masculine : Gender ;
|
|
||||||
feminine : Gender ;
|
|
||||||
neuter : Gender ;
|
|
||||||
|
|
||||||
mkN = overload {
|
|
||||||
mkN : (verbum : Str) -> N
|
|
||||||
- = \n -> noun n ** {lock_N = <>} ;
|
|
||||||
+ = \n -> lin N ( noun n ) ;
|
|
||||||
mkN : (verbum, verbi : Str) -> Gender -> N
|
|
||||||
- = \x,y,z -> noun_ngg x y z ** {lock_N = <>} ;
|
|
||||||
+ = \x,y,z -> lin N ( noun_ngg x y z ) ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
mkA = overload {
|
|
||||||
mkA : (verbum : Str) -> A
|
|
||||||
- = \n -> adj n ** {isPre = False ; lock_A = <>} ;
|
|
||||||
+ = \n -> lin A ( adj n ** {isPre = False } ) ;
|
|
||||||
mkA : (verbum, verbi : Str) -> A
|
|
||||||
- = \x,y -> adj123 x y ** {isPre = False ; lock_A = <>} ;
|
|
||||||
+ = \x,y -> lin A ( adj123 x y ** {isPre = False } ) ;
|
|
||||||
mkA : (bonus,bona,bonum : N) -> A
|
|
||||||
- = \x,y,z -> mkAdjective x y z ** {isPre = False ; lock_A = <>} ;
|
|
||||||
+ = \x,y,z ->
|
|
||||||
+ let compsup = comp_super x ;
|
|
||||||
+ advs : Str * Str =
|
|
||||||
+ case x.s!Sg!Nom of {
|
|
||||||
+ -- Bayer-Lindauer 50 4
|
|
||||||
+ idon + #vowel + "us" => < "magis" , "maxime" > ;
|
|
||||||
+ _ => < "" , "" >
|
|
||||||
+ };
|
|
||||||
+ in
|
|
||||||
+ lin A ( mkAdjective x y z < compsup.p1 , advs.p2 > < compsup.p2 , advs.p2> ** {isPre = False } ) ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
|
|
||||||
mkV = overload {
|
|
||||||
mkV : (tacere : Str) -> V
|
|
||||||
- = \v -> verb v ** {lock_V = <>} ;
|
|
||||||
- mkV : (iacio,ieci,iactus,iacere : Str) -> V
|
|
||||||
- = \v,x,y,z -> verb_pppi v x y z ** {lock_V = <>} ;
|
|
||||||
+ = \v -> lin V ( verb v ) ;
|
|
||||||
+ mkV : (iacere,iacio,ieci,iactus : Str) -> V
|
|
||||||
+ = \v,x,y,z -> lin V ( verb_ippp v x y z ) ;
|
|
||||||
+ mkV : (iacere,iacio,ieci : Str) -> V
|
|
||||||
+ = \v,x,y -> lin V ( verb_ippp v x y "######" ) ;
|
|
||||||
} ;
|
|
||||||
|
|
||||||
+ V0 : Type = V ;
|
|
||||||
+ mkV0 : V -> V0 = \v -> lin V0 v ; -- Same as in english, don't know if it's working
|
|
||||||
+
|
|
||||||
mkV2 = overload {
|
|
||||||
mkV2 : (amare : Str) -> V2
|
|
||||||
- = \v -> verb v ** {c = {s = [] ; c = Acc} ; lock_V2 = <>} ;
|
|
||||||
+ = \v -> lin V2 ( verb v ** { c = lin Prep ( mkPrep "" Acc ) } ) ;
|
|
||||||
mkV2 : (facere : V) -> V2
|
|
||||||
- = \v -> v ** {c = {s = [] ; c = Acc} ; lock_V2 = <>} ;
|
|
||||||
+ = \v -> lin V2 ( v ** { c = lin Prep ( mkPrep "" Acc ) } ) ;
|
|
||||||
+ mkV2 : V -> Prep -> V2
|
|
||||||
+ = \v,p -> lin V2 ( v ** { c = p } ) ;
|
|
||||||
} ;
|
|
||||||
---.
|
|
||||||
+
|
|
||||||
masculine = Masc ;
|
|
||||||
feminine = Fem ;
|
|
||||||
neuter = Neutr ;
|
|
||||||
|
|
||||||
+-- To be implemented, just place holders
|
|
||||||
+ mkPN : N -> PN = \n -> lin PN n ;
|
|
||||||
+ mkN2 : N -> Prep -> N2 = \n,p -> lin N2 ( n ** { c = p } );
|
|
||||||
+ mkN3 : N -> Prep -> Prep -> N3 = \n,p1,p2 -> lin N3 ( n **{ c = p1 ; c2 = p2 } ) ;
|
|
||||||
+ mkV2S : V -> Prep -> V2S = \v,p -> lin V2S ( v ** { c = p } ) ;
|
|
||||||
+ mkV2Q : V -> Prep -> V2Q = \v,p -> lin V2Q ( v ** { c = p } ) ;
|
|
||||||
+ mkV2V : V -> Str -> Bool -> V2V = \v,s,b -> lin V2V ( v ** { c2 = s ; isAux = b } ) ;
|
|
||||||
+ mkVV : V -> Bool -> VV = \v,b -> lin VV ( v ** { isAux = b } ) ;
|
|
||||||
+ mkVA : V -> VA = \v -> lin VA v ;
|
|
||||||
+ mkV3 : V -> Prep -> Prep -> V3 = \v,p1,p2 -> lin V3 ( v ** { c2 = p1; c3 = p2 } ) ;
|
|
||||||
+ mkVQ : V -> VQ = \v -> lin VQ v ;
|
|
||||||
+ mkVS : V -> VS = \v -> lin VS v ;
|
|
||||||
+ mkV2A : V -> Prep -> V2A = \v,p -> lin V2A (v ** { c = p } ) ;
|
|
||||||
+ AS : Type = A ;
|
|
||||||
+ mkAS : A -> AS = \a -> lin AS a ;
|
|
||||||
+ mkA2 : A -> Prep -> A2 = \a,p -> lin A2 ( a ** { c = p } ) ;
|
|
||||||
+ A2V : Type = A2 ;
|
|
||||||
+ mkA2V : A -> Prep -> A2V = \a,p -> lin A2V ( lin A2 ( a ** { c = p } ) ) ;
|
|
||||||
+ AV : Type = A ;
|
|
||||||
+ mkAV : A -> AV = \a -> lin AV a ;
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/PhraseLat.gf b/lib/src/latin/PhraseLat.gf
|
|
||||||
index 1c92d44..1c699a9 100644
|
|
||||||
--- a/lib/src/latin/PhraseLat.gf
|
|
||||||
+++ b/lib/src/latin/PhraseLat.gf
|
|
||||||
@@ -1,24 +1,24 @@
|
|
||||||
---concrete PhraseLat of Phrase = CatLat ** open Prelude, ResLat in {
|
|
||||||
---
|
|
||||||
--- lin
|
|
||||||
--- PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
|
||||||
---
|
|
||||||
--- UttS s = s ;
|
|
||||||
--- UttQS qs = {s = qs.s ! QDir} ;
|
|
||||||
+concrete PhraseLat of Phrase = CatLat ** open Prelude, ResLat in {
|
|
||||||
+
|
|
||||||
+ lin
|
|
||||||
+ PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ;
|
|
||||||
+ --
|
|
||||||
+ UttS s = lin Utt s ; -- S -> Utt
|
|
||||||
+ UttQS qs = {s = qs.s ! QDir} ;
|
|
||||||
-- UttImpSg pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Sg False} ;
|
|
||||||
-- UttImpPl pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Pl False} ;
|
|
||||||
-- UttImpPol pol imp = {s = pol.s ++ imp.s ! contrNeg True pol.p ! ImpF Sg True} ;
|
|
||||||
--
|
|
||||||
-- UttIP ip = {s = ip.s ! Nom} ; --- Acc also
|
|
||||||
-- UttIAdv iadv = iadv ;
|
|
||||||
-- UttNP np = {s = np.s ! Nom} ;
|
|
||||||
-- UttVP vp = {s = infVP False vp (agrP3 Sg)} ;
|
|
||||||
-- UttAdv adv = adv ;
|
|
||||||
--
|
|
||||||
--- NoPConj = {s = []} ;
|
|
||||||
--- PConjConj conj = {s = conj.s2} ; ---
|
|
||||||
+ NoPConj = {s = []} ;
|
|
||||||
+ PConjConj conj = {s = conj.s2} ; ---
|
|
||||||
--
|
|
||||||
--- NoVoc = {s = []} ;
|
|
||||||
--- VocNP np = {s = "," ++ np.s ! Nom} ;
|
|
||||||
+ NoVoc = {s = []} ;
|
|
||||||
+ VocNP np = {s = "," ++ np.s ! Voc} ;
|
|
||||||
--
|
|
||||||
---}
|
|
||||||
+}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,89 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/SentenceLat.gf b/lib/src/latin/SentenceLat.gf
|
|
||||||
index 78676ee..381d991 100644
|
|
||||||
--- a/lib/src/latin/SentenceLat.gf
|
|
||||||
+++ b/lib/src/latin/SentenceLat.gf
|
|
||||||
@@ -1,67 +1,79 @@
|
|
||||||
-concrete SentenceLat of Sentence = CatLat ** open Prelude, ResLat in {
|
|
||||||
+concrete SentenceLat of Sentence = CatLat,TenseX ** open Prelude, ResLat in {
|
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
|
||||||
|
|
||||||
lin
|
|
||||||
|
|
||||||
- PredVP = mkClause ;
|
|
||||||
+ PredVP np vp = -- NP -> VP -> Cl
|
|
||||||
+ {
|
|
||||||
+ s = \\tense,anter,pol,order =>
|
|
||||||
+ case order of {
|
|
||||||
+ SVO => np.s ! Nom ++ negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ++ vp.obj ;
|
|
||||||
+ VSO => negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ++ np.s ! Nom ++ vp.obj ;
|
|
||||||
+ VOS => negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ++ vp.obj ++ np.s ! Nom ;
|
|
||||||
+ OSV => vp.obj ++ np.s ! Nom ++ negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ;
|
|
||||||
+ OVS => vp.obj ++ negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p ++ np.s ! Nom ;
|
|
||||||
+ SOV => np.s ! Nom ++ vp.obj ++ negation pol ++ vp.adj ! Ag np.g Sg Nom ++ vp.fin ! VAct ( anteriorityToVAnter anter ) ( tenseToVTense tense ) np.n np.p
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
--
|
|
||||||
-- PredSCVP sc vp = mkClause sc.s (agrP3 Sg) vp ;
|
|
||||||
--
|
|
||||||
-- ImpVP vp = {
|
|
||||||
-- s = \\pol,n =>
|
|
||||||
-- let
|
|
||||||
-- agr = AgP2 (numImp n) ;
|
|
||||||
-- verb = infVP True vp agr ;
|
|
||||||
-- dont = case pol of {
|
|
||||||
-- CNeg True => "don't" ;
|
|
||||||
-- CNeg False => "do" ++ "not" ;
|
|
||||||
-- _ => []
|
|
||||||
-- }
|
|
||||||
-- in
|
|
||||||
-- dont ++ verb
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- SlashVP np vp =
|
|
||||||
-- mkClause (np.s ! Nom) np.a vp ** {c2 = vp.c2} ;
|
|
||||||
--
|
|
||||||
-- AdvSlash slash adv = {
|
|
||||||
-- s = \\t,a,b,o => slash.s ! t ! a ! b ! o ++ adv.s ;
|
|
||||||
-- c2 = slash.c2
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- SlashPrep cl prep = cl ** {c2 = prep.s} ;
|
|
||||||
--
|
|
||||||
-- SlashVS np vs slash =
|
|
||||||
-- mkClause (np.s ! Nom) np.a
|
|
||||||
-- (insertObj (\\_ => conjThat ++ slash.s) (predV vs)) **
|
|
||||||
-- {c2 = slash.c2} ;
|
|
||||||
--
|
|
||||||
-- EmbedS s = {s = conjThat ++ s.s} ;
|
|
||||||
-- EmbedQS qs = {s = qs.s ! QIndir} ;
|
|
||||||
-- EmbedVP vp = {s = infVP False vp (agrP3 Sg)} ; --- agr
|
|
||||||
--
|
|
||||||
--- UseCl t p cl = {
|
|
||||||
--- s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir
|
|
||||||
--- } ;
|
|
||||||
+ UseCl t p cl = -- Temp -> Pol-> Cl -> S
|
|
||||||
+ {
|
|
||||||
+ s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! p.p ! SOV
|
|
||||||
+ } ;
|
|
||||||
-- UseQCl t p cl = {
|
|
||||||
-- s = \\q => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! q
|
|
||||||
-- } ;
|
|
||||||
-- UseRCl t p cl = {
|
|
||||||
-- s = \\r => t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! r ;
|
|
||||||
-- c = cl.c
|
|
||||||
-- } ;
|
|
||||||
-- UseSlash t p cl = {
|
|
||||||
-- s = t.s ++ p.s ++ cl.s ! t.t ! t.a ! ctr p.p ! ODir ;
|
|
||||||
-- c2 = cl.c2
|
|
||||||
-- } ;
|
|
||||||
--
|
|
||||||
-- AdvS a s = {s = a.s ++ "," ++ s.s} ;
|
|
||||||
--
|
|
||||||
-- RelS s r = {s = s.s ++ "," ++ r.s ! agrP3 Sg} ;
|
|
||||||
--
|
|
||||||
-- oper
|
|
||||||
-- ctr = contrNeg True ; -- contracted negations
|
|
||||||
--
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,260 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/StructuralLat.gf b/lib/src/latin/StructuralLat.gf
|
|
||||||
index 589a91b..373d72e 100644
|
|
||||||
--- a/lib/src/latin/StructuralLat.gf
|
|
||||||
+++ b/lib/src/latin/StructuralLat.gf
|
|
||||||
@@ -1,128 +1,143 @@
|
|
||||||
+
|
|
||||||
+--1 Basic Latin Lexicon for Structural Categories.
|
|
||||||
+-- Aarne Ranta pre 2013, Herbert Lange 2013
|
|
||||||
+
|
|
||||||
+-- This lexicon implements all the words in the abstract Lexicon.
|
|
||||||
+-- For each entry a source is given, either a printed dictionary, a
|
|
||||||
+-- printed grammar book or a link to an online source. The used printed
|
|
||||||
+-- dictionaries are Langescheidts Schulwörterbuch Lateinisch 17. Edition
|
|
||||||
+-- 1984 (shorter: Langenscheidts), PONS Schulwörterbuch Latein 1. Edition
|
|
||||||
+-- 2012 (Shorter: Pons) and Der kleine Stowasser 3. Edition 1991 (shorter:
|
|
||||||
+-- Stowasser). The Grammar book is Bayer-Lindauer: Lateinische Schulgrammatik
|
|
||||||
+-- 2. Edition 1994.
|
|
||||||
+
|
|
||||||
concrete StructuralLat of Structural = CatLat **
|
|
||||||
- open ResLat, (P = ParadigmsLat), Prelude in
|
|
||||||
+ open ResLat, ParadigmsLat, Prelude, IrregLat, ConstructX in
|
|
||||||
{
|
|
||||||
-
|
|
||||||
+
|
|
||||||
flags optimize=all ;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
lin
|
|
||||||
- above_Prep = mkPrep "super" Acc ;
|
|
||||||
- after_Prep = mkPrep "post" Acc ;
|
|
||||||
--- all_Predet = ss "all" ;
|
|
||||||
- almost_AdA, almost_AdN = ss "quasi" ;
|
|
||||||
--- although_Subj = ss "although" ;
|
|
||||||
- always_AdV = ss "semper" ;
|
|
||||||
--- and_Conj = sd2 [] "and" ** {n = Pl} ;
|
|
||||||
+ above_Prep = mkPrep "super" Abl ; -- abl. (Langenscheidts)
|
|
||||||
+ after_Prep = mkPrep "post" Acc ; -- acc. (Langenscheidts)
|
|
||||||
+ all_Predet = ss "cuncti" ; -- (Langenscheidts)
|
|
||||||
+ almost_AdA, almost_AdN = ss "quasi" ; -- (Langenscheidts)
|
|
||||||
+ although_Subj = ss "quamquam" ; -- (Langenscheidts)
|
|
||||||
+ always_AdV = ss "semper" ; -- (Langenscheidts)
|
|
||||||
+ and_Conj = sd2 [] "et" ** {n = Pl} ; -- (Langenscheidts)
|
|
||||||
-----b and_Conj = ss "and" ** {n = Pl} ;
|
|
||||||
--- because_Subj = ss "because" ;
|
|
||||||
- before_Prep = mkPrep "ante" Acc ;
|
|
||||||
--- behind_Prep = ss "behind" ;
|
|
||||||
- between_Prep = mkPrep "inter" Acc ;
|
|
||||||
--- both7and_DConj = sd2 "both" "and" ** {n = Pl} ;
|
|
||||||
- but_PConj = ss "sed" ;
|
|
||||||
- by8agent_Prep = mkPrep "a" Abl ;
|
|
||||||
- by8means_Prep = mkPrep "per" Acc ;
|
|
||||||
--- can8know_VV, can_VV = {
|
|
||||||
--- s = table {
|
|
||||||
--- VVF VInf => ["be able to"] ;
|
|
||||||
--- VVF VPres => "can" ;
|
|
||||||
--- VVF VPPart => ["been able to"] ;
|
|
||||||
--- VVF VPresPart => ["being able to"] ;
|
|
||||||
--- VVF VPast => "could" ; --# notpresent
|
|
||||||
--- VVPastNeg => "couldn't" ; --# notpresent
|
|
||||||
--- VVPresNeg => "can't"
|
|
||||||
--- } ;
|
|
||||||
--- isAux = True
|
|
||||||
--- } ;
|
|
||||||
--- during_Prep = ss "during" ;
|
|
||||||
--- either7or_DConj = sd2 "either" "or" ** {n = Sg} ;
|
|
||||||
--- everybody_NP = regNP "everybody" Sg ;
|
|
||||||
--- every_Det = mkDeterminer Sg "every" ;
|
|
||||||
--- everything_NP = regNP "everything" Sg ;
|
|
||||||
--- everywhere_Adv = ss "everywhere" ;
|
|
||||||
--- few_Det = mkDeterminer Pl "few" ;
|
|
||||||
+ because_Subj = ss "cum" ; -- (Langenscheidts)
|
|
||||||
+ before_Prep = mkPrep "ante" Acc ; -- acc. (Langenscheidts)
|
|
||||||
+ behind_Prep = mkPrep "a tergo" Acc ; -- acc. (Langenscheidts)
|
|
||||||
+ between_Prep = mkPrep "inter" Acc ; -- acc. (Langenscheidts)
|
|
||||||
+ both7and_DConj = sd2 "et" "et" ** {n = Pl} ; --(Langenscheidts)
|
|
||||||
+ but_PConj = ss "sed" ; -- (Langenscheidts)
|
|
||||||
+ by8agent_Prep = mkPrep "per" Abl ; -- (Langenscheidts)
|
|
||||||
+ by8means_Prep = Abl_Prep ; -- (Langenscheidts)
|
|
||||||
+ can8know_VV, can_VV = IrregLat.can_VV ; --(Langenscheidts)
|
|
||||||
+ during_Prep = mkPrep "inter" Acc ; -- (Langenscheidts)
|
|
||||||
+ either7or_DConj = sd2 "aut" "aut" ** {n = Sg} ; -- (Langenscheidts)
|
|
||||||
+ everybody_NP = regNP "quisque" "quemque" "cuiusque" "cuique" "quoque" "quisque" ( Masc | Fem ) Sg ;-- regNP "quisquae" Sg ; -- (Langenscheidts)
|
|
||||||
+ every_Det = mkDeterminer ( mkA "omnis" ) Pl ; -- (Pons)
|
|
||||||
+ everything_NP = regNP "omnia" "omnia" "omnium" "omnis" "omnis" "omnia" Neutr Pl ; --regNP "omnia" Pl ; -- (Langenscheidts)
|
|
||||||
+ everywhere_Adv = ss "ubique" ; -- (Langenscheidts)
|
|
||||||
+ few_Det = mkDeterminer ( mkA "paulus" ) Pl ; -- (Langenscheidts)
|
|
||||||
----- first_Ord = ss "first" ; DEPRECATED
|
|
||||||
- for_Prep = mkPrep "pro" Abl ;
|
|
||||||
- from_Prep = mkPrep "de" Abl ;
|
|
||||||
- he_Pron = personalPronoun Masc Sg P3 ;
|
|
||||||
- here_Adv = ss "hic" ;
|
|
||||||
--- here7to_Adv = ss ["to here"] ;
|
|
||||||
--- here7from_Adv = ss ["from here"] ;
|
|
||||||
--- how_IAdv = ss "how" ;
|
|
||||||
--- how8many_IDet = mkDeterminer Pl ["how many"] ;
|
|
||||||
--- if_Subj = ss "if" ;
|
|
||||||
- in8front_Prep = mkPrep "coram" Abl ;
|
|
||||||
- i_Pron = personalPronoun Masc Sg P1 ;
|
|
||||||
- in_Prep = mkPrep "in" Abl ;
|
|
||||||
- it_Pron = personalPronoun Neutr Sg P3 ;
|
|
||||||
--- less_CAdv = ss "less" ;
|
|
||||||
--- many_Det = mkDeterminer Pl "many" ;
|
|
||||||
--- more_CAdv = ss "more" ;
|
|
||||||
--- most_Predet = ss "most" ;
|
|
||||||
--- much_Det = mkDeterminer Sg "much" ;
|
|
||||||
--- must_VV = {
|
|
||||||
--- s = table {
|
|
||||||
--- VVF VInf => ["have to"] ;
|
|
||||||
--- VVF VPres => "must" ;
|
|
||||||
--- VVF VPPart => ["had to"] ;
|
|
||||||
--- VVF VPresPart => ["having to"] ;
|
|
||||||
--- VVF VPast => ["had to"] ; --# notpresent
|
|
||||||
--- VVPastNeg => ["hadn't to"] ; --# notpresent
|
|
||||||
--- VVPresNeg => "mustn't"
|
|
||||||
--- } ;
|
|
||||||
--- isAux = True
|
|
||||||
--- } ;
|
|
||||||
------b no_Phr = ss "no" ;
|
|
||||||
- no_Utt = ss "non" ;
|
|
||||||
--- on_Prep = ss "on" ;
|
|
||||||
+ for_Prep = mkPrep "pro" Abl ; -- abl. (Langenscheidts)
|
|
||||||
+ from_Prep = mkPrep "de" Abl ; -- abl. (Langenscheidts)
|
|
||||||
+ he_Pron = mkPronoun Masc Sg P3 ;
|
|
||||||
+ here_Adv = ss "hic" ; -- (Langenscheidts)
|
|
||||||
+ here7to_Adv = ss "huc" ; -- (Langenscheidts)
|
|
||||||
+ here7from_Adv = ss "hinc" ; -- (Langenscheidts)
|
|
||||||
+ how_IAdv = ss "qui" ; -- modale (Langenscheidts)
|
|
||||||
+ how8many_IDet = mkDeterminer (mkA "quantus" ) Pl ; -- (Pons)
|
|
||||||
+ how8much_IAdv = ss "quantum" ; -- (Langenscheidts)
|
|
||||||
+ if_Subj = ss "si" ; -- (Langenscheidts)
|
|
||||||
+ in8front_Prep = mkPrep "ante" Acc ; -- acc. (Langenscheidts)
|
|
||||||
+ i_Pron = mkPronoun Masc Sg P1 ;
|
|
||||||
+ in_Prep = mkPrep "in" ( variants { Abl ; Acc } ) ; -- (Langenscheidts)
|
|
||||||
+ it_Pron = mkPronoun Neutr Sg P3 ;
|
|
||||||
+ less_CAdv = mkCAdv "minus" "quam" ; -- (Langenscheidts)
|
|
||||||
+ many_Det = mkDeterminer ( mkA "multus" ) Pl ; -- (Langenscheidts)
|
|
||||||
+ more_CAdv = mkCAdv "magis" "quam" ; -- (Langenscheidts)
|
|
||||||
+ most_Predet = ss "plurimi" ; -- (Langenscheidts)
|
|
||||||
+ much_Det = mkDeterminer ( mkA "multus" ) Sg ; -- (Langenscheidts)
|
|
||||||
+ must_VV = mkVV ( mkV "debere" ) True ; -- (Langenscheidts)
|
|
||||||
+-----b no_Phr = ss "immo" ;
|
|
||||||
+ no_Utt = ss "non est" ; -- should be expressed by a short negated sentence (Langenscheidts)
|
|
||||||
+ on_Prep = mkPrep "in" ( Acc | Abl ) ; -- (Langenscheidts)
|
|
||||||
------ one_Quant = mkDeterminer Sg "one" ; -- DEPRECATED
|
|
||||||
- only_Predet = ss "tantum" ;
|
|
||||||
--- or_Conj = sd2 [] "or" ** {n = Sg} ;
|
|
||||||
--- otherwise_PConj = ss "otherwise" ;
|
|
||||||
- part_Prep = mkPrep [] Gen ;
|
|
||||||
--- please_Voc = ss "please" ;
|
|
||||||
- possess_Prep = mkPrep [] Gen ;
|
|
||||||
--- quite_Adv = ss "quite" ;
|
|
||||||
- she_Pron = personalPronoun Fem Sg P3 ;
|
|
||||||
- so_AdA = ss "sic" ;
|
|
||||||
--- somebody_NP = regNP "somebody" Sg ;
|
|
||||||
--- someSg_Det = mkDeterminer Sg "some" ;
|
|
||||||
--- somePl_Det = mkDeterminer Pl "some" ;
|
|
||||||
--- something_NP = regNP "something" Sg ;
|
|
||||||
--- somewhere_Adv = ss "somewhere" ;
|
|
||||||
+ only_Predet = ss "solum" ; -- (Langenscheidts)
|
|
||||||
+ or_Conj = sd2 [] "aut" ** {n = Sg} ; -- (Langenscheidts)
|
|
||||||
+ otherwise_PConj = ss "praeterea" ; -- (Pons)
|
|
||||||
+ part_Prep = mkPrep [] Gen ; -- (Bayer-Lindauer $127)
|
|
||||||
+ please_Voc = ss "queso" ; -- (Langenscheidts)
|
|
||||||
+ possess_Prep = mkPrep [] Gen ; -- (Bayer-Lindauer $125.2)
|
|
||||||
+ quite_Adv = ss "admodum" ; -- or by comparation (Langenscheidts)
|
|
||||||
+ she_Pron = mkPronoun Fem Sg P3 ;
|
|
||||||
+ so_AdA = ss "sic" ; -- (Langenscheidts)
|
|
||||||
+ somebody_NP = regNP "aliquis" "aliquem" "alicuius" "clicui" "aliquo" "aliquis" ( Masc | Fem ) Sg ; -- (Bayer-Lindauer $60.1)
|
|
||||||
+ someSg_Det = mkDeterminer ( mkA "aliquis" ) Sg ; -- (Langenscheidts)
|
|
||||||
+ somePl_Det = mkDeterminer ( mkA "nonnullus" ) Pl ; -- (Langenscheidts)
|
|
||||||
+ something_NP = regNP "aliquid" "aliquid" "alicuius rei" "alicui rei" "aliqua re" "aliquid" Masc Sg ; -- (Bayer-Lindauer $60.1)
|
|
||||||
+ somewhere_Adv = ss "usquam" ; -- (Langenscheidts)
|
|
||||||
that_Quant = ille_Quantifier ;
|
|
||||||
--- there_Adv = ss "there" ;
|
|
||||||
--- there7to_Adv = ss "there" ;
|
|
||||||
--- there7from_Adv = ss ["from there"] ;
|
|
||||||
--- therefore_PConj = ss "therefore" ;
|
|
||||||
- they_Pron = personalPronoun Masc Pl P3 ;
|
|
||||||
+ that_Subj = ss "ut" ; -- (Langenscheidts)
|
|
||||||
+ there_Adv = ss "ibi" ; -- loc. (Langenscheidts)
|
|
||||||
+ there7to_Adv = ss "eo" ; -- (Pons)
|
|
||||||
+ there7from_Adv = ss "inde" ; -- (Pons)
|
|
||||||
+ therefore_PConj = ss "ergo" ; -- (Langenscheidts)
|
|
||||||
+ they_Pron = mkPronoun Masc Pl P3 ;
|
|
||||||
this_Quant = hic_Quantifier ;
|
|
||||||
--- through_Prep = ss "through" ;
|
|
||||||
--- too_AdA = ss "too" ;
|
|
||||||
--- to_Prep = ss "to" ;
|
|
||||||
- under_Prep = mkPrep "sub" Acc ;
|
|
||||||
- very_AdA = ss "valde" ;
|
|
||||||
--- want_VV = P.mkVV (P.regV "want") ;
|
|
||||||
- we_Pron = personalPronoun Masc Pl P1 ;
|
|
||||||
--- whatPl_IP = mkIP "what" "what" "what's" Pl ;
|
|
||||||
--- whatSg_IP = mkIP "what" "what" "what's" Sg ;
|
|
||||||
--- when_IAdv = ss "when" ;
|
|
||||||
--- when_Subj = ss "when" ;
|
|
||||||
--- where_IAdv = ss "where" ;
|
|
||||||
--- which_IQuant = {s = \\_ => "which"} ;
|
|
||||||
+ through_Prep = mkPrep "per" Acc ; -- (Langenscheidts)
|
|
||||||
+ too_AdA = ss "quoque" ; -- (Langenscheidts)
|
|
||||||
+ to_Prep = mkPrep "ad" Acc; -- (Langenscheidts)
|
|
||||||
+ under_Prep = mkPrep "sub" Acc ; -- (Langenscheidts)
|
|
||||||
+ very_AdA = ss "valde" ; -- (Langenscheidts)
|
|
||||||
+ want_VV = mkVV IrregLat.want_V True ; -- (Langenscheidts)
|
|
||||||
+ we_Pron = mkPronoun Masc Pl P1 ;
|
|
||||||
+ whatSg_IP = { s =pronForms "quid" "quid" "cuius" "cui" "quo" ; n = Sg } ; -- only feminine or masculine (Bayer-Lindauer $59.1)
|
|
||||||
+ whatPl_IP = { s = \\_ => "" ; n = Pl } ; -- no plural forms (Bayer-Lindauer $59.1)
|
|
||||||
+ when_IAdv = ss "quando" ; -- (Langenscheidts)
|
|
||||||
+ when_Subj = ss "si" ; -- (Langenscheidts)
|
|
||||||
+ where_IAdv = ss "ubi" ; -- (Langenscheidts)
|
|
||||||
+ which_IQuant = -- (Bayer-Lindauer §59.1.2 and §58.1)
|
|
||||||
+ { s = table {
|
|
||||||
+ Ag Masc Sg c => ( pronForms "qui" "quem" "cuius" "cui" "quo" ) ! c ;
|
|
||||||
+ Ag Masc Pl c => ( pronForms "qui" "quos" "quorum" "quibus" "quibus" ) ! c ;
|
|
||||||
+ Ag Fem Sg c => ( pronForms "quae" "quam" "cuius" "cui" "qua" ) ! c ;
|
|
||||||
+ Ag Fem Pl c => ( pronForms "quae" "quas" "quarum" "quibus" "quibus" ) ! c ;
|
|
||||||
+ Ag Neutr Sg c => ( pronForms "quod" "quod" "cuius" "cui" "quo" ) ! c ;
|
|
||||||
+ Ag Neutr Pl c => ( pronForms "quae" "quae" "quorum" "quibus" "quibus" ) ! c
|
|
||||||
+ }
|
|
||||||
+ } ;
|
|
||||||
-----b whichPl_IDet = mkDeterminer Pl ["which"] ;
|
|
||||||
-----b whichSg_IDet = mkDeterminer Sg ["which"] ;
|
|
||||||
--- whoPl_IP = mkIP "who" "whom" "whose" Pl ;
|
|
||||||
--- whoSg_IP = mkIP "who" "whom" "whose" Sg ;
|
|
||||||
--- why_IAdv = ss "why" ;
|
|
||||||
- without_Prep = mkPrep "sine" Abl ;
|
|
||||||
- with_Prep = mkPrep "cum" Abl ;
|
|
||||||
- yes_Utt = ss "sic" ;
|
|
||||||
- youSg_Pron = personalPronoun Masc Sg P2 ;
|
|
||||||
- youPl_Pron = personalPronoun Masc Pl P2 ;
|
|
||||||
- youPol_Pron = personalPronoun Masc Sg P2 ;
|
|
||||||
+ whoSg_IP = { s =pronForms "quis" "quem" "cuius" "cui" "quo" ; n = Sg } ; -- only feminine or masculine (Bayer-Lindauer §59.1)
|
|
||||||
+ whoPl_IP = { s = \\_ => "" ; n = Pl } ; -- no plural forms (Bayer-Lindauer §59.1)
|
|
||||||
+
|
|
||||||
+ why_IAdv = ss "cur" ; -- (Langenscheidts)
|
|
||||||
+ without_Prep = mkPrep "sine" Abl ; -- abl. L..
|
|
||||||
+ with_Prep = mkPrep "cum" Abl ; -- abl. L..
|
|
||||||
+ yes_Utt = ss "sane" ; -- (Langenscheidts)
|
|
||||||
+ youSg_Pron = mkPronoun Masc Sg P2 ;
|
|
||||||
+ youPl_Pron = mkPronoun Masc Pl P2 ;
|
|
||||||
+ youPol_Pron = youSg_Pron | youPl_Pron ;
|
|
||||||
+
|
|
||||||
+ no_Quant = { s , sp = ( mkA "nullus" ).s ! Posit } ; -- nullus (Langenscheidts)
|
|
||||||
+ not_Predet = ss "non" ; -- (Langenscheidts)
|
|
||||||
+ if_then_Conj = {s1 = "si" ; s2 = "######" ; n = Sg } ; -- no word in s2 field (Langenscheidts)
|
|
||||||
+ at_least_AdN = ss "saltem" ; -- (Langenscheidts)
|
|
||||||
+ at_most_AdN = ss "summum" ; -- (Pons)
|
|
||||||
+ nobody_NP = regNP "nemo" "neminem" "neminis" "nemini" "nemine" "nemo" ( Masc | Fem ) Sg ; -- (Bayer Lindauer §60.4)
|
|
||||||
+ nothing_NP = regNP "nihil" "nihil" "nullius rei" "nulli rei" "nulla re" "nihil" Neutr Sg ; -- (Bayer-Lindauer §60.4)
|
|
||||||
+ except_Prep = mkPrep "praeter" Acc ; -- (Langenscheidts)
|
|
||||||
+
|
|
||||||
+ as_CAdv = mkCAdv "ita" "ut" ; -- (Langenscheidts)
|
|
||||||
|
|
||||||
- lin language_title_Utt = ss "latina" ;
|
|
||||||
+ have_V2 = mkV2 (mkV "habere") ; -- habeo, -ui, -itum 2 (Langenscheidts)
|
|
||||||
|
|
||||||
+ lin language_title_Utt = ss "lingua latina" ;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
diff --git a/lib/src/latin/VerbLat.gf b/lib/src/latin/VerbLat.gf
|
|
||||||
index 29f970a..5fffc4a 100644
|
|
||||||
--- a/lib/src/latin/VerbLat.gf
|
|
||||||
+++ b/lib/src/latin/VerbLat.gf
|
|
||||||
@@ -1,50 +1,52 @@
|
|
||||||
-concrete VerbLat of Verb = CatLat ** open ResLat in {
|
|
||||||
+concrete VerbLat of Verb = CatLat ** open ResLat,IrregLat in {
|
|
||||||
|
|
||||||
flags optimize=all_subs ;
|
|
||||||
|
|
||||||
lin
|
|
||||||
UseV = predV ;
|
|
||||||
|
|
||||||
SlashV2a v = predV2 v ;
|
|
||||||
-- Slash2V3 v np =
|
|
||||||
-- insertObjc (\\_ => v.c2 ++ np.s ! Acc) (predV v ** {c2 = v.c3}) ;
|
|
||||||
-- Slash3V3 v np =
|
|
||||||
-- insertObjc (\\_ => v.c3 ++ np.s ! Acc) (predVc v) ; ----
|
|
||||||
--
|
|
||||||
-- ComplVV v vp = insertObj (\\a => infVP v.isAux vp a) (predVV v) ;
|
|
||||||
-- ComplVS v s = insertObj (\\_ => conjThat ++ s.s) (predV v) ;
|
|
||||||
-- ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
|
||||||
-- ComplVA v ap = insertObj (ap.s) (predV v) ;
|
|
||||||
--
|
|
||||||
-- SlashV2V v vp = insertObjc (\\a => infVP v.isAux vp a) (predVc v) ;
|
|
||||||
-- SlashV2S v s = insertObjc (\\_ => conjThat ++ s.s) (predVc v) ;
|
|
||||||
-- SlashV2Q v q = insertObjc (\\_ => q.s ! QIndir) (predVc v) ;
|
|
||||||
-- SlashV2A v ap = insertObjc (\\a => ap.s ! a) (predVc v) ; ----
|
|
||||||
--
|
|
||||||
- ComplSlash vp np = insertObj (appPrep vp.c2 np.s) vp ;
|
|
||||||
+ ComplSlash vp np = -- VPSlash -> NP -> VP
|
|
||||||
+ insertObj (appPrep vp.c2 np.s) vp ;
|
|
||||||
--
|
|
||||||
-- SlashVV vv vp =
|
|
||||||
-- insertObj (\\a => infVP vv.isAux vp a) (predVV vv) **
|
|
||||||
-- {c2 = vp.c2} ;
|
|
||||||
-- SlashV2VNP vv np vp =
|
|
||||||
-- insertObjPre (\\_ => vv.c2 ++ np.s ! Acc)
|
|
||||||
-- (insertObjc (\\a => infVP vv.isAux vp a) (predVc vv)) **
|
|
||||||
-- {c2 = vp.c2} ;
|
|
||||||
--
|
|
||||||
- UseComp comp = insertAdj comp.s (predV esse_V) ;
|
|
||||||
+ UseComp comp = -- Comp -> VP
|
|
||||||
+ insertAdj comp.s (predV be_V) ;
|
|
||||||
|
|
||||||
- AdvVP vp adv = insertObj adv.s vp ;
|
|
||||||
+-- AdvVP vp adv = insertObj adv.s vp ;
|
|
||||||
|
|
||||||
- AdVVP adv vp = insertObj adv.s vp ;
|
|
||||||
+-- AdVVP adv vp = insertObj adv.s vp ;
|
|
||||||
|
|
||||||
-- ReflVP v = insertObjPre (\\a => v.c2 ++ reflPron ! a) v ;
|
|
||||||
--
|
|
||||||
-- PassV2 v = insertObj (\\_ => v.s ! VPPart) (predAux auxBe) ;
|
|
||||||
--
|
|
||||||
-----b UseVS, UseVQ = \vv -> {s = vv.s ; c2 = [] ; isRefl = vv.isRefl} ; -- no "to"
|
|
||||||
--
|
|
||||||
CompAP ap = ap ;
|
|
||||||
-- CompNP np = {s = \\_ => np.s ! Acc} ;
|
|
||||||
-- CompAdv a = {s = \\_ => a.s} ;
|
|
||||||
--
|
|
||||||
}
|
|
||||||
Binary file not shown.
Binary file not shown.
@@ -1,206 +0,0 @@
|
|||||||
digraph {
|
|
||||||
AllLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
ExtraLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
LangLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
LexiconLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
GrammarLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
TextX [ style = "solid", shape = "ellipse" ]
|
|
||||||
PhraseLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
SentenceLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
NumeralLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
AdverbLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
AdjectiveLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
VerbLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
NounLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
ConjunctionLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
Coordination [ style = "dashed", shape = "ellipse" ]
|
|
||||||
StructuralLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
ConstructX [ style = "dashed", shape = "ellipse" ]
|
|
||||||
IrregLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
ParadigmsLat [ style = "dashed", shape = "ellipse" ]
|
|
||||||
MorphoLat [ style = "dashed", shape = "ellipse" ]
|
|
||||||
CatLat [ style = "solid", shape = "ellipse" ]
|
|
||||||
ResLat [ style = "dashed", shape = "ellipse" ]
|
|
||||||
TenseX [ style = "solid", shape = "ellipse" ]
|
|
||||||
CommonX [ style = "solid", shape = "ellipse" ]
|
|
||||||
ParamX [ style = "dashed", shape = "ellipse" ]
|
|
||||||
Prelude [ style = "dashed", shape = "ellipse" ]
|
|
||||||
Predef [ style = "dashed", shape = "ellipse" ]
|
|
||||||
AllLatAbs [ style = "solid", shape = "box" ]
|
|
||||||
ExtraLatAbs [ style = "solid", shape = "box" ]
|
|
||||||
Extra [ style = "solid", shape = "box" ]
|
|
||||||
IrregLatAbs [ style = "solid", shape = "box" ]
|
|
||||||
Lang [ style = "solid", shape = "box" ]
|
|
||||||
Lexicon [ style = "solid", shape = "box" ]
|
|
||||||
Grammar [ style = "solid", shape = "box" ]
|
|
||||||
Transfer [ style = "solid", shape = "box" ]
|
|
||||||
NumeralTransfer [ style = "solid", shape = "box" ]
|
|
||||||
Tense [ style = "solid", shape = "box" ]
|
|
||||||
Idiom [ style = "solid", shape = "box" ]
|
|
||||||
Structural [ style = "solid", shape = "box" ]
|
|
||||||
Text [ style = "solid", shape = "box" ]
|
|
||||||
Phrase [ style = "solid", shape = "box" ]
|
|
||||||
Conjunction [ style = "solid", shape = "box" ]
|
|
||||||
Relative [ style = "solid", shape = "box" ]
|
|
||||||
Question [ style = "solid", shape = "box" ]
|
|
||||||
Sentence [ style = "solid", shape = "box" ]
|
|
||||||
Numeral [ style = "solid", shape = "box" ]
|
|
||||||
Adverb [ style = "solid", shape = "box" ]
|
|
||||||
Adjective [ style = "solid", shape = "box" ]
|
|
||||||
Verb [ style = "solid", shape = "box" ]
|
|
||||||
Noun [ style = "solid", shape = "box" ]
|
|
||||||
Cat [ style = "solid", shape = "box" ]
|
|
||||||
Common [ style = "solid", shape = "box" ]
|
|
||||||
AllLat -> AllLatAbs [ style = "solid", arrowhead = "empty" ]
|
|
||||||
AllLat -> LangLat [ style = "solid" ]
|
|
||||||
AllLat -> ExtraLat [ style = "solid" ]
|
|
||||||
ExtraLat -> ExtraLatAbs [ style = "solid", arrowhead = "empty" ]
|
|
||||||
ExtraLat -> CatLat [ style = "solid" ]
|
|
||||||
ExtraLat -> ResLat [ style = "dashed" ]
|
|
||||||
ExtraLat -> Coordination [ style = "dashed" ]
|
|
||||||
ExtraLat -> Prelude [ style = "dashed" ]
|
|
||||||
LangLat -> Lang [ style = "solid", arrowhead = "empty" ]
|
|
||||||
LangLat -> GrammarLat [ style = "solid" ]
|
|
||||||
LangLat -> ParadigmsLat [ style = "solid" ]
|
|
||||||
LangLat -> ConjunctionLat [ style = "solid" ]
|
|
||||||
LangLat -> LexiconLat [ style = "solid" ]
|
|
||||||
LexiconLat -> Lexicon [ style = "solid", arrowhead = "empty" ]
|
|
||||||
LexiconLat -> CatLat [ style = "solid" ]
|
|
||||||
LexiconLat -> ParadigmsLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> IrregLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> ResLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> StructuralLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> NounLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> AdjectiveLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> VerbLat [ style = "dashed" ]
|
|
||||||
LexiconLat -> Prelude [ style = "dashed" ]
|
|
||||||
GrammarLat -> Grammar [ style = "solid", arrowhead = "empty" ]
|
|
||||||
GrammarLat -> NounLat [ style = "solid" ]
|
|
||||||
GrammarLat -> VerbLat [ style = "solid" ]
|
|
||||||
GrammarLat -> AdjectiveLat [ style = "solid" ]
|
|
||||||
GrammarLat -> AdverbLat [ style = "solid" ]
|
|
||||||
GrammarLat -> NumeralLat [ style = "solid" ]
|
|
||||||
GrammarLat -> SentenceLat [ style = "solid" ]
|
|
||||||
GrammarLat -> PhraseLat [ style = "solid" ]
|
|
||||||
GrammarLat -> TextX [ style = "solid" ]
|
|
||||||
GrammarLat -> StructuralLat [ style = "solid" ]
|
|
||||||
TextX -> Text [ style = "solid", arrowhead = "empty" ]
|
|
||||||
TextX -> CommonX [ style = "solid" ]
|
|
||||||
PhraseLat -> Phrase [ style = "solid", arrowhead = "empty" ]
|
|
||||||
PhraseLat -> CatLat [ style = "solid" ]
|
|
||||||
PhraseLat -> Prelude [ style = "dashed" ]
|
|
||||||
PhraseLat -> ResLat [ style = "dashed" ]
|
|
||||||
SentenceLat -> Sentence [ style = "solid", arrowhead = "empty" ]
|
|
||||||
SentenceLat -> CatLat [ style = "solid" ]
|
|
||||||
SentenceLat -> TenseX [ style = "solid" ]
|
|
||||||
SentenceLat -> Prelude [ style = "dashed" ]
|
|
||||||
SentenceLat -> ResLat [ style = "dashed" ]
|
|
||||||
NumeralLat -> Numeral [ style = "solid", arrowhead = "empty" ]
|
|
||||||
NumeralLat -> CatLat [ style = "solid" ]
|
|
||||||
NumeralLat -> ResLat [ style = "dashed" ]
|
|
||||||
AdverbLat -> Adverb [ style = "solid", arrowhead = "empty" ]
|
|
||||||
AdverbLat -> CatLat [ style = "solid" ]
|
|
||||||
AdverbLat -> ResLat [ style = "dashed" ]
|
|
||||||
AdverbLat -> Prelude [ style = "dashed" ]
|
|
||||||
AdjectiveLat -> Adjective [ style = "solid", arrowhead = "empty" ]
|
|
||||||
AdjectiveLat -> CatLat [ style = "solid" ]
|
|
||||||
AdjectiveLat -> ResLat [ style = "dashed" ]
|
|
||||||
AdjectiveLat -> Prelude [ style = "dashed" ]
|
|
||||||
VerbLat -> Verb [ style = "solid", arrowhead = "empty" ]
|
|
||||||
VerbLat -> CatLat [ style = "solid" ]
|
|
||||||
VerbLat -> ResLat [ style = "dashed" ]
|
|
||||||
VerbLat -> IrregLat [ style = "dashed" ]
|
|
||||||
NounLat -> Noun [ style = "solid", arrowhead = "empty" ]
|
|
||||||
NounLat -> CatLat [ style = "solid" ]
|
|
||||||
NounLat -> ResLat [ style = "dashed" ]
|
|
||||||
NounLat -> Prelude [ style = "dashed" ]
|
|
||||||
NounLat -> ConjunctionLat [ style = "dashed" ]
|
|
||||||
ConjunctionLat -> Conjunction [ style = "solid", arrowhead = "empty" ]
|
|
||||||
ConjunctionLat -> CatLat [ style = "solid" ]
|
|
||||||
ConjunctionLat -> ResLat [ style = "dashed" ]
|
|
||||||
ConjunctionLat -> StructuralLat [ style = "dashed" ]
|
|
||||||
ConjunctionLat -> Coordination [ style = "dashed" ]
|
|
||||||
ConjunctionLat -> Prelude [ style = "dashed" ]
|
|
||||||
Coordination -> Prelude [ style = "dashed" ]
|
|
||||||
StructuralLat -> Structural [ style = "solid", arrowhead = "empty" ]
|
|
||||||
StructuralLat -> CatLat [ style = "solid" ]
|
|
||||||
StructuralLat -> ResLat [ style = "dashed" ]
|
|
||||||
StructuralLat -> ParadigmsLat [ style = "dashed" ]
|
|
||||||
StructuralLat -> Prelude [ style = "dashed" ]
|
|
||||||
StructuralLat -> IrregLat [ style = "dashed" ]
|
|
||||||
StructuralLat -> ConstructX [ style = "dashed" ]
|
|
||||||
ConstructX -> CommonX [ style = "dashed" ]
|
|
||||||
IrregLat -> IrregLatAbs [ style = "solid", arrowhead = "empty" ]
|
|
||||||
IrregLat -> CatLat [ style = "solid" ]
|
|
||||||
IrregLat -> Prelude [ style = "dashed" ]
|
|
||||||
IrregLat -> ParadigmsLat [ style = "dashed" ]
|
|
||||||
IrregLat -> ResLat [ style = "dashed" ]
|
|
||||||
ParadigmsLat -> Predef [ style = "dashed" ]
|
|
||||||
ParadigmsLat -> Prelude [ style = "dashed" ]
|
|
||||||
ParadigmsLat -> ResLat [ style = "dashed" ]
|
|
||||||
ParadigmsLat -> MorphoLat [ style = "dashed" ]
|
|
||||||
ParadigmsLat -> CatLat [ style = "dashed" ]
|
|
||||||
MorphoLat -> ParamX [ style = "solid" ]
|
|
||||||
MorphoLat -> ResLat [ style = "solid" ]
|
|
||||||
MorphoLat -> Prelude [ style = "dashed" ]
|
|
||||||
CatLat -> Cat [ style = "solid", arrowhead = "empty" ]
|
|
||||||
CatLat -> CommonX [ style = "solid" ]
|
|
||||||
CatLat -> ResLat [ style = "dashed" ]
|
|
||||||
CatLat -> Prelude [ style = "dashed" ]
|
|
||||||
ResLat -> ParamX [ style = "solid" ]
|
|
||||||
ResLat -> Prelude [ style = "dashed" ]
|
|
||||||
ResLat -> TenseX [ style = "dashed" ]
|
|
||||||
TenseX -> Tense [ style = "solid", arrowhead = "empty" ]
|
|
||||||
TenseX -> CommonX [ style = "solid" ]
|
|
||||||
TenseX -> ParamX [ style = "dashed" ]
|
|
||||||
CommonX -> Common [ style = "solid", arrowhead = "empty" ]
|
|
||||||
CommonX -> ParamX [ style = "dashed" ]
|
|
||||||
ParamX -> Prelude [ style = "dashed" ]
|
|
||||||
Prelude -> Predef [ style = "dashed" ]
|
|
||||||
AllLatAbs -> Lang [ style = "solid" ]
|
|
||||||
AllLatAbs -> IrregLatAbs [ style = "solid" ]
|
|
||||||
AllLatAbs -> ExtraLatAbs [ style = "solid" ]
|
|
||||||
ExtraLatAbs -> Extra [ style = "solid" ]
|
|
||||||
Extra -> Cat [ style = "solid" ]
|
|
||||||
IrregLatAbs -> Cat [ style = "solid" ]
|
|
||||||
Lang -> Grammar [ style = "solid" ]
|
|
||||||
Lang -> Lexicon [ style = "solid" ]
|
|
||||||
Lexicon -> Cat [ style = "solid" ]
|
|
||||||
Grammar -> Noun [ style = "solid" ]
|
|
||||||
Grammar -> Verb [ style = "solid" ]
|
|
||||||
Grammar -> Adjective [ style = "solid" ]
|
|
||||||
Grammar -> Adverb [ style = "solid" ]
|
|
||||||
Grammar -> Numeral [ style = "solid" ]
|
|
||||||
Grammar -> Sentence [ style = "solid" ]
|
|
||||||
Grammar -> Question [ style = "solid" ]
|
|
||||||
Grammar -> Relative [ style = "solid" ]
|
|
||||||
Grammar -> Conjunction [ style = "solid" ]
|
|
||||||
Grammar -> Phrase [ style = "solid" ]
|
|
||||||
Grammar -> Text [ style = "solid" ]
|
|
||||||
Grammar -> Structural [ style = "solid" ]
|
|
||||||
Grammar -> Idiom [ style = "solid" ]
|
|
||||||
Grammar -> Tense [ style = "solid" ]
|
|
||||||
Grammar -> Transfer [ style = "solid" ]
|
|
||||||
Transfer -> Sentence [ style = "solid" ]
|
|
||||||
Transfer -> Verb [ style = "solid" ]
|
|
||||||
Transfer -> Adverb [ style = "solid" ]
|
|
||||||
Transfer -> Structural [ style = "solid" ]
|
|
||||||
Transfer -> NumeralTransfer [ style = "solid" ]
|
|
||||||
NumeralTransfer -> Numeral [ style = "solid" ]
|
|
||||||
NumeralTransfer -> Noun [ style = "solid" ]
|
|
||||||
Tense -> Common [ style = "solid" ]
|
|
||||||
Idiom -> Cat [ style = "solid" ]
|
|
||||||
Structural -> Cat [ style = "solid" ]
|
|
||||||
Text -> Common [ style = "solid" ]
|
|
||||||
Phrase -> Cat [ style = "solid" ]
|
|
||||||
Conjunction -> Cat [ style = "solid" ]
|
|
||||||
Relative -> Cat [ style = "solid" ]
|
|
||||||
Question -> Cat [ style = "solid" ]
|
|
||||||
Sentence -> Cat [ style = "solid" ]
|
|
||||||
Numeral -> Cat [ style = "solid" ]
|
|
||||||
Adverb -> Cat [ style = "solid" ]
|
|
||||||
Adjective -> Cat [ style = "solid" ]
|
|
||||||
Verb -> Cat [ style = "solid" ]
|
|
||||||
Noun -> Cat [ style = "solid" ]
|
|
||||||
Cat -> Common [ style = "solid" ]
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +0,0 @@
|
|||||||
digraph {
|
|
||||||
rankdir=LR ;
|
|
||||||
node [shape = record, fontsize = 11] ;
|
|
||||||
|
|
||||||
struct0[label = "<n0>the | <n1>man | <n2>sleeps"] ;
|
|
||||||
struct0:n0:e -> struct1:n0:w ;
|
|
||||||
struct0:n1:e -> struct1:n1:w ;
|
|
||||||
struct0:n2:e -> struct1:n2:w ;
|
|
||||||
struct1[label = "<n0>der | <n1>Mann | <n2>schläft"] ;
|
|
||||||
}
|
|
||||||
@@ -1,313 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 188 104
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 188 104
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 152 68 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% struct0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 0 0 moveto
|
|
||||||
0 60 lineto
|
|
||||||
54 60 lineto
|
|
||||||
54 0 lineto
|
|
||||||
closepath stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
20 46.1 moveto 14 (the) alignedtext
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 0 40 moveto
|
|
||||||
54 40 lineto
|
|
||||||
stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
17.5 26.1 moveto 19 (man) alignedtext
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 0 20 moveto
|
|
||||||
54 20 lineto
|
|
||||||
stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
13 6.1 moveto 28 (sleeps) alignedtext
|
|
||||||
grestore
|
|
||||||
% struct1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 90 0 moveto
|
|
||||||
90 60 lineto
|
|
||||||
144 60 lineto
|
|
||||||
144 0 lineto
|
|
||||||
closepath stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
109.5 46.1 moveto 15 (der) alignedtext
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 90 40 moveto
|
|
||||||
144 40 lineto
|
|
||||||
stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
104 26.1 moveto 26 (Mann) alignedtext
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 nodecolor
|
|
||||||
newpath 90 20 moveto
|
|
||||||
144 20 lineto
|
|
||||||
stroke
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
102.5 6.1 moveto 29 (schläft) alignedtext
|
|
||||||
grestore
|
|
||||||
% struct0->struct1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 54 50 moveto
|
|
||||||
66 50 71.25 50 79.88 50 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 53.5 moveto
|
|
||||||
90 50 lineto
|
|
||||||
80 46.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 53.5 moveto
|
|
||||||
90 50 lineto
|
|
||||||
80 46.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
grestore
|
|
||||||
% struct0->struct1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 54 30 moveto
|
|
||||||
66 30 71.25 30 79.88 30 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 33.5 moveto
|
|
||||||
90 30 lineto
|
|
||||||
80 26.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 33.5 moveto
|
|
||||||
90 30 lineto
|
|
||||||
80 26.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
grestore
|
|
||||||
% struct0->struct1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 54 10 moveto
|
|
||||||
66 10 71.25 10 79.88 10 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 13.5 moveto
|
|
||||||
90 10 lineto
|
|
||||||
80 6.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80 13.5 moveto
|
|
||||||
90 10 lineto
|
|
||||||
80 6.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
grestore
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
digraph {
|
|
||||||
rankdir=LR ;
|
|
||||||
node [shape = plaintext, fontsize = 11] ;
|
|
||||||
r1 [label = "0. ROOT"] ;
|
|
||||||
n0 [label = "1. the"] ;
|
|
||||||
n1 [label = "2. man"] ;
|
|
||||||
n3 [label = "3. sleeps"] ;
|
|
||||||
n1 -> n0 [label = "dep"] ;
|
|
||||||
n3 -> n1 [label = "dep"] ;
|
|
||||||
r1 -> n3 [label = "dep"] ;
|
|
||||||
}
|
|
||||||
@@ -1,288 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 430 80
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 430 80
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 394 44 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% r1
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
8 14.1 moveto 40 (0. ROOT) alignedtext
|
|
||||||
grestore
|
|
||||||
% n3
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
120 14.1 moveto 38 (3. sleeps) alignedtext
|
|
||||||
grestore
|
|
||||||
% r1->n3
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 56.01 18 moveto
|
|
||||||
69.76 18 86.51 18 101.36 18 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 101.77 21.5 moveto
|
|
||||||
111.77 18 lineto
|
|
||||||
101.77 14.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 101.77 21.5 moveto
|
|
||||||
111.77 18 lineto
|
|
||||||
101.77 14.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
74 20.4 moveto 20 (dep) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
346.5 14.1 moveto 25 (1. the) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
234 14.1 moveto 30 (2. man) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1->n0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 276.19 18 moveto
|
|
||||||
289.81 18 306.51 18 321.34 18 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 321.74 21.5 moveto
|
|
||||||
331.74 18 lineto
|
|
||||||
321.74 14.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 321.74 21.5 moveto
|
|
||||||
331.74 18 lineto
|
|
||||||
321.74 14.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
294 20.4 moveto 20 (dep) alignedtext
|
|
||||||
grestore
|
|
||||||
% n3->n1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 166.19 18 moveto
|
|
||||||
179.81 18 196.51 18 211.34 18 curveto
|
|
||||||
stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 211.74 21.5 moveto
|
|
||||||
221.74 18 lineto
|
|
||||||
211.74 14.5 lineto
|
|
||||||
closepath fill
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 211.74 21.5 moveto
|
|
||||||
221.74 18 lineto
|
|
||||||
211.74 14.5 lineto
|
|
||||||
closepath stroke
|
|
||||||
0 0 0 edgecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
184 20.4 moveto 20 (dep) alignedtext
|
|
||||||
grestore
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
graph {
|
|
||||||
edge[style="solid"]; node[shape="plaintext", fontsize=11];
|
|
||||||
subgraph {rank=same;
|
|
||||||
n5[label="S"];
|
|
||||||
}
|
|
||||||
|
|
||||||
subgraph {rank=same;
|
|
||||||
n2[label="NP"];
|
|
||||||
n4[label="VP"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n2 -- n4 ;
|
|
||||||
}
|
|
||||||
n5 -- n2;
|
|
||||||
n5 -- n4;
|
|
||||||
|
|
||||||
subgraph {rank=same;
|
|
||||||
n0[label="Det"];
|
|
||||||
n1[label="N"];
|
|
||||||
n3[label="V"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n0 -- n1 -- n3 ;
|
|
||||||
}
|
|
||||||
n2 -- n0;
|
|
||||||
n2 -- n1;
|
|
||||||
n4 -- n3;
|
|
||||||
|
|
||||||
edge[style="dashed"]; node[shape="plaintext"];
|
|
||||||
subgraph {rank=same;
|
|
||||||
n100000[label="the", fontname = "Times-Italic"];
|
|
||||||
n100001[label="man", fontname = "Times-Italic"];
|
|
||||||
n100002[label="sleeps", fontname = "Times-Italic"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n100000 -- n100001 -- n100002 ;
|
|
||||||
}
|
|
||||||
n0 -- n100000;
|
|
||||||
n1 -- n100001;
|
|
||||||
n3 -- n100002;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,326 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 242 296
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 242 296
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 206 260 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% n5
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
131.5 230.1 moveto 7 (S) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
91.5 158.1 moveto 15 (NP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n5--n2
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 125.92 215.83 moveto
|
|
||||||
120.5 205 113.64 191.29 108.21 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n4
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
164.5 158.1 moveto 13 (VP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n5--n4
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 144.08 215.83 moveto
|
|
||||||
149.5 205 156.36 191.29 161.79 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n2--n4
|
|
||||||
% n0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
19 86.1 moveto 16 (Det) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2--n0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80.83 143.83 moveto
|
|
||||||
70 133 56.29 119.29 45.41 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
94.5 86.1 moveto 9 (N) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2--n1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 143.83 moveto
|
|
||||||
99 133 99 119.29 99 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n3
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
167.5 86.1 moveto 7 (V) alignedtext
|
|
||||||
grestore
|
|
||||||
% n4--n3
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 143.83 moveto
|
|
||||||
171 133 171 119.29 171 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0--n1
|
|
||||||
% n100000
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
19.5 14.1 moveto 15 (the) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n100000
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 27 71.83 moveto
|
|
||||||
27 61 27 47.29 27 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1--n3
|
|
||||||
% n100001
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
89.5 14.1 moveto 19 (man) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1--n100001
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 71.83 moveto
|
|
||||||
99 61 99 47.29 99 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n100002
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
157 14.1 moveto 28 (sleeps) alignedtext
|
|
||||||
grestore
|
|
||||||
% n3--n100002
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 71.83 moveto
|
|
||||||
171 61 171 47.29 171 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n100000--n100001
|
|
||||||
% n100001--n100002
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
Binary file not shown.
@@ -1,39 +0,0 @@
|
|||||||
graph {
|
|
||||||
edge[style="solid"]; node[shape="plaintext", fontsize = 11];
|
|
||||||
subgraph {rank=same;
|
|
||||||
n5[label="S"];
|
|
||||||
}
|
|
||||||
|
|
||||||
subgraph {rank=same;
|
|
||||||
n2[label="NP"];
|
|
||||||
n4[label="VP"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n2 -- n4 ;
|
|
||||||
}
|
|
||||||
n5 -- n2;
|
|
||||||
n5 -- n4;
|
|
||||||
|
|
||||||
subgraph {rank=same;
|
|
||||||
n0[label="Det"];
|
|
||||||
n1[label="N"];
|
|
||||||
n3[label="V"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n0 -- n1 -- n3 ;
|
|
||||||
}
|
|
||||||
n2 -- n0;
|
|
||||||
n2 -- n1;
|
|
||||||
n4 -- n3;
|
|
||||||
|
|
||||||
edge[style="dashed"]; node[shape="plaintext"];
|
|
||||||
subgraph {rank=same;
|
|
||||||
n100000[label="der", fontname = "Times-Italic"];
|
|
||||||
n100001[label="Mann", fontname = "Times-Italic"];
|
|
||||||
n100002[label="schläft", fontname = "Times-Italic"];
|
|
||||||
edge[style="invis"];
|
|
||||||
n100000 -- n100001 -- n100002 ;
|
|
||||||
}
|
|
||||||
n0 -- n100000;
|
|
||||||
n1 -- n100001;
|
|
||||||
n3 -- n100002;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,326 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 242 296
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 242 296
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 206 260 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% n5
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
131.5 230.1 moveto 7 (S) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
91.5 158.1 moveto 15 (NP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n5--n2
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 125.92 215.83 moveto
|
|
||||||
120.5 205 113.64 191.29 108.21 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n4
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
164.5 158.1 moveto 13 (VP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n5--n4
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 144.08 215.83 moveto
|
|
||||||
149.5 205 156.36 191.29 161.79 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n2--n4
|
|
||||||
% n0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
19 86.1 moveto 16 (Det) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2--n0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80.83 143.83 moveto
|
|
||||||
70 133 56.29 119.29 45.41 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
94.5 86.1 moveto 9 (N) alignedtext
|
|
||||||
grestore
|
|
||||||
% n2--n1
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 143.83 moveto
|
|
||||||
99 133 99 119.29 99 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n3
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
167.5 86.1 moveto 7 (V) alignedtext
|
|
||||||
grestore
|
|
||||||
% n4--n3
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 143.83 moveto
|
|
||||||
171 133 171 119.29 171 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0--n1
|
|
||||||
% n100000
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
19.5 14.1 moveto 15 (der) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n100000
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 27 71.83 moveto
|
|
||||||
27 61 27 47.29 27 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1--n3
|
|
||||||
% n100001
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
86.5 14.1 moveto 25 (Mann) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1--n100001
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 71.83 moveto
|
|
||||||
99 61 99 47.29 99 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n100002
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Italic set_font
|
|
||||||
155.5 14.1 moveto 31 (schläft) alignedtext
|
|
||||||
grestore
|
|
||||||
% n3--n100002
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
dashed
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 71.83 moveto
|
|
||||||
171 61 171 47.29 171 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n100000--n100001
|
|
||||||
% n100001--n100002
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
Binary file not shown.
@@ -1,20 +0,0 @@
|
|||||||
graph {
|
|
||||||
node[fontsize = 11];
|
|
||||||
n0[label = "1 : S", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0_0[label = "2 : NP", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0 -- n0_0 [style = "solid"];
|
|
||||||
n0_0_0[label = "4 : Det", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0_0 -- n0_0_0 [style = "solid"];
|
|
||||||
n0_0_0_0[label = "der", fontname = "Times-Italic", style = "solid", shape = "plaintext"];
|
|
||||||
n0_0_0 -- n0_0_0_0 [style = "solid"]
|
|
||||||
n1_0_0[label = "3 : N", style = "solid", shape = "plaintext"] ;
|
|
||||||
n1_0_0_0[label = "Mann", fontname = "Times-Italic", style = "solid", shape = "plaintext"];
|
|
||||||
n1_0_0 -- n1_0_0_0 [style = "solid"];
|
|
||||||
n0_0 -- n1_0_0 [style = "solid"];
|
|
||||||
n1_0[label = "5 : VP", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0 -- n1_0 [style = "solid"];
|
|
||||||
n0_1_0[label = "6 : V", style = "solid", shape = "plaintext"] ;
|
|
||||||
n1_0 -- n0_1_0 [style = "solid"];
|
|
||||||
n0_1_0_0[label = "schläft", fontname = "Times-Italic", style = "solid", shape = "plaintext"];
|
|
||||||
n0_1_0 -- n0_1_0_0 [style = "solid"];
|
|
||||||
}
|
|
||||||
@@ -1,321 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 242 296
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 242 296
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 206 260 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% n0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
123 228.9 moveto 24 (1 : S) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
82 156.9 moveto 34 (2 : NP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 125.92 215.83 moveto
|
|
||||||
120.5 205 113.64 191.29 108.21 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
154 156.9 moveto 34 (5 : VP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n1_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 144.08 215.83 moveto
|
|
||||||
149.5 205 156.36 191.29 161.79 180.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
8.5 84.9 moveto 37 (4 : Det) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0--n0_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 80.83 143.83 moveto
|
|
||||||
70 133 56.29 119.29 45.41 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
86 84.9 moveto 26 (3 : N) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0--n1_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 143.83 moveto
|
|
||||||
99 133 99 119.29 99 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_0_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Italic set_font
|
|
||||||
17.5 12.9 moveto 19 (der) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0_0--n0_0_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 27 71.83 moveto
|
|
||||||
27 61 27 47.29 27 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1_0_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Italic set_font
|
|
||||||
81.5 12.9 moveto 35 (Mann) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1_0_0--n1_0_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 99 71.83 moveto
|
|
||||||
99 61 99 47.29 99 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_1_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Roman set_font
|
|
||||||
158 84.9 moveto 26 (6 : V) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1_0--n0_1_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 143.83 moveto
|
|
||||||
171 133 171 119.29 171 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_1_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
14 /Times-Italic set_font
|
|
||||||
151.5 12.9 moveto 39 (schläft) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_1_0--n0_1_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 171 71.83 moveto
|
|
||||||
171 61 171 47.29 171 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
Binary file not shown.
@@ -1,14 +0,0 @@
|
|||||||
graph {
|
|
||||||
node[fontsize = 11];
|
|
||||||
n0[label = "mkS : S", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0_0[label = "mkNP : NP", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0 -- n0_0 [style = "solid"];
|
|
||||||
n0_0_0[label = "der_Det : Det", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0_0 -- n0_0_0 [style = "solid"];
|
|
||||||
n1_0_0[label = "Mann_N : N", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0_0 -- n1_0_0 [style = "solid"];
|
|
||||||
n1_0[label = "mkVP : VP", style = "solid", shape = "plaintext"] ;
|
|
||||||
n0 -- n1_0 [style = "solid"];
|
|
||||||
n0_1_0[label = "schlafen_V : V", style = "solid", shape = "plaintext"] ;
|
|
||||||
n1_0 -- n0_1_0 [style = "solid"];
|
|
||||||
}
|
|
||||||
@@ -1,276 +0,0 @@
|
|||||||
%!PS-Adobe-3.0 EPSF-3.0
|
|
||||||
%%Creator: graphviz version 2.26.3 (20100126.1600)
|
|
||||||
%%Title: _anonymous_0
|
|
||||||
%%Pages: 1
|
|
||||||
%%BoundingBox: 36 36 302 224
|
|
||||||
%%EndComments
|
|
||||||
save
|
|
||||||
%%BeginProlog
|
|
||||||
/DotDict 200 dict def
|
|
||||||
DotDict begin
|
|
||||||
|
|
||||||
/setupLatin1 {
|
|
||||||
mark
|
|
||||||
/EncodingVector 256 array def
|
|
||||||
EncodingVector 0
|
|
||||||
|
|
||||||
ISOLatin1Encoding 0 255 getinterval putinterval
|
|
||||||
EncodingVector 45 /hyphen put
|
|
||||||
|
|
||||||
% Set up ISO Latin 1 character encoding
|
|
||||||
/starnetISO {
|
|
||||||
dup dup findfont dup length dict begin
|
|
||||||
{ 1 index /FID ne { def }{ pop pop } ifelse
|
|
||||||
} forall
|
|
||||||
/Encoding EncodingVector def
|
|
||||||
currentdict end definefont
|
|
||||||
} def
|
|
||||||
/Times-Roman starnetISO def
|
|
||||||
/Times-Italic starnetISO def
|
|
||||||
/Times-Bold starnetISO def
|
|
||||||
/Times-BoldItalic starnetISO def
|
|
||||||
/Helvetica starnetISO def
|
|
||||||
/Helvetica-Oblique starnetISO def
|
|
||||||
/Helvetica-Bold starnetISO def
|
|
||||||
/Helvetica-BoldOblique starnetISO def
|
|
||||||
/Courier starnetISO def
|
|
||||||
/Courier-Oblique starnetISO def
|
|
||||||
/Courier-Bold starnetISO def
|
|
||||||
/Courier-BoldOblique starnetISO def
|
|
||||||
cleartomark
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
%%BeginResource: procset graphviz 0 0
|
|
||||||
/coord-font-family /Times-Roman def
|
|
||||||
/default-font-family /Times-Roman def
|
|
||||||
/coordfont coord-font-family findfont 8 scalefont def
|
|
||||||
|
|
||||||
/InvScaleFactor 1.0 def
|
|
||||||
/set_scale {
|
|
||||||
dup 1 exch div /InvScaleFactor exch def
|
|
||||||
scale
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
% styles
|
|
||||||
/solid { [] 0 setdash } bind def
|
|
||||||
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
|
|
||||||
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
|
|
||||||
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
|
|
||||||
/bold { 2 setlinewidth } bind def
|
|
||||||
/filled { } bind def
|
|
||||||
/unfilled { } bind def
|
|
||||||
/rounded { } bind def
|
|
||||||
/diagonals { } bind def
|
|
||||||
|
|
||||||
% hooks for setting color
|
|
||||||
/nodecolor { sethsbcolor } bind def
|
|
||||||
/edgecolor { sethsbcolor } bind def
|
|
||||||
/graphcolor { sethsbcolor } bind def
|
|
||||||
/nopcolor {pop pop pop} bind def
|
|
||||||
|
|
||||||
/beginpage { % i j npages
|
|
||||||
/npages exch def
|
|
||||||
/j exch def
|
|
||||||
/i exch def
|
|
||||||
/str 10 string def
|
|
||||||
npages 1 gt {
|
|
||||||
gsave
|
|
||||||
coordfont setfont
|
|
||||||
0 0 moveto
|
|
||||||
(\() show i str cvs show (,) show j str cvs show (\)) show
|
|
||||||
grestore
|
|
||||||
} if
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/set_font {
|
|
||||||
findfont exch
|
|
||||||
scalefont setfont
|
|
||||||
} def
|
|
||||||
|
|
||||||
% draw text fitted to its expected width
|
|
||||||
/alignedtext { % width text
|
|
||||||
/text exch def
|
|
||||||
/width exch def
|
|
||||||
gsave
|
|
||||||
width 0 gt {
|
|
||||||
[] 0 setdash
|
|
||||||
text stringwidth pop width exch sub text length div 0 text ashow
|
|
||||||
} if
|
|
||||||
grestore
|
|
||||||
} def
|
|
||||||
|
|
||||||
/boxprim { % xcorner ycorner xsize ysize
|
|
||||||
4 2 roll
|
|
||||||
moveto
|
|
||||||
2 copy
|
|
||||||
exch 0 rlineto
|
|
||||||
0 exch rlineto
|
|
||||||
pop neg 0 rlineto
|
|
||||||
closepath
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/ellipse_path {
|
|
||||||
/ry exch def
|
|
||||||
/rx exch def
|
|
||||||
/y exch def
|
|
||||||
/x exch def
|
|
||||||
matrix currentmatrix
|
|
||||||
newpath
|
|
||||||
x y translate
|
|
||||||
rx ry scale
|
|
||||||
0 0 1 0 360 arc
|
|
||||||
setmatrix
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/endpage { showpage } bind def
|
|
||||||
/showpage { } def
|
|
||||||
|
|
||||||
/layercolorseq
|
|
||||||
[ % layer color sequence - darkest to lightest
|
|
||||||
[0 0 0]
|
|
||||||
[.2 .8 .8]
|
|
||||||
[.4 .8 .8]
|
|
||||||
[.6 .8 .8]
|
|
||||||
[.8 .8 .8]
|
|
||||||
]
|
|
||||||
def
|
|
||||||
|
|
||||||
/layerlen layercolorseq length def
|
|
||||||
|
|
||||||
/setlayer {/maxlayer exch def /curlayer exch def
|
|
||||||
layercolorseq curlayer 1 sub layerlen mod get
|
|
||||||
aload pop sethsbcolor
|
|
||||||
/nodecolor {nopcolor} def
|
|
||||||
/edgecolor {nopcolor} def
|
|
||||||
/graphcolor {nopcolor} def
|
|
||||||
} bind def
|
|
||||||
|
|
||||||
/onlayer { curlayer ne {invis} if } def
|
|
||||||
|
|
||||||
/onlayers {
|
|
||||||
/myupper exch def
|
|
||||||
/mylower exch def
|
|
||||||
curlayer mylower lt
|
|
||||||
curlayer myupper gt
|
|
||||||
or
|
|
||||||
{invis} if
|
|
||||||
} def
|
|
||||||
|
|
||||||
/curlayer 0 def
|
|
||||||
|
|
||||||
%%EndResource
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
14 default-font-family set_font
|
|
||||||
1 setmiterlimit
|
|
||||||
% /arrowlength 10 def
|
|
||||||
% /arrowwidth 5 def
|
|
||||||
|
|
||||||
% make sure pdfmark is harmless for PS-interpreters other than Distiller
|
|
||||||
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
|
|
||||||
% make '<<' and '>>' safe on PS Level 1 devices
|
|
||||||
/languagelevel where {pop languagelevel}{1} ifelse
|
|
||||||
2 lt {
|
|
||||||
userdict (<<) cvn ([) cvn load put
|
|
||||||
userdict (>>) cvn ([) cvn load put
|
|
||||||
} if
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
setupLatin1
|
|
||||||
%%Page: 1 1
|
|
||||||
%%PageBoundingBox: 36 36 302 224
|
|
||||||
%%PageOrientation: Portrait
|
|
||||||
0 0 1 beginpage
|
|
||||||
gsave
|
|
||||||
36 36 266 188 boxprim clip newpath
|
|
||||||
1 1 set_scale 0 rotate 40 41 translate
|
|
||||||
% n0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
153 158.1 moveto 34 (mkS : S) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
102 86.1 moveto 50 (mkNP : NP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 159.15 143.83 moveto
|
|
||||||
152.68 133 144.49 119.29 138 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
190.5 86.1 moveto 47 (mkVP : VP) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0--n1_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 181.1 143.83 moveto
|
|
||||||
187.72 133 196.1 119.29 202.75 108.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
7.5 14.1 moveto 59 (der_Det : Det) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0--n0_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 104.29 71.83 moveto
|
|
||||||
90.65 60.92 73.35 47.08 59.7 36.16 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n1_0_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
99.5 14.1 moveto 55 (Mann_N : N) alignedtext
|
|
||||||
grestore
|
|
||||||
% n0_0--n1_0_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 127 71.83 moveto
|
|
||||||
127 61 127 47.29 127 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
% n0_1_0
|
|
||||||
gsave
|
|
||||||
0 0 0 nodecolor
|
|
||||||
11 /Times-Roman set_font
|
|
||||||
187.5 14.1 moveto 63 (schlafen_V : V) alignedtext
|
|
||||||
grestore
|
|
||||||
% n1_0--n0_1_0
|
|
||||||
gsave
|
|
||||||
1 setlinewidth
|
|
||||||
solid
|
|
||||||
0 0 0 edgecolor
|
|
||||||
newpath 215.26 71.83 moveto
|
|
||||||
216.01 61 216.97 47.29 217.72 36.41 curveto
|
|
||||||
stroke
|
|
||||||
grestore
|
|
||||||
endpage
|
|
||||||
showpage
|
|
||||||
grestore
|
|
||||||
%%PageTrailer
|
|
||||||
%%EndPage: 1
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
restore
|
|
||||||
%%EOF
|
|
||||||
Binary file not shown.
@@ -1,147 +0,0 @@
|
|||||||
\documentclass[fontsize=12pt,abstract=on,titlepage,bibliography=totoc,ngerman,listof=totoc]{scrreprt}
|
|
||||||
|
|
||||||
%\usepackage[utf8]{inputenc}
|
|
||||||
\usepackage[onehalfspacing]{setspace}
|
|
||||||
\usepackage[ngerman]{babel}
|
|
||||||
\usepackage{fontspec}
|
|
||||||
\usepackage[a4paper, left=3cm, right=3cm, top=3cm]{geometry}
|
|
||||||
\usepackage{amsmath}
|
|
||||||
%\usepackage{qtree}
|
|
||||||
\usepackage{listings}
|
|
||||||
\usepackage{floatrow}
|
|
||||||
%\usepackage{capt-of}
|
|
||||||
\usepackage{fancyvrb}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage[section]{placeins}
|
|
||||||
\usepackage{url}
|
|
||||||
\usepackage{multirow}
|
|
||||||
\usepackage{arydshln}
|
|
||||||
\usepackage[style=alphabetic-verb,backend=biber]{biblatex}
|
|
||||||
\usepackage{rotating}
|
|
||||||
\usepackage{tocloft}
|
|
||||||
\usepackage{tocbasic}
|
|
||||||
|
|
||||||
\setlength{\parindent}{10pt}
|
|
||||||
\floatstyle{plain}
|
|
||||||
|
|
||||||
\newfloat{program}{thp}{lop}
|
|
||||||
\floatname{program}{Beispiel}
|
|
||||||
|
|
||||||
\interfootnotelinepenalty=10000
|
|
||||||
|
|
||||||
\setlength{\cftbeforetoctitleskip}{50pt}
|
|
||||||
|
|
||||||
\renewcommand{\abstractname}{Zusammenfassung}
|
|
||||||
|
|
||||||
\urldef\persalatin\url{http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3atext%3a1999.04.0059}
|
|
||||||
\urldef\perselemlat\url{http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3atext%3a1999.04.0060}
|
|
||||||
\urldef\vatlatinitas\url{http://www.vatican.va/roman_curia/institutions_connected/latinitas/documents/rc_latinitas_20040601_lexicon_it.html}
|
|
||||||
\lstdefinelanguage{gf}
|
|
||||||
{
|
|
||||||
morekeywords={abstract, flags, cat, fun, incomplete, concrete, of, open, in, lincat, lin, resource, param, oper, variants, table, interface, instance, def, data, lindef, printname,},
|
|
||||||
sensitive=false,
|
|
||||||
morecomment=[l]{--},
|
|
||||||
morestring=[b]",
|
|
||||||
stringstyle={\textit}
|
|
||||||
}
|
|
||||||
\lstset{language=gf,captionpos=b,numbers=left, numberstyle=\tiny, numbersep=5pt, basicstyle=\ttfamily}
|
|
||||||
|
|
||||||
\bibliography{MA.ebib}
|
|
||||||
\begin{document}
|
|
||||||
\setcounter{tocdepth}{2}
|
|
||||||
\date{31.10.2013}
|
|
||||||
\makeatletter
|
|
||||||
\begin{titlepage}
|
|
||||||
{\sffamily
|
|
||||||
\begin{center}
|
|
||||||
\vspace{4cm}
|
|
||||||
\begin{LARGE}
|
|
||||||
Hausarbeit \\
|
|
||||||
zur Erlangung des Magistergrades \\
|
|
||||||
an der Ludwig-Maximilians-Universität München \\[3cm]
|
|
||||||
\end{LARGE}
|
|
||||||
{\Huge Erstellen einer Grammatik für das Lateinische im "`Grammatical Framework"' \\[4cm] }
|
|
||||||
{\LARGE vorgelegt von Herbert Lange \\ Matrikelnummer 8063320 \\[5.5cm] }
|
|
||||||
\end{center}
|
|
||||||
\parindent0mm
|
|
||||||
\begin{LARGE}
|
|
||||||
Fach: Computerlinguistik \\[0.5cm]
|
|
||||||
Referent: Prof. Dr. Klaus U. Schulz \\[0.5cm]
|
|
||||||
München, den \@date
|
|
||||||
\end{LARGE}
|
|
||||||
}
|
|
||||||
\end{titlepage}
|
|
||||||
\input{tex/Abstract.tex}
|
|
||||||
\makeatother
|
|
||||||
\tableofcontents
|
|
||||||
%\pagebreak
|
|
||||||
\clearpage
|
|
||||||
\setcounter{page}{1}
|
|
||||||
\chapter{Einleitung}
|
|
||||||
\label{chap:einleitung}
|
|
||||||
\input{tex/Einleitung.tex}
|
|
||||||
% \pagebreak
|
|
||||||
\chapter{Grundlagen}
|
|
||||||
\label{chap:grundlagen}
|
|
||||||
\section{Das Grammatical Framework}
|
|
||||||
\label{sec:gf}
|
|
||||||
\input{tex/GF.tex}
|
|
||||||
\pagebreak
|
|
||||||
\FloatBarrier
|
|
||||||
\section{Die Lateinische Sprache}
|
|
||||||
\label{sec:latein}
|
|
||||||
\input{tex/Latein.tex}
|
|
||||||
\pagebreak
|
|
||||||
\FloatBarrier
|
|
||||||
\chapter{Grammatikerstellung}
|
|
||||||
\label{chap:grammatik}
|
|
||||||
Nach der Einführung in die Grundlagen in Kapitel \ref{chap:grundlagen}, die nötig sind um im Grammatical Framework eine Grammatik zu entwickeln, folgt nun eine Schilderung der konkreten Schritte die angewendet wurden, um diese Lateingrammatik zu entwickeln. \par
|
|
||||||
Es sei noch anzumerken, dass es bereits einen Versuch von Aarne Ranta, einem der Autoren des Grammatical Frameworks, gab, eine Lateingrammatik für die Ressource Grammar Library des Grammatical Frameworks zu entwickeln. Die vorliegende Arbeit baut auf der Arbeit Rantas auf, kann aber insofern als selbständige und vollwertige Arbeit angesehen werden, da Rantas Implementierung sehr rudimentär und noch nicht funktionstüchtig war und seit ca. 2005 nicht mehr weiterentwickelt wurde. \par
|
|
||||||
Die Gliederung dieses Kapitels folgt dem gewählten Vorgehen bei der Implementierung. Die Begründung für die Reihenfolge der einzelnen Schritte wird jeweils zu Beginn der einzelnen Kapitel kurz dargelegt. In diesem Sinne wird zunächst die Erstellung des Lexikons, als zweites die Umsetzung der lateinischen Morphologie und schließlich die Syntaxregeln in dieser Lateingrammatik beschrieben.
|
|
||||||
\pagebreak
|
|
||||||
\section{Lexikon}
|
|
||||||
\label{sec:lexikon}
|
|
||||||
\input{tex/Lexikon.tex}
|
|
||||||
\FloatBarrier
|
|
||||||
\pagebreak
|
|
||||||
\section{Morphologie}
|
|
||||||
\label{sec:morpho}
|
|
||||||
\input{tex/Morphologie.tex}
|
|
||||||
\FloatBarrier
|
|
||||||
\pagebreak
|
|
||||||
\section{Syntax}
|
|
||||||
\label{sec:syntax}
|
|
||||||
\input{tex/Syntax.tex}
|
|
||||||
\FloatBarrier
|
|
||||||
\pagebreak
|
|
||||||
\chapter{Fazit}
|
|
||||||
\label{chap:fazit}
|
|
||||||
\input{tex/Fazit.tex}
|
|
||||||
\FloatBarrier
|
|
||||||
\pagebreak
|
|
||||||
\clearpage
|
|
||||||
\pagenumbering{roman}
|
|
||||||
\setcounter{page}{1}
|
|
||||||
%\chapter*{Bibliographie}
|
|
||||||
%\bibliographystyle{natdin}
|
|
||||||
\printbibliography
|
|
||||||
\pagebreak
|
|
||||||
\chapter*{Tabellen- und Abbildungsverzeichnis}
|
|
||||||
\addcontentsline{toc}{chapter}{Tabellen- und Abbildungsverzeichnis}
|
|
||||||
\listoftables
|
|
||||||
\listoffigures
|
|
||||||
\lstlistoflistings
|
|
||||||
%\nopagebreak[4]
|
|
||||||
%\listof{program}{Beispiele}
|
|
||||||
%\chapter*{Lebenslauf}
|
|
||||||
%\addcontentsline{toc}{chapter}{Lebenslauf}
|
|
||||||
%\input{tex/Lebenslauf.tex}
|
|
||||||
\chapter*{Eigenständigkeitserklärung}
|
|
||||||
\addcontentsline{toc}{chapter}{Eigenständigkeitserklärung}
|
|
||||||
\input{tex/Erklaerung.tex}
|
|
||||||
%\part{Anhang}
|
|
||||||
%\label{part:anhang}
|
|
||||||
%\section{Quelltext}
|
|
||||||
%\label{sec:quelltext}
|
|
||||||
%\input{tex/Source.tex}
|
|
||||||
\end{document}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user