diff --git a/.github/workflows/build-all-versions.yml b/.github/workflows/build-all-versions.yml index 46bd05b23..fca637189 100644 --- a/.github/workflows/build-all-versions.yml +++ b/.github/workflows/build-all-versions.yml @@ -90,6 +90,6 @@ jobs: stack build --system-ghc --stack-yaml stack-ghc${{ matrix.ghc }}.yaml # stack build --system-ghc --test --bench --no-run-tests --no-run-benchmarks - # - name: Test - # run: | - # stack test --system-ghc + - name: Test + run: | + stack test --system-ghc --stack-yaml stack-ghc${{ matrix.ghc }}.yaml diff --git a/.gitignore b/.gitignore index 01b58ccb4..b698d53ab 100644 --- a/.gitignore +++ b/.gitignore @@ -53,6 +53,10 @@ DATA_DIR stack*.yaml.lock +# Output files for test suite +*.out +gf-tests.html + # Generated documentation (not exhaustive) demos/index-numbers.html demos/resourcegrammars.html diff --git a/gf.cabal b/gf.cabal index b29972509..608a5d636 100644 --- a/gf.cabal +++ b/gf.cabal @@ -353,4 +353,5 @@ test-suite gf-tests main-is: run.hs hs-source-dirs: testsuite build-depends: base>=4.3 && <5, Cabal>=1.8, directory, filepath, process + build-tool-depends: gf:gf default-language: Haskell2010 diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs index 0e5c61404..2f2e802e0 100644 --- a/src/compiler/GF/Command/Commands.hs +++ b/src/compiler/GF/Command/Commands.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE FlexibleInstances, UndecidableInstances #-} +{-# LANGUAGE FlexibleInstances, UndecidableInstances, CPP #-} module GF.Command.Commands ( PGFEnv,HasPGFEnv(..),pgf,mos,pgfEnv,pgfCommands, options,flags, @@ -741,7 +741,7 @@ pgfCommands = Map.fromList [ Nothing -> do putStrLn ("unknown category of function identifier "++show id) return void [e] -> case inferExpr pgf e of - Left tcErr -> error $ render (ppTcError tcErr) + Left tcErr -> errorWithoutStackTrace $ render (ppTcError tcErr) Right (e,ty) -> do putStrLn ("Expression: "++showExpr [] e) putStrLn ("Type: "++showType [] ty) putStrLn ("Probability: "++show (probTree pgf e)) @@ -1019,3 +1019,7 @@ stanzas = map unlines . chop . lines where chop ls = case break (=="") ls of (ls1,[]) -> [ls1] (ls1,_:ls2) -> ls1 : chop ls2 + +#if !(MIN_VERSION_base(4,9,0)) +errorWithoutStackTrace = error +#endif \ No newline at end of file diff --git a/stack-ghc7.10.3.yaml b/stack-ghc7.10.3.yaml index 0761b54af..6869d6572 100644 --- a/stack-ghc7.10.3.yaml +++ b/stack-ghc7.10.3.yaml @@ -4,6 +4,8 @@ extra-deps: - happy-1.19.9 - alex-3.2.4 - transformers-compat-0.6.5 +- directory-1.2.3.0 +- process-1.2.3.0@sha256:ee08707f1c806ad4a628c5997d8eb6e66d2ae924283548277d85a66341d57322,1806 allow-newer: true diff --git a/testsuite/compiler/check/cyclic/abs-types/test3.gfs.gold b/testsuite/compiler/check/cyclic/abs-types/test3.gfs.gold new file mode 100644 index 000000000..e69de29bb diff --git a/testsuite/compiler/check/lincat-types/Predef.gf b/testsuite/compiler/check/lincat-types/Predef.gf new file mode 100644 index 000000000..fded5ae38 --- /dev/null +++ b/testsuite/compiler/check/lincat-types/Predef.gf @@ -0,0 +1,48 @@ +--1 Predefined functions for concrete syntax + +-- The definitions of these constants are hard-coded in GF, and defined +-- in Predef.hs (gf-core/src/compiler/GF/Compile/Compute/Predef.hs). +-- Applying them to run-time variables leads to compiler errors that are +-- often only detected at the code generation time. + +resource Predef = { + +-- This type of booleans is for internal use only. + + param PBool = PTrue | PFalse ; + + oper Error : Type = variants {} ; -- the empty type + oper Float : Type = variants {} ; -- the type of floats + oper Int : Type = variants {} ; -- the type of integers + oper Ints : Int -> PType = variants {} ; -- the type of integers from 0 to n + + oper error : Str -> Error = variants {} ; -- forms error message + oper length : Tok -> Int = variants {} ; -- length of string + oper drop : Int -> Tok -> Tok = variants {} ; -- drop prefix of length + oper take : Int -> Tok -> Tok = variants {} ; -- take prefix of length + oper tk : Int -> Tok -> Tok = variants {} ; -- drop suffix of length + oper dp : Int -> Tok -> Tok = variants {} ; -- take suffix of length + oper eqInt : Int -> Int -> PBool = variants {} ; -- test if equal integers + oper lessInt: Int -> Int -> PBool = variants {} ; -- test order of integers + oper plus : Int -> Int -> Int = variants {} ; -- add integers + oper eqStr : Tok -> Tok -> PBool = variants {} ; -- test if equal strings + oper occur : Tok -> Tok -> PBool = variants {} ; -- test if occurs as substring + oper occurs : Tok -> Tok -> PBool = variants {} ; -- test if any char occurs + oper isUpper : Tok -> PBool = variants {} ; -- test if all chars are upper-case + oper toUpper : Tok -> Tok = variants {} ; -- map all chars to upper case + oper toLower : Tok -> Tok = variants {} ; -- map all chars to lower case + oper show : (P : Type) -> P -> Tok = variants {} ; -- convert param to string + oper read : (P : Type) -> Tok -> P = variants {} ; -- convert string to param + oper eqVal : (P : Type) -> P -> P -> PBool = variants {} ; -- test if equal values + oper toStr : (L : Type) -> L -> Str = variants {} ; -- find the "first" string + oper mapStr : (L : Type) -> (Str -> Str) -> L -> L = variants {} ; + -- map all strings in a data structure; experimental --- + + oper nonExist : Str = variants {} ; -- a placeholder for non-existant morphological forms + oper BIND : Str = variants {} ; -- a token for gluing + oper SOFT_BIND : Str = variants {} ; -- a token for soft gluing + oper SOFT_SPACE : Str = variants {} ; -- a token for soft space + oper CAPIT : Str = variants {} ; -- a token for capitalization + oper ALL_CAPIT : Str = variants {} ; -- a token for capitalization of abreviations + +} ; diff --git a/testsuite/compiler/check/lincat-types/test.gfs.gold b/testsuite/compiler/check/lincat-types/test.gfs.gold index 7e95ec7af..2e14e89e6 100644 --- a/testsuite/compiler/check/lincat-types/test.gfs.gold +++ b/testsuite/compiler/check/lincat-types/test.gfs.gold @@ -1,7 +1,9 @@ -testsuite/compiler/check/lincat-types/TestCnc.gf:3: - Happened in linearization type of S - type of PTrue - expected: Type - inferred: PBool +testsuite/compiler/check/lincat-types/TestCnc.gf: + testsuite/compiler/check/lincat-types/TestCnc.gf:3: + Happened in linearization type of S + type of PTrue + expected: Type + inferred: Predef.PBool + diff --git a/testsuite/compiler/check/lins/lins.gfs.gold b/testsuite/compiler/check/lins/lins.gfs.gold index 149912bde..798c91e43 100644 --- a/testsuite/compiler/check/lins/lins.gfs.gold +++ b/testsuite/compiler/check/lins/lins.gfs.gold @@ -1,39 +1,41 @@ -checking module linsCnc - Warning: no linearization type for C, inserting default {s : Str} - Warning: no linearization of test -abstract lins { - cat C Nat ; - cat Float ; - cat Int ; - cat Nat ; - cat String ; - fun test : C zero ; - fun zero : Nat ; -} -concrete linsCnc { - productions - C1 -> F2[] - lindefs - C0 -> F0 - C1 -> F1 - lin - F0 := (S0) [lindef C] - F1 := () [lindef Nat] - F2 := () [zero] - sequences - S0 := {0,0} - categories - C := range [C0 .. C0] - labels ["s"] - Float := range [CFloat .. CFloat] - labels ["s"] - Int := range [CInt .. CInt] - labels ["s"] - Nat := range [C1 .. C1] - labels [] - String := range [CString .. CString] - labels ["s"] - __gfVar := range [CVar .. CVar] - labels [""] - printnames -} +abstract lins { + cat C Nat ; + cat Float ; + cat Int ; + cat Nat ; + cat String ; + fun test : C zero ; + fun zero : Nat ; +} +concrete linsCnc { + productions + C1 -> F4[] + lindefs + C0 -> F0[CVar] + C1 -> F2[CVar] + linrefs + CVar -> F1[C0] + CVar -> F3[C1] + lin + F0 := (S2) ['lindef C'] + F1 := (S1) ['lindef C'] + F2 := () ['lindef Nat'] + F3 := (S0) ['lindef Nat'] + F4 := () [zero] + sequences + S0 := + S1 := <0,0> + S2 := {0,0} + categories + C := range [C0 .. C0] + labels ["s"] + Float := range [CFloat .. CFloat] + labels ["s"] + Int := range [CInt .. CInt] + labels ["s"] + Nat := range [C1 .. C1] + labels [] + String := range [CString .. CString] + labels ["s"] + printnames +} diff --git a/testsuite/compiler/check/oper-definition/test.gfs.gold b/testsuite/compiler/check/oper-definition/test.gfs.gold index 240819c74..373ef17bd 100644 --- a/testsuite/compiler/check/oper-definition/test.gfs.gold +++ b/testsuite/compiler/check/oper-definition/test.gfs.gold @@ -1,5 +1,6 @@ -testsuite/compiler/check/oper-definition/Res.gf:3: - Happened in operation my_oper - No definition given to the operation +testsuite/compiler/check/oper-definition/Res.gf: + testsuite/compiler/check/oper-definition/Res.gf:3: + Happened in operation my_oper + No definition given to the operation diff --git a/testsuite/compiler/check/strMatch/Prelude.gf b/testsuite/compiler/check/strMatch/Prelude.gf new file mode 100644 index 000000000..1c5b50354 --- /dev/null +++ b/testsuite/compiler/check/strMatch/Prelude.gf @@ -0,0 +1,161 @@ +--1 The GF Prelude + +-- This file defines some prelude facilities usable in all grammars. + +resource Prelude = Predef[nonExist, BIND, SOFT_BIND, SOFT_SPACE, CAPIT, ALL_CAPIT] ** open (Predef=Predef) in { + +oper + +--2 Strings, records, and tables + + SS : Type = {s : Str} ; + ss : Str -> SS = \s -> {s = s} ; + ss2 : (_,_ : Str) -> SS = \x,y -> ss (x ++ y) ; + ss3 : (_,_ ,_: Str) -> SS = \x,y,z -> ss (x ++ y ++ z) ; + + cc2 : (_,_ : SS) -> SS = \x,y -> ss (x.s ++ y.s) ; + cc3 : (_,_,_ : SS) -> SS = \x,y,z -> ss (x.s ++ y.s ++ z.s) ; + + SS1 : PType -> Type = \P -> {s : P => Str} ; + ss1 : (A : PType) -> Str -> SS1 A = \A,s -> {s = table {_ => s}} ; + + SP1 : Type -> Type = \P -> {s : Str ; p : P} ; + sp1 : (A : Type) -> Str -> A -> SP1 A = \_,s,a -> {s = s ; p = a} ; + + constTable : (A : PType) -> (B : Type) -> B -> A => B = \u,v,b -> \\_ => b ; + constStr : (A : PType) -> Str -> A => Str = \A -> constTable A Str ; + +-- Discontinuous constituents. + + SD2 : Type = {s1,s2 : Str} ; + sd2 : (_,_ : Str) -> SD2 = \x,y -> {s1 = x ; s2 = y} ; + + +--2 Optional elements + +-- Optional string with preference on the string vs. empty. + + optStr : Str -> Str = \s -> variants {s ; []} ; + strOpt : Str -> Str = \s -> variants {[] ; s} ; + +-- Free order between two strings. + + bothWays : Str -> Str -> Str = \x,y -> variants {x ++ y ; y ++ x} ; + +-- Parametric order between two strings. + + preOrPost : Bool -> Str -> Str -> Str = \pr,x,y -> + if_then_Str pr (x ++ y) (y ++ x) ; + +--2 Infixes. prefixes, and postfixes + +-- Fixes with precedences are defined in [Precedence Precedence.html]. + + infixSS : Str -> SS -> SS -> SS = \f,x,y -> ss (x.s ++ f ++ y.s) ; + prefixSS : Str -> SS -> SS = \f,x -> ss (f ++ x.s) ; + postfixSS : Str -> SS -> SS = \f,x -> ss (x.s ++ f) ; + embedSS : Str -> Str -> SS -> SS = \f,g,x -> ss (f ++ x.s ++ g) ; + + +--2 Booleans + + param Bool = False | True ; + +oper + if_then_else : (A : Type) -> Bool -> A -> A -> A = \_,c,d,e -> + case c of { + True => d ; ---- should not need to qualify + False => e + } ; + + andB : (_,_ : Bool) -> Bool = \a,b -> if_then_else Bool a b False ; + orB : (_,_ : Bool) -> Bool = \a,b -> if_then_else Bool a True b ; + notB : Bool -> Bool = \a -> if_then_else Bool a False True ; + + if_then_Str : Bool -> Str -> Str -> Str = if_then_else Str ; + + onlyIf : Bool -> Str -> Str = \b,s -> case b of { + True => s ; + _ => nonExist + } ; + +-- Interface to internal booleans + + pbool2bool : Predef.PBool -> Bool = \b -> case b of { + Predef.PFalse => False ; Predef.PTrue => True + } ; + + init : Tok -> Tok = Predef.tk 1 ; + last : Tok -> Tok = Predef.dp 1 ; + +--2 High-level acces to Predef operations + + isNil : Tok -> Bool = \b -> pbool2bool (Predef.eqStr [] b) ; + + ifTok : (A : Type) -> Tok -> Tok -> A -> A -> A = \A,t,u,a,b -> + case Predef.eqStr t u of {Predef.PTrue => a ; Predef.PFalse => b} ; + +--2 Lexer-related operations + +-- Bind together two tokens in some lexers, either obligatorily or optionally + + oper + glue : Str -> Str -> Str = \x,y -> x ++ BIND ++ y ; + glueOpt : Str -> Str -> Str = \x,y -> variants {glue x y ; x ++ y} ; + noglueOpt : Str -> Str -> Str = \x,y -> variants {x ++ y ; glue x y} ; + +-- Force capitalization of next word in some unlexers + + capitalize : Str -> Str = \s -> CAPIT ++ s ; + +-- These should be hidden, and never changed since they are hardcoded in (un)lexers + + PARA : Str = "&-" ; + +-- Embed between commas, where the latter one disappears in front of other punctuation + + embedInCommas : Str -> Str = \s -> bindComma ++ s ++ endComma ; + endComma : Str = pre {"," | "." => []; "" => bindComma ; _ => []} ; + + bindComma : Str = SOFT_BIND ++ "," ; + optComma : Str = bindComma | [] ; + optCommaSS : SS -> SS = \s -> ss (s.s ++ optComma) ; + +--2 Miscellaneous + +-- Identity function + + id : (A : Type) -> A -> A = \_,a -> a ; + +-- Parentheses + + paren : Str -> Str = \s -> "(" ++ s ++ ")" ; + parenss : SS -> SS = \s -> ss (paren s.s) ; + +-- Zero, one, two, or more (elements in a list etc) + +param + ENumber = E0 | E1 | E2 | Emore ; + +oper + eNext : ENumber -> ENumber = \e -> case e of { + E0 => E1 ; E1 => E2 ; _ => Emore} ; + +-- convert initial to upper/lower + + toUpperFirst : Str -> Str = \s -> case s of { + x@? + xs => Predef.toUpper x + xs ; + _ => s + } ; + + toLowerFirst : Str -> Str = \s -> case s of { + x@? + xs => Predef.toLower x + xs ; + _ => s + } ; + +-- handling errors caused by temporarily missing definitions + + notYet : Str -> Predef.Error = \s -> + Predef.error ("NOT YET IMPLEMENTED:" ++ s) ; + +} diff --git a/testsuite/compiler/check/strMatch/strMatch.gfs.gold b/testsuite/compiler/check/strMatch/strMatch.gfs.gold new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/testsuite/compiler/check/strMatch/strMatch.gfs.gold @@ -0,0 +1 @@ + diff --git a/testsuite/compiler/params/params.gfs.gold b/testsuite/compiler/params/params.gfs.gold new file mode 100644 index 000000000..e69de29bb diff --git a/testsuite/compiler/typecheck/abstract/LetInDefAbs.gfs.gold b/testsuite/compiler/typecheck/abstract/LetInDefAbs.gfs.gold new file mode 100644 index 000000000..e4613af56 --- /dev/null +++ b/testsuite/compiler/typecheck/abstract/LetInDefAbs.gfs.gold @@ -0,0 +1,15 @@ +fun f : Int -> Int ; +def f n = ? ; +000 CHECK_ARGS 1 + ALLOC 2 + PUT_CLOSURE 001 + SET_PAD + TUCK hp(0) 1 + EVAL f tail(0) +001 ALLOC 2 + PUT_LIT 0 + PUSH_FRAME + PUSH hp(0) + EVAL f update +Probability: 1.0 + diff --git a/testsuite/compiler/typecheck/abstract/LetInTypesAbs.gfs.gold b/testsuite/compiler/typecheck/abstract/LetInTypesAbs.gfs.gold index 588b1643d..bbd381681 100644 --- a/testsuite/compiler/typecheck/abstract/LetInTypesAbs.gfs.gold +++ b/testsuite/compiler/typecheck/abstract/LetInTypesAbs.gfs.gold @@ -1 +1,3 @@ -fun f : (Int -> Int) -> Int -> Int +fun f : (Int -> Int) -> Int -> Int ; +Probability: 1.0 + diff --git a/testsuite/compiler/typecheck/abstract/LitAbs.gf b/testsuite/compiler/typecheck/abstract/LitAbs.gf index 03f850232..08230b8cf 100644 --- a/testsuite/compiler/typecheck/abstract/LitAbs.gf +++ b/testsuite/compiler/typecheck/abstract/LitAbs.gf @@ -5,7 +5,7 @@ cat CStr String ; CFloat Float ; data empty : CStr "" ; - null : CStr [] ; + -- null : CStr [] ; -- Commented out by IL 06/2021: causes parse error other : CStr "other" ; data zero : CInt 0 ; diff --git a/testsuite/compiler/typecheck/abstract/LitAbs.gfs b/testsuite/compiler/typecheck/abstract/LitAbs.gfs index ce10daa20..71c4cca29 100644 --- a/testsuite/compiler/typecheck/abstract/LitAbs.gfs +++ b/testsuite/compiler/typecheck/abstract/LitAbs.gfs @@ -1,5 +1,4 @@ i -src testsuite/compiler/typecheck/abstract/LitAbs.gf -ai null ai empty ai other ai zero diff --git a/testsuite/compiler/typecheck/abstract/LitAbs.gfs.gold b/testsuite/compiler/typecheck/abstract/LitAbs.gfs.gold index 83dda9094..2d1e93979 100644 --- a/testsuite/compiler/typecheck/abstract/LitAbs.gfs.gold +++ b/testsuite/compiler/typecheck/abstract/LitAbs.gfs.gold @@ -1,5 +1,12 @@ -data null : CStr "" -data empty : CStr "" -data other : CStr "other" -data zero : CInt 0 -data pi : CFloat 3.14 +data empty : CStr "" ; +Probability: 0.5 + +data other : CStr "other" ; +Probability: 0.5 + +data zero : CInt 0 ; +Probability: 1.0 + +data pi : CFloat 3.14 ; +Probability: 1.0 + diff --git a/testsuite/compiler/typecheck/abstract/non-abstract-terms.gfs b/testsuite/compiler/typecheck/abstract/non-abstract-terms.gfs index 0b07b7ed4..1edc94e02 100644 --- a/testsuite/compiler/typecheck/abstract/non-abstract-terms.gfs +++ b/testsuite/compiler/typecheck/abstract/non-abstract-terms.gfs @@ -1,2 +1,5 @@ i -src testsuite/compiler/typecheck/abstract/PolyTypes.gf -i -src testsuite/compiler/typecheck/abstract/RecTypes.gf \ No newline at end of file +ai f + +i -src testsuite/compiler/typecheck/abstract/RecTypes.gf +ai f \ No newline at end of file diff --git a/testsuite/compiler/typecheck/abstract/test_A.gfs.gold b/testsuite/compiler/typecheck/abstract/test_A.gfs.gold index 821a4da2c..d99a5ec08 100644 --- a/testsuite/compiler/typecheck/abstract/test_A.gfs.gold +++ b/testsuite/compiler/typecheck/abstract/test_A.gfs.gold @@ -1,5 +1,6 @@ -testsuite/compiler/typecheck/abstract/A.gf:4: - Happened in the category B - Prod expected for function A instead of Type +testsuite/compiler/typecheck/abstract/A.gf: + testsuite/compiler/typecheck/abstract/A.gf:4: + Happened in the category B + Prod expected for function A instead of Type diff --git a/testsuite/compiler/typecheck/abstract/test_B.gfs.gold b/testsuite/compiler/typecheck/abstract/test_B.gfs.gold index 1355ff7c5..3c923c6de 100644 --- a/testsuite/compiler/typecheck/abstract/test_B.gfs.gold +++ b/testsuite/compiler/typecheck/abstract/test_B.gfs.gold @@ -1,5 +1,6 @@ -testsuite/compiler/typecheck/abstract/B.gf:5: - Happened in the type of function f - Prod expected for function S instead of Type +testsuite/compiler/typecheck/abstract/B.gf: + testsuite/compiler/typecheck/abstract/B.gf:5: + Happened in the type of function f + Prod expected for function S instead of Type diff --git a/testsuite/compiler/typecheck/abstract/test_C.gfs.gold b/testsuite/compiler/typecheck/abstract/test_C.gfs.gold index d055b11cd..d86aeda8b 100644 --- a/testsuite/compiler/typecheck/abstract/test_C.gfs.gold +++ b/testsuite/compiler/typecheck/abstract/test_C.gfs.gold @@ -1,5 +1,6 @@ -testsuite/compiler/typecheck/abstract/C.gf:6: - Happened in the definition of function f - {Int <> S} +testsuite/compiler/typecheck/abstract/C.gf: + testsuite/compiler/typecheck/abstract/C.gf:6: + Happened in the definition of function f + {Int <> S} diff --git a/testsuite/compiler/typecheck/concrete/test_A.gfs.gold b/testsuite/compiler/typecheck/concrete/test_A.gfs.gold index 1bd4dffab..19b66a865 100644 --- a/testsuite/compiler/typecheck/concrete/test_A.gfs.gold +++ b/testsuite/compiler/typecheck/concrete/test_A.gfs.gold @@ -1,5 +1,9 @@ -testsuite/compiler/typecheck/concrete/A.gf:5: - Happened in operation silly - A function type is expected for a_Det instead of type Str +testsuite/compiler/typecheck/concrete/A.gf: + testsuite/compiler/typecheck/concrete/A.gf:5: + Happened in operation silly + A function type is expected for a_Det instead of type Str + + ** Maybe you gave too many arguments to a_Det + diff --git a/testsuite/libraries/exx-resource.gfs b/testsuite/libraries/exx-resource.gfs deleted file mode 100644 index 31163a1bd..000000000 --- a/testsuite/libraries/exx-resource.gfs +++ /dev/null @@ -1,226 +0,0 @@ -se utf8 -i alltenses/LangEng.gfo -i alltenses/LangSwe.gfo -i alltenses/LangBul.gfo --- Adjective - -l -treebank PositA warm_A -l -treebank ComparA warm_A (UsePron i_Pron) -l -treebank ComplA2 married_A2 (UsePron she_Pron) -l -treebank ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumPl)) -l -treebank ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumSg)) -l -treebank ReflA2 married_A2 -l -treebank PositA (UseA2 married_A2) -l -treebank SentAP (PositA good_A) (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseComp (CompAdv here_Adv))))) -l -treebank AdAP very_AdA (PositA warm_A) - - --- Adverb - -l -treebank PositAdvAdj warm_A -l -treebank PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)) -l -treebank ComparAdvAdj more_CAdv warm_A (UsePN john_PN) -l -treebank ComparAdvAdjS more_CAdv warm_A (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV run_V))) -l -treebank SubjS when_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) -l -treebank AdNum (AdnCAdv more_CAdv) (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) - - --- Conjunction - -l -treebank ConjS and_Conj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -l -treebank ConjAP and_Conj (BaseAP (PositA cold_A) (PositA warm_A)) -l -treebank ConjNP or_Conj (BaseNP (UsePron she_Pron) (UsePron we_Pron)) -l -treebank ConjAdv or_Conj (BaseAdv here_Adv there_Adv) -l -treebank ConjS either7or_DConj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -l -treebank ConjAP both7and_DConj (BaseAP (PositA warm_A) (PositA cold_A)) -l -treebank ConjNP either7or_DConj (BaseNP (UsePron he_Pron) (UsePron she_Pron)) -l -treebank ConjAdv both7and_DConj (BaseAdv here_Adv there_Adv) - --- Idiom - -l -treebank ImpersCl (UseComp (CompAP (PositA hot_A))) -l -treebank GenericCl (UseV sleep_V) -l -treebank CleftNP (UsePron i_Pron) (UseRCl (TTAnt TPast ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron)))) -l -treebank CleftAdv here_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) -l -treebank ExistNP (DetCN (DetQuant IndefArt NumSg) (UseN house_N)) -l -treebank ExistIP (IdetCN (IdetQuant which_IQuant NumPl) (UseN house_N)) -l -treebank PredVP (UsePron i_Pron) (ProgrVP (UseV sleep_V)) -l -treebank ImpPl1 (UseV go_V) - --- Noun - -l -treebank DetCN (DetQuant DefArt NumSg) (UseN man_N) -l -treebank UsePN john_PN -l -treebank UsePron he_Pron -l -treebank PredetNP only_Predet (DetCN (DetQuant DefArt NumSg) (UseN man_N)) -l -treebank PPartNP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) see_V2 -l -treebank AdvNP (UsePN paris_PN) today_Adv -l -treebank RelNP (UsePN paris_PN) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseComp (CompAdv here_Adv)))) -l -treebank DetNP (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) -l -treebank DetCN (DetQuantOrd this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) -l -treebank DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N) -l -treebank DetCN (DetQuant this_Quant NumPl) (UseN man_N) -l -treebank DetCN (DetQuant this_Quant NumSg) (UseN man_N) -l -treebank NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) -l -treebank NumCard (NumDigits (IIDig D_5 (IDig D_1))) -l -treebank NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01))))) -l -treebank NumCard (AdNum almost_AdN (NumDigits (IIDig D_5 (IDig D_1)))) -l -treebank OrdDigits (IIDig D_5 (IDig D_1)) -l -treebank OrdNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01)))) -l -treebank OrdSuperl warm_A -l -treebank DetCN (DetQuantOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) -l -treebank DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N) -l -treebank DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01))))))) (UseN man_N) -l -treebank DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01))))))) (UseN man_N) -l -treebank DetCN (DetQuant DefArt NumSg) (UseN man_N) -l -treebank DetCN (DetQuant DefArt NumPl) (UseN man_N) -l -treebank MassNP (UseN beer_N) -l -treebank DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN house_N) -l -treebank UseN house_N -l -treebank ComplN2 mother_N2 (DetCN (DetQuant DefArt NumSg) (UseN king_N)) -l -treebank ComplN2 (ComplN3 distance_N3 (DetCN (DetQuant this_Quant NumSg) (UseN city_N))) (UsePN paris_PN) -l -treebank UseN2 mother_N2 -l -treebank ComplN2 (Use2N3 distance_N3) (DetCN (DetQuant this_Quant NumSg) (UseN city_N)) -l -treebank ComplN2 (Use3N3 distance_N3) (UsePN paris_PN) -l -treebank UseN2 (Use2N3 distance_N3) -l -treebank AdjCN (PositA big_A) (UseN house_N) -l -treebank RelCN (UseN house_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a buy_V2)))) -l -treebank AdvCN (UseN house_N) (PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN hill_N))) -l -treebank SentCN (UseN question_N) (EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIAdv where_IAdv (PredVP (UsePron she_Pron) (UseV sleep_V))))) -l -treebank DetCN (DetQuant DefArt NumSg) (ApposCN (UseN city_N) (UsePN paris_PN)) -l -treebank DetCN (DetQuant (PossPron i_Pron) NumSg) (ApposCN (UseN friend_N) (UsePN john_PN)) - --- Numeral - -l -treebank num (pot2as3 (pot1as2 (pot0as1 (pot0 n6)))) -l -treebank num (pot2as3 (pot1as2 (pot0as1 pot01))) -l -treebank num (pot2as3 (pot1as2 (pot1 n6))) -l -treebank num (pot2as3 (pot1as2 pot110)) -l -treebank num (pot2as3 (pot1as2 pot111)) -l -treebank num (pot2as3 (pot1as2 (pot1to19 n6))) -l -treebank num (pot2as3 (pot1as2 (pot1 n6))) -l -treebank num (pot2as3 (pot1as2 (pot1plus n6 (pot0 n5)))) -l -treebank num (pot2as3 (pot2 (pot0 n4))) -l -treebank num (pot2as3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) -l -treebank num (pot3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) -l -treebank num (pot3plus (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))) (pot1as2 (pot1plus n8 (pot0 n9)))) -l -treebank IDig D_8 -l -treebank IIDig D_8 (IIDig D_0 (IIDig D_0 (IIDig D_1 (IIDig D_7 (IIDig D_8 (IDig D_9)))))) - - --- Phrase - -l -treebank PhrUtt but_PConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N))) -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc -l -treebank UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestCl (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A)))))) -l -treebank UttImpSg PNeg (ImpVP (ReflVP (SlashV2a love_V2))) -l -treebank UttImpPl PNeg (ImpVP (ReflVP (SlashV2a love_V2))) -l -treebank UttImpPol PNeg (ImpVP (UseV sleep_V)) -l -treebank UttIP whoPl_IP -l -treebank UttIP whoSg_IP -l -treebank UttIAdv why_IAdv -l -treebank UttNP (DetCN (DetQuant this_Quant NumSg) (UseN man_N)) -l -treebank UttAdv here_Adv -l -treebank UttVP (UseV sleep_V) -l -treebank VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N)) - - --- Question - -l -treebank QuestCl (PredVP (UsePN john_PN) (UseV walk_V)) -l -treebank QuestVP whoSg_IP (UseV walk_V) -l -treebank QuestSlash whoSg_IP (SlashVP (UsePN john_PN) (SlashV2a love_V2)) -l -treebank QuestIAdv why_IAdv (PredVP (UsePN john_PN) (UseV walk_V)) -l -treebank QuestIComp (CompIAdv where_IAdv) (UsePN john_PN) -l -treebank IdetCN (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN song_N) -l -treebank IdetIP (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) -l -treebank AdvIP whoSg_IP (PrepNP in_Prep (UsePN paris_PN)) -l -treebank IdetIP (IdetQuant which_IQuant NumSg) -l -treebank PrepIP with_Prep whoSg_IP -l -treebank QuestIComp (CompIAdv where_IAdv) (UsePron it_Pron) -l -treebank QuestIComp (CompIP whoSg_IP) (UsePron it_Pron) - - --- Relative - -l -treebank ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelCl (PredVP (UsePN john_PN) (ComplSlash (SlashV2a love_V2) (UsePron she_Pron))))))) -l -treebank ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a love_V2) (UsePN john_PN)))))) -l -treebank ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a love_V2)))))) -l -treebank ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash (FunRP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN2 mother_N2)) IdRP) (SlashVP (UsePN john_PN) (SlashV2a love_V2)))))) - --- Sentence - -l -treebank PredVP (UsePN john_PN) (UseV walk_V) -l -treebank PredSCVP (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV go_V)))) (UseComp (CompAP (PositA good_A))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron he_Pron) (SlashV2a see_V2)))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (AdvSlash (SlashVP (UsePron he_Pron) (SlashV2a see_V2)) today_Adv))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (UsePron he_Pron) (UseV walk_V)) with_Prep))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVS (UsePron she_Pron) say_VS (UseSlash (TTAnt TPres ASimul) PPos (SlashVP (UsePron he_Pron) (SlashV2a love_V2)))))) -l -treebank ImpVP (ReflVP (SlashV2a love_V2)) -l -treebank EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV go_V))) -l -treebank EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV go_V))) -l -treebank EmbedVP (UseV go_V) -l -treebank UseCl (TTAnt TCond AAnter) PNeg (PredVP (UsePN john_PN) (UseV walk_V)) -l -treebank UseQCl (TTAnt TCond AAnter) PNeg (QuestCl (PredVP (UsePN john_PN) (UseV walk_V))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TCond AAnter) PNeg (RelVP IdRP (UseV walk_V))) -l -treebank RelCN (UseN girl_N) (UseRCl (TTAnt TCond AAnter) PNeg (RelSlash IdRP (SlashPrep (PredVP (UsePron i_Pron) (UseV walk_V)) with_Prep))) -l -treebank RelS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseComp (CompAP (PositA good_A))))) - - --- Text - -l -treebank TEmpty -l -treebank TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc) TEmpty -l -treebank TQuestMark (PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestCl (PredVP (UsePron they_Pron) (UseComp (CompAdv here_Adv)))))) NoVoc) TEmpty -l -treebank TExclMark (PhrUtt NoPConj (ImpPl1 (UseV go_V)) NoVoc) TEmpty - --- Verb - -l -treebank PredVP (UsePron i_Pron) (UseV sleep_V) -l -treebank PredVP (UsePron i_Pron) (ComplVV want_VV (UseV run_V)) -l -treebank PredVP (UsePron i_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -l -treebank PredVP (UsePron i_Pron) (ComplVQ wonder_VQ (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV run_V)))) -l -treebank PredVP (UsePron they_Pron) (ComplVA become_VA (PositA red_A)) -l -treebank PredVP (UsePron i_Pron) (ComplSlash (Slash3V3 give_V3 (UsePron he_Pron)) (UsePron it_Pron)) -l -treebank PredVP (UsePron i_Pron) (ComplSlash (SlashV2V beg_V2V (UseV go_V)) (UsePron she_Pron)) -l -treebank PredVP (UsePron i_Pron) (ComplSlash (SlashV2S answer_V2S (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A)))))) (UsePron he_Pron)) -l -treebank PredVP (UsePron i_Pron) (ComplSlash (SlashV2Q ask_V2Q (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (UseV come_V)))) (UsePron he_Pron)) -l -treebank PredVP (UsePron i_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron)) -l -treebank RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron i_Pron) (SlashVV want_VV (SlashV2a buy_V2))))) -l -treebank RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron they_Pron) (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashV2a buy_V2))))) -l -treebank PredVP (UsePron he_Pron) (ReflVP (SlashV2a love_V2)) -l -treebank PredVP (DetNP (DetQuant this_Quant NumSg)) (UseComp (CompAP (PositA warm_A))) -l -treebank PredVP (UsePron we_Pron) (PassV2 love_V2) -l -treebank PredVP (UsePron we_Pron) (AdvVP (UseV sleep_V) here_Adv) -l -treebank PredVP (UsePron we_Pron) (AdVVP always_AdV (UseV sleep_V)) -l -treebank PredVP (UsePron we_Pron) (UseComp (CompAP (PositA small_A))) -l -treebank PredVP (UsePron i_Pron) (UseComp (CompNP (DetCN (DetQuant IndefArt NumSg) (UseN man_N)))) -l -treebank PredVP (UsePron i_Pron) (UseComp (CompAdv here_Adv)) - - - --- Janna's and Krasimir's long examples - -l -treebank RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron they_Pron) (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashVV want_VV (SlashV2A paint_V2A (PositA red_A))))))) -l -treebank PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdVVP always_AdV (ComplSlash (SlashV2a listen_V2) (DetCN (DetQuant DefArt NumSg) (UseN sea_N)))))) NoVoc -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNP (PredetNP only_Predet (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2)))))))) (AdvCN (RelCN (UseN woman_N) (UseRCl (TTAnt TCond ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (UsePron i_Pron) (ComplVV want_VV (PassV2 see_V2))) with_Prep)))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN rain_N))))))))) NoVoc -l -treebank PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplSlash (SlashV2A paint_V2A (ConjAP both7and_DConj (BaseAP (ComparA small_A (DetCN (DetQuant DefArt NumSg) (UseN sun_N))) (ComparA big_A (DetCN (DetQuant DefArt NumSg) (UseN moon_N)))))) (DetCN (DetQuant DefArt NumSg) (UseN earth_N))))) NoVoc -l -treebank PhrUtt NoPConj (ImpPl1 (ComplVS hope_VS (ConjS either7or_DConj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (ComplN2 father_N2 (DetCN (DetQuant DefArt NumSg) (UseN baby_N)))) (UseV run_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN2 (Use2N3 distance_N3))) (UseComp (CompAP (PositA small_A))))))))) NoVoc -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN every_Det (UseN baby_N)) (UseComp (CompNP (ConjNP either7or_DConj (BaseNP (DetCN (DetQuant IndefArt NumSg) (UseN boy_N)) (DetCN (DetQuant IndefArt NumSg) (UseN girl_N))))))))) NoVoc -l -treebank PhrUtt NoPConj (UttAdv (ConjAdv either7or_DConj (ConsAdv here7from_Adv (BaseAdv there_Adv everywhere_Adv)))) NoVoc -l -treebank PhrUtt NoPConj (UttVP (PassV2 know_V2)) NoVoc -l -treebank RelCN (UseN bird_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron i_Pron) (SlashVV want_VV (SlashV2A paint_V2A (PositA red_A)))))) -l -treebank UttImpSg PPos (ImpVP (ComplVV want_VV (ComplSlash (SlashV2a buy_V2) (UsePron it_Pron)))) -l -treebank UttImpSg PPos (ImpVP (ComplVV want_VV (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron)))) -l -treebank UttImpSg PPos (ImpVP (ComplSlash (SlashVV want_VV (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashV2a buy_V2))) (UsePron it_Pron))) -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN fruit_N)) (ReflVP (Slash3V3 sell_V3 (DetCN (DetQuant DefArt NumSg) (UseN road_N))))))) NoVoc -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2V beg_V2V (UseV live_V)))))) NoVoc -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2S answer_V2S (UseCl (TTAnt TPres ASimul) PPos (ImpersCl (ComplVV must_VV (ReflVP (SlashV2a understand_V2)))))))))) NoVoc -l -treebank PhrUtt NoPConj (UttImpSg PPos (ImpVP (ReflVP (SlashV2Q ask_V2Q (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (UseV come_V))))))) NoVoc -l -treebank PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2A paint_V2A (ComparA beautiful_A (UsePN john_PN))))))) NoVoc - --- more long examples - -l -treebank UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant this_Quant NumSg) (UseN grammar_N)) (ComplSlash (SlashV2a speak_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1to19 n2))))))) (UseN language_N))))) -l -treebank UseCl (TTAnt TPast AAnter) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2a buy_V2) (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA red_A) (UseN house_N))))) - diff --git a/testsuite/libraries/exx-resource.gfs.gold b/testsuite/libraries/exx-resource.gfs.gold deleted file mode 100644 index b9cec44d5..000000000 --- a/testsuite/libraries/exx-resource.gfs.gold +++ /dev/null @@ -1,1032 +0,0 @@ -Lang: PositA warm_A -LangEng: warm -LangSwe: varm -LangBul: топъл - - -Lang: ComparA warm_A (UsePron i_Pron) -LangEng: warmer than I -LangSwe: varmare än jag -LangBul: по - топъл от мен - - -Lang: ComplA2 married_A2 (UsePron she_Pron) -LangEng: married to her -LangSwe: gift med henne -LangBul: женен за нея - - -Lang: ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumPl)) -LangEng: married to hers -LangSwe: gift med hennes -LangBul: женен за нейните - - -Lang: ComplA2 married_A2 (DetNP (DetQuant (PossPron she_Pron) NumSg)) -LangEng: married to hers -LangSwe: gift med hennes -LangBul: женен за нейното - - -Lang: ReflA2 married_A2 -LangEng: married to myself -LangSwe: gift med sig -LangBul: женен за себе си - - -Lang: PositA (UseA2 married_A2) -LangEng: married -LangSwe: gift -LangBul: женен - - -Lang: SentAP (PositA good_A) (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseComp (CompAdv here_Adv))))) -LangEng: good that she is here -LangSwe: god att hon är här -LangBul: добър , че тя е тук - - -Lang: AdAP very_AdA (PositA warm_A) -LangEng: very warm -LangSwe: mycket varm -LangBul: много топъл - - -Lang: PositAdvAdj warm_A -LangEng: warmly -LangSwe: varmt -LangBul: топло - - -Lang: PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN house_N)) -LangEng: in the house -LangSwe: i huset -LangBul: в къщата - - -Lang: ComparAdvAdj more_CAdv warm_A (UsePN john_PN) -LangEng: more warmly than John -LangSwe: mer varmt än Johan -LangBul: по - топло от Джон - - -Lang: ComparAdvAdjS more_CAdv warm_A (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV run_V))) -LangEng: more warmly than he runs -LangSwe: mer varmt än han springer -LangBul: по - топло от колкото той бяга - - -Lang: SubjS when_Subj (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) -LangEng: when she sleeps -LangSwe: när hon sover -LangBul: когато тя спи - - -Lang: AdNum (AdnCAdv more_CAdv) (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) -LangEng: more than five -LangSwe: mer än fem -LangBul: повече от пет - - -Lang: ConjS and_Conj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -LangEng: he walks and she runs -LangSwe: han går och hon springer -LangBul: той ходи и тя бяга - - -Lang: ConjAP and_Conj (BaseAP (PositA cold_A) (PositA warm_A)) -LangEng: cold and warm -LangSwe: kall och varm -LangBul: студен и топъл - - -Lang: ConjNP or_Conj (BaseNP (UsePron she_Pron) (UsePron we_Pron)) -LangEng: she or we -LangSwe: hon eller vi -LangBul: тя или ние - - -Lang: ConjAdv or_Conj (BaseAdv here_Adv there_Adv) -LangEng: here or there -LangSwe: här eller där -LangBul: тук или там - - -Lang: ConjS either7or_DConj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (UseV walk_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -LangEng: either he walks or she runs -LangSwe: antingen han går eller hon springer -LangBul: или той ходи или тя бяга - - -Lang: ConjAP both7and_DConj (BaseAP (PositA warm_A) (PositA cold_A)) -LangEng: both warm and cold -LangSwe: både varm och kall -LangBul: и топъл и студен - - -Lang: ConjNP either7or_DConj (BaseNP (UsePron he_Pron) (UsePron she_Pron)) -LangEng: either he or she -LangSwe: antingen han eller hon -LangBul: или той или тя - - -Lang: ConjAdv both7and_DConj (BaseAdv here_Adv there_Adv) -LangEng: both here and there -LangSwe: både här och där -LangBul: и тук и там - - -Lang: ImpersCl (UseComp (CompAP (PositA hot_A))) -LangEng: it is hot -LangSwe: det är hett -LangBul: е горещо - - -Lang: GenericCl (UseV sleep_V) -LangEng: one sleeps -LangSwe: man sover -LangBul: някой спи - - -Lang: CleftNP (UsePron i_Pron) (UseRCl (TTAnt TPast ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a do_V2) (UsePron it_Pron)))) -LangEng: it is I who did it -LangSwe: det är jag som gjorde det -LangBul: аз съм този който направих него - - -Lang: CleftAdv here_Adv (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) -LangEng: it is here that she slept -LangSwe: det är här hon sov -LangBul: тук тя спа - - -Lang: ExistNP (DetCN (DetQuant IndefArt NumSg) (UseN house_N)) -LangEng: there is a house -LangSwe: det finns ett hus -LangBul: има къща - - -Lang: ExistIP (IdetCN (IdetQuant which_IQuant NumPl) (UseN house_N)) -LangEng: which houses are there -LangSwe: vilka hus finns det -LangBul: кои къщи са тук - - -Lang: PredVP (UsePron i_Pron) (ProgrVP (UseV sleep_V)) -LangEng: I am sleeping -LangSwe: jag håller på att sova -LangBul: аз спя - - -Lang: ImpPl1 (UseV go_V) -LangEng: let's go -LangSwe: låt oss gå -LangBul: нека да отидем - - -Lang: DetCN (DetQuant DefArt NumSg) (UseN man_N) -LangEng: the man -LangSwe: mannen -LangBul: мъжът - - -Lang: UsePN john_PN -LangEng: John -LangSwe: Johan -LangBul: Джон - - -Lang: UsePron he_Pron -LangEng: he -LangSwe: han -LangBul: той - - -Lang: PredetNP only_Predet (DetCN (DetQuant DefArt NumSg) (UseN man_N)) -LangEng: only the man -LangSwe: bara mannen -LangBul: само мъжът - - -Lang: PPartNP (DetCN (DetQuant DefArt NumSg) (UseN man_N)) see_V2 -LangEng: the man seen -LangSwe: mannen sedd -LangBul: мъжът видян - - -Lang: AdvNP (UsePN paris_PN) today_Adv -LangEng: Paris today -LangSwe: Paris idag -LangBul: Париж днес - - -Lang: RelNP (UsePN paris_PN) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseComp (CompAdv here_Adv)))) -LangEng: Paris , which is here -LangSwe: Paris , som är här -LangBul: Париж който е тук - - -Lang: DetNP (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) -LangEng: these five -LangSwe: de här fem -LangBul: тези пет - - -Lang: DetCN (DetQuantOrd this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) -LangEng: these five best men -LangSwe: de här fem bästa männen -LangBul: тези петима най - добри мъже - - -Lang: DetCN (DetQuant this_Quant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N) -LangEng: these five men -LangSwe: de här fem männen -LangBul: тези петима мъже - - -Lang: DetCN (DetQuant this_Quant NumPl) (UseN man_N) -LangEng: these men -LangSwe: de här männen -LangBul: тези мъже - - -Lang: DetCN (DetQuant this_Quant NumSg) (UseN man_N) -LangEng: this man -LangSwe: den här mannen -LangBul: този мъж - - -Lang: NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))) -LangEng: five -LangSwe: fem -LangBul: пет - - -Lang: NumCard (NumDigits (IIDig D_5 (IDig D_1))) -LangEng: 5 1 -LangSwe: 5 1 -LangBul: 5 1 - - -Lang: NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01))))) -LangEng: fifty - one -LangSwe: femtio en -LangBul: петдесет и един - - -Lang: NumCard (AdNum almost_AdN (NumDigits (IIDig D_5 (IDig D_1)))) -LangEng: almost 5 1 -LangSwe: nästan 5 1 -LangBul: почти 5 1 - - -Lang: OrdDigits (IIDig D_5 (IDig D_1)) -LangEng: 5 1st -LangSwe: 5 1:a -LangBul: 5 1ви - - -Lang: OrdNumeral (num (pot2as3 (pot1as2 (pot1plus n5 pot01)))) -LangEng: fifty - first -LangSwe: femtio första -LangBul: петдесет и първи - - -Lang: OrdSuperl warm_A -LangEng: warmest -LangSwe: varmaste -LangBul: най - топъл - - -Lang: DetCN (DetQuantOrd DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5))))))) (OrdSuperl good_A)) (UseN man_N) -LangEng: the five best men -LangSwe: de fem bästa männen -LangBul: петимата най - добри мъже - - -Lang: DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN man_N) -LangEng: the five men -LangSwe: de fem männen -LangBul: петимата мъже - - -Lang: DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01))))))) (UseN man_N) -LangEng: one man -LangSwe: en man -LangBul: един мъж - - -Lang: DetCN (DetQuant DefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 pot01))))))) (UseN man_N) -LangEng: the one man -LangSwe: den en mannen -LangBul: единият мъж - - -Lang: DetCN (DetQuant DefArt NumSg) (UseN man_N) -LangEng: the man -LangSwe: mannen -LangBul: мъжът - - -Lang: DetCN (DetQuant DefArt NumPl) (UseN man_N) -LangEng: the men -LangSwe: männen -LangBul: мъжете - - -Lang: MassNP (UseN beer_N) -LangEng: beer -LangSwe: öl -LangBul: бира - - -Lang: DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN house_N) -LangEng: my house -LangSwe: mitt hus -LangBul: моята къща - - -Lang: UseN house_N -LangEng: house -LangSwe: hus -LangBul: къща - - -Lang: ComplN2 mother_N2 (DetCN (DetQuant DefArt NumSg) (UseN king_N)) -LangEng: mother of the king -LangSwe: mor till kungen -LangBul: майка на царя - - -Lang: ComplN2 (ComplN3 distance_N3 (DetCN (DetQuant this_Quant NumSg) (UseN city_N))) (UsePN paris_PN) -LangEng: distance from this city to Paris -LangSwe: avstånd från den här staden till Paris -LangBul: разстояние от този град до Париж - - -Lang: UseN2 mother_N2 -LangEng: mother -LangSwe: mor -LangBul: майка - - -Lang: ComplN2 (Use2N3 distance_N3) (DetCN (DetQuant this_Quant NumSg) (UseN city_N)) -LangEng: distance from this city -LangSwe: avstånd från den här staden -LangBul: разстояние от този град - - -Lang: ComplN2 (Use3N3 distance_N3) (UsePN paris_PN) -LangEng: distance to Paris -LangSwe: avstånd till Paris -LangBul: разстояние до Париж - - -Lang: UseN2 (Use2N3 distance_N3) -LangEng: distance -LangSwe: avstånd -LangBul: разстояние - - -Lang: AdjCN (PositA big_A) (UseN house_N) -LangEng: big house -LangSwe: stort hus -LangBul: голяма къща - - -Lang: RelCN (UseN house_N) (UseRCl (TTAnt TPast ASimul) PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a buy_V2)))) -LangEng: house which John bought -LangSwe: hus som Johan köpte -LangBul: къща която Джон купи - - -Lang: AdvCN (UseN house_N) (PrepNP on_Prep (DetCN (DetQuant DefArt NumSg) (UseN hill_N))) -LangEng: house on the hill -LangSwe: hus på kullen -LangBul: къща на хълма - - -Lang: SentCN (UseN question_N) (EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestIAdv where_IAdv (PredVP (UsePron she_Pron) (UseV sleep_V))))) -LangEng: question where she sleeps -LangSwe: fråga var hon sover -LangBul: въпрос където тя спи - - -Lang: DetCN (DetQuant DefArt NumSg) (ApposCN (UseN city_N) (UsePN paris_PN)) -LangEng: the city Paris -LangSwe: staden Paris -LangBul: градът Париж - - -Lang: DetCN (DetQuant (PossPron i_Pron) NumSg) (ApposCN (UseN friend_N) (UsePN john_PN)) -LangEng: my friend John -LangSwe: min vän Johan -LangBul: моят приятел Джон - - -Lang: num (pot2as3 (pot1as2 (pot0as1 (pot0 n6)))) -LangEng: six -LangSwe: sex -LangBul: шест - - -Lang: num (pot2as3 (pot1as2 (pot0as1 pot01))) -LangEng: one -LangSwe: en -LangBul: един - - -Lang: num (pot2as3 (pot1as2 (pot1 n6))) -LangEng: sixty -LangSwe: sextio -LangBul: шестдесет - - -Lang: num (pot2as3 (pot1as2 pot110)) -LangEng: ten -LangSwe: tio -LangBul: десет - - -Lang: num (pot2as3 (pot1as2 pot111)) -LangEng: eleven -LangSwe: elva -LangBul: единадесет - - -Lang: num (pot2as3 (pot1as2 (pot1to19 n6))) -LangEng: sixteen -LangSwe: sexton -LangBul: шестнадесет - - -Lang: num (pot2as3 (pot1as2 (pot1 n6))) -LangEng: sixty -LangSwe: sextio -LangBul: шестдесет - - -Lang: num (pot2as3 (pot1as2 (pot1plus n6 (pot0 n5)))) -LangEng: sixty - five -LangSwe: sextio fem -LangBul: шестдесет и пет - - -Lang: num (pot2as3 (pot2 (pot0 n4))) -LangEng: four hundred -LangSwe: fyra hundra -LangBul: четиристотин - - -Lang: num (pot2as3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) -LangEng: four hundred and sixty - seven -LangSwe: fyra hundra sextio sju -LangBul: четиристотин шестдесет и седем - - -Lang: num (pot3 (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7)))) -LangEng: four hundred and sixty - seven thousand -LangSwe: fyra hundra sextio sju tusen -LangBul: четиристотин шестдесет и седем хиляди - - -Lang: num (pot3plus (pot2plus (pot0 n4) (pot1plus n6 (pot0 n7))) (pot1as2 (pot1plus n8 (pot0 n9)))) -LangEng: four hundred and sixty - seven thousand eighty - nine -LangSwe: fyra hundra sextio sju tusen åttio nio -LangBul: четиристотин шестдесет и седем хиляди осемдесет и девет - - -Lang: IDig D_8 -LangEng: 8 -LangSwe: 8 -LangBul: 8 - - -Lang: IIDig D_8 (IIDig D_0 (IIDig D_0 (IIDig D_1 (IIDig D_7 (IIDig D_8 (IDig D_9)))))) -LangEng: 8 , 0 0 1 , 7 8 9 -LangSwe: 8 0 0 1 7 8 9 -LangBul: 8 , 0 0 1 , 7 8 9 - - -Lang: PhrUtt but_PConj (UttImpSg PPos (ImpVP (AdvVP (UseV come_V) here_Adv))) (VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N))) -LangEng: but come here , my friend -LangSwe: men kom här , min vän -LangBul: но ела тук , мой приятелю - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc -LangEng: John walks -LangSwe: Johan går -LangBul: Джон ходи - - -Lang: UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestCl (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A)))))) -LangEng: is it good -LangSwe: är det gott -LangBul: то е ли добро - - -Lang: UttImpSg PNeg (ImpVP (ReflVP (SlashV2a love_V2))) -LangEng: don't love yourself -LangSwe: älska inte dig -LangBul: не се обичай - - -Lang: UttImpPl PNeg (ImpVP (ReflVP (SlashV2a love_V2))) -LangEng: don't love yourselves -LangSwe: älska inte er -LangBul: не се обичайте - - -Lang: UttImpPol PNeg (ImpVP (UseV sleep_V)) -LangEng: don't sleep -LangSwe: sov inte -LangBul: не спете - - -Lang: UttIP whoPl_IP -LangEng: who -LangSwe: vilka -LangBul: кои - - -Lang: UttIP whoSg_IP -LangEng: who -LangSwe: vem -LangBul: кой - - -Lang: UttIAdv why_IAdv -LangEng: why -LangSwe: varför -LangBul: защо - - -Lang: UttNP (DetCN (DetQuant this_Quant NumSg) (UseN man_N)) -LangEng: this man -LangSwe: den här mannen -LangBul: този мъж - - -Lang: UttAdv here_Adv -LangEng: here -LangSwe: här -LangBul: тук - - -Lang: UttVP (UseV sleep_V) -LangEng: to sleep -LangSwe: att sova -LangBul: да спи - - -Lang: VocNP (DetCN (DetQuant (PossPron i_Pron) NumSg) (UseN friend_N)) -LangEng: , my friend -LangSwe: , min vän -LangBul: , мой приятелю - - -Lang: QuestCl (PredVP (UsePN john_PN) (UseV walk_V)) -LangEng: does John walk -LangSwe: går Johan -LangBul: Джон ходи ли - - -Lang: QuestVP whoSg_IP (UseV walk_V) -LangEng: who walks -LangSwe: vem går -LangBul: кой ходи - - -Lang: QuestSlash whoSg_IP (SlashVP (UsePN john_PN) (SlashV2a love_V2)) -LangEng: whom does John love -LangSwe: vem älskar Johan -LangBul: кого обича Джон - - -Lang: QuestIAdv why_IAdv (PredVP (UsePN john_PN) (UseV walk_V)) -LangEng: why does John walk -LangSwe: varför går Johan -LangBul: защо ходи Джон - - -Lang: QuestIComp (CompIAdv where_IAdv) (UsePN john_PN) -LangEng: where is John -LangSwe: var är Johan -LangBul: къде е Джон - - -Lang: IdetCN (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) (UseN song_N) -LangEng: which five songs -LangSwe: vilka fem sånger -LangBul: кои пет песни - - -Lang: IdetIP (IdetQuant which_IQuant (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n5)))))))) -LangEng: which five -LangSwe: vilka fem -LangBul: кои пет - - -Lang: AdvIP whoSg_IP (PrepNP in_Prep (UsePN paris_PN)) -LangEng: who in Paris -LangSwe: vem i Paris -LangBul: кой в Париж - - -Lang: IdetIP (IdetQuant which_IQuant NumSg) -LangEng: which -LangSwe: vilket -LangBul: кое - - -Lang: PrepIP with_Prep whoSg_IP -LangEng: with whom -LangSwe: med vem -LangBul: с кой - - -Lang: QuestIComp (CompIAdv where_IAdv) (UsePron it_Pron) -LangEng: where is it -LangSwe: var är det -LangBul: къде е то - - -Lang: QuestIComp (CompIP whoSg_IP) (UsePron it_Pron) -LangEng: who is it -LangSwe: vem är det -LangBul: кой е то - - -Lang: ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelCl (PredVP (UsePN john_PN) (ComplSlash (SlashV2a love_V2) (UsePron she_Pron))))))) -LangEng: there is a woman such that John loves her -LangSwe: det finns en kvinna sådan att Johan älskar henne -LangBul: има жена такава че Джон обича нея - - -Lang: ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (ComplSlash (SlashV2a love_V2) (UsePN john_PN)))))) -LangEng: there is a woman who loves John -LangSwe: det finns en kvinna som älskar Johan -LangBul: има жена която обича Джон - - -Lang: ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePN john_PN) (SlashV2a love_V2)))))) -LangEng: there is a woman whom John loves -LangSwe: det finns en kvinna som Johan älskar -LangBul: има жена която Джон обича - - -Lang: ExistNP (DetCN (DetQuant IndefArt NumSg) (RelCN (UseN woman_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash (FunRP possess_Prep (DetCN (DetQuant DefArt NumSg) (UseN2 mother_N2)) IdRP) (SlashVP (UsePN john_PN) (SlashV2a love_V2)))))) -LangEng: there is a woman the mother of whom John loves -LangSwe: det finns en kvinna modern av vilken Johan älskar -LangBul: има жена майката на която Джон обича - - -Lang: PredVP (UsePN john_PN) (UseV walk_V) -LangEng: John walks -LangSwe: Johan går -LangBul: Джон ходи - - -Lang: PredSCVP (EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV go_V)))) (UseComp (CompAP (PositA good_A))) -LangEng: that she goes is good -LangSwe: att hon går är gott -LangBul: , че тя отива е добър - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron he_Pron) (SlashV2a see_V2)))) -LangEng: girl whom he sees -LangSwe: flicka som han ser -LangBul: момиче което той вижда - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (AdvSlash (SlashVP (UsePron he_Pron) (SlashV2a see_V2)) today_Adv))) -LangEng: girl whom he sees today -LangSwe: flicka som han ser idag -LangBul: момиче което той вижда днес - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (UsePron he_Pron) (UseV walk_V)) with_Prep))) -LangEng: girl with whom he walks -LangSwe: flicka med vilken han går -LangBul: момиче с което той ходи - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVS (UsePron she_Pron) say_VS (UseSlash (TTAnt TPres ASimul) PPos (SlashVP (UsePron he_Pron) (SlashV2a love_V2)))))) -LangEng: girl whom she says that he loves -LangSwe: flicka som hon säger att han älskar -LangBul: момиче което тя казва че той обича - - -Lang: ImpVP (ReflVP (SlashV2a love_V2)) -LangEng: love yourself -LangSwe: älska dig -LangBul: обичай се - - -Lang: EmbedS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV go_V))) -LangEng: that she goes -LangSwe: att hon går -LangBul: , че тя отива - - -Lang: EmbedQS (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV go_V))) -LangEng: who goes -LangSwe: vem som går -LangBul: който отива - - -Lang: EmbedVP (UseV go_V) -LangEng: to go -LangSwe: att gå -LangBul: да отида - - -Lang: UseCl (TTAnt TCond AAnter) PNeg (PredVP (UsePN john_PN) (UseV walk_V)) -LangEng: John wouldn't have walked -LangSwe: Johan skulle inte ha gått -LangBul: Джон не би ходил - - -Lang: UseQCl (TTAnt TCond AAnter) PNeg (QuestCl (PredVP (UsePN john_PN) (UseV walk_V))) -LangEng: wouldn't John have walked -LangSwe: skulle Johan inte ha gått -LangBul: Джон не би ли ходил - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TCond AAnter) PNeg (RelVP IdRP (UseV walk_V))) -LangEng: girl who wouldn't have walked -LangSwe: flicka som inte skulle ha gått -LangBul: момиче което не би ходило - - -Lang: RelCN (UseN girl_N) (UseRCl (TTAnt TCond AAnter) PNeg (RelSlash IdRP (SlashPrep (PredVP (UsePron i_Pron) (UseV walk_V)) with_Prep))) -LangEng: girl with whom I wouldn't have walked -LangSwe: flicka med vilken jag inte skulle ha gått -LangBul: момиче с което аз не бих ходил - - -Lang: RelS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV sleep_V))) (UseRCl (TTAnt TPres ASimul) PPos (RelVP IdRP (UseComp (CompAP (PositA good_A))))) -LangEng: she sleeps , which is good -LangSwe: hon sover , som är gott -LangBul: тя спи , което е добро - - -Lang: TEmpty -LangEng: -LangSwe: -LangBul: - - -Lang: TFullStop (PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePN john_PN) (UseV walk_V)))) NoVoc) TEmpty -LangEng: John walks . -LangSwe: Johan går . -LangBul: Джон ходи . - - -Lang: TQuestMark (PhrUtt NoPConj (UttQS (UseQCl (TTAnt TPres ASimul) PPos (QuestCl (PredVP (UsePron they_Pron) (UseComp (CompAdv here_Adv)))))) NoVoc) TEmpty -LangEng: are they here ? -LangSwe: är de här ? -LangBul: те са ли тук ? - - -Lang: TExclMark (PhrUtt NoPConj (ImpPl1 (UseV go_V)) NoVoc) TEmpty -LangEng: let's go ! -LangSwe: låt oss gå ! -LangBul: нека да отидем ! - - -Lang: PredVP (UsePron i_Pron) (UseV sleep_V) -LangEng: I sleep -LangSwe: jag sover -LangBul: аз спя - - -Lang: PredVP (UsePron i_Pron) (ComplVV want_VV (UseV run_V)) -LangEng: I want to run -LangSwe: jag vill springa -LangBul: аз искам да бягам - - -Lang: PredVP (UsePron i_Pron) (ComplVS say_VS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron she_Pron) (UseV run_V)))) -LangEng: I say that she runs -LangSwe: jag säger att hon springer -LangBul: аз казвам , че тя бяга - - -Lang: PredVP (UsePron i_Pron) (ComplVQ wonder_VQ (UseQCl (TTAnt TPres ASimul) PPos (QuestVP whoSg_IP (UseV run_V)))) -LangEng: I wonder who runs -LangSwe: jag undrar vem som springer -LangBul: аз се учудвам кой бяга - - -Lang: PredVP (UsePron they_Pron) (ComplVA become_VA (PositA red_A)) -LangEng: they become red -LangSwe: de blir röda -LangBul: те стават червени - - -Lang: PredVP (UsePron i_Pron) (ComplSlash (Slash3V3 give_V3 (UsePron he_Pron)) (UsePron it_Pron)) -LangEng: I give it to him -LangSwe: jag ger det till honom -LangBul: аз давам него му - - -Lang: PredVP (UsePron i_Pron) (ComplSlash (SlashV2V beg_V2V (UseV go_V)) (UsePron she_Pron)) -LangEng: I beg her to go -LangSwe: jag ber henne att gå -LangBul: аз моля нея да отиде - - -Lang: PredVP (UsePron i_Pron) (ComplSlash (SlashV2S answer_V2S (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron it_Pron) (UseComp (CompAP (PositA good_A)))))) (UsePron he_Pron)) -LangEng: I answer to him that it is good -LangSwe: jag svarar till honom att det är gott -LangBul: аз отговарям му , че то е добро - - -Lang: PredVP (UsePron i_Pron) (ComplSlash (SlashV2Q ask_V2Q (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (UseV come_V)))) (UsePron he_Pron)) -LangEng: I ask him who came -LangSwe: jag frågar honom vem som kom -LangBul: аз питам него кой дойде - - -Lang: PredVP (UsePron i_Pron) (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron)) -LangEng: I paint it red -LangSwe: jag målar det rött -LangBul: аз рисувам него червено - - -Lang: RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron i_Pron) (SlashVV want_VV (SlashV2a buy_V2))))) -LangEng: car which I want to buy -LangSwe: bil som jag vill köpa -LangBul: кола която аз искам да купя - - -Lang: RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron they_Pron) (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashV2a buy_V2))))) -LangEng: car which they beg me to buy -LangSwe: bil som de ber mig att köpa -LangBul: кола която те молят мен да купя - - -Lang: PredVP (UsePron he_Pron) (ReflVP (SlashV2a love_V2)) -LangEng: he loves himself -LangSwe: han älskar sig -LangBul: той се обича - - -Lang: PredVP (DetNP (DetQuant this_Quant NumSg)) (UseComp (CompAP (PositA warm_A))) -LangEng: this is warm -LangSwe: det här är varmt -LangBul: това е топло - - -Lang: PredVP (UsePron we_Pron) (PassV2 love_V2) -LangEng: we are loved -LangSwe: vi blir älskade -LangBul: ние сме обичани - - -Lang: PredVP (UsePron we_Pron) (AdvVP (UseV sleep_V) here_Adv) -LangEng: we sleep here -LangSwe: vi sover här -LangBul: ние спим тук - - -Lang: PredVP (UsePron we_Pron) (AdVVP always_AdV (UseV sleep_V)) -LangEng: we always sleep -LangSwe: vi sover alltid -LangBul: ние винаги спим - - -Lang: PredVP (UsePron we_Pron) (UseComp (CompAP (PositA small_A))) -LangEng: we are small -LangSwe: vi är små -LangBul: ние сме малки - - -Lang: PredVP (UsePron i_Pron) (UseComp (CompNP (DetCN (DetQuant IndefArt NumSg) (UseN man_N)))) -LangEng: I am a man -LangSwe: jag är en man -LangBul: аз съм мъж - - -Lang: PredVP (UsePron i_Pron) (UseComp (CompAdv here_Adv)) -LangEng: I am here -LangSwe: jag är här -LangBul: аз съм тук - - -Lang: RelCN (UseN car_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron they_Pron) (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashVV want_VV (SlashV2A paint_V2A (PositA red_A))))))) -LangEng: car which they beg me to want to paint red -LangSwe: bil som de ber mig att vilja måla röd -LangBul: кола която те молят мен да искам да нарисувам червена - - -Lang: PhrUtt NoPConj (UttImpSg PPos (ImpVP (AdVVP always_AdV (ComplSlash (SlashV2a listen_V2) (DetCN (DetQuant DefArt NumSg) (UseN sea_N)))))) NoVoc -LangEng: always listen to the sea -LangSwe: lyssna alltid på havet -LangBul: винаги слушай морето - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (ExistNP (PredetNP only_Predet (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot0as1 (pot0 n2)))))))) (AdvCN (RelCN (UseN woman_N) (UseRCl (TTAnt TCond ASimul) PPos (RelSlash IdRP (SlashPrep (PredVP (UsePron i_Pron) (ComplVV want_VV (PassV2 see_V2))) with_Prep)))) (PrepNP in_Prep (DetCN (DetQuant DefArt NumSg) (UseN rain_N))))))))) NoVoc -LangEng: there are only two women with whom I would want to be seen in the rain -LangSwe: det finns bara två kvinnor med vilka jag skulle vilja bli sedd i regnet -LangBul: има само две жени с които аз бих искал да съм видян в дъжда - - -Lang: PhrUtt NoPConj (UttImpSg PPos (ImpVP (ComplSlash (SlashV2A paint_V2A (ConjAP both7and_DConj (BaseAP (ComparA small_A (DetCN (DetQuant DefArt NumSg) (UseN sun_N))) (ComparA big_A (DetCN (DetQuant DefArt NumSg) (UseN moon_N)))))) (DetCN (DetQuant DefArt NumSg) (UseN earth_N))))) NoVoc -LangEng: paint the earth both smaller than the sun and bigger than the moon -LangSwe: måla jorden både mindre än solen och större än månen -LangBul: нарисувай земята и по - малка от слънцето и по - голяма от луната - - -Lang: PhrUtt NoPConj (ImpPl1 (ComplVS hope_VS (ConjS either7or_DConj (BaseS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (ComplN2 father_N2 (DetCN (DetQuant DefArt NumSg) (UseN baby_N)))) (UseV run_V))) (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumSg) (UseN2 (Use2N3 distance_N3))) (UseComp (CompAP (PositA small_A))))))))) NoVoc -LangEng: let's hope that either the father of the baby runs or the distance is small -LangSwe: låt oss hoppas att antingen fadern till bebisen springer eller avståndet är litet -LangBul: нека да се надяваме , че или бащата на бебето бяга или разстоянието е малко - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN every_Det (UseN baby_N)) (UseComp (CompNP (ConjNP either7or_DConj (BaseNP (DetCN (DetQuant IndefArt NumSg) (UseN boy_N)) (DetCN (DetQuant IndefArt NumSg) (UseN girl_N))))))))) NoVoc -LangEng: every baby is either a boy or a girl -LangSwe: varje bebis är antingen en pojke eller en flicka -LangBul: всяко бебе е или момче или момиче - - -Lang: PhrUtt NoPConj (UttAdv (ConjAdv either7or_DConj (ConsAdv here7from_Adv (BaseAdv there_Adv everywhere_Adv)))) NoVoc -LangEng: either from here , there or everywhere -LangSwe: antingen härifrån , där eller överallt -LangBul: или от тук или там или навсякъде - - -Lang: PhrUtt NoPConj (UttVP (PassV2 know_V2)) NoVoc -LangEng: to be known -LangSwe: att bli kännd -LangBul: да е известно - - -Lang: RelCN (UseN bird_N) (UseRCl (TTAnt TPres ASimul) PPos (RelSlash IdRP (SlashVP (UsePron i_Pron) (SlashVV want_VV (SlashV2A paint_V2A (PositA red_A)))))) -LangEng: bird which I want to paint red -LangSwe: fågel som jag vill måla röd -LangBul: птица която аз искам да нарисувам червена - - -Lang: UttImpSg PPos (ImpVP (ComplVV want_VV (ComplSlash (SlashV2a buy_V2) (UsePron it_Pron)))) -LangEng: want to buy it -LangSwe: vilj köpa det -LangBul: искай да купиш него - - -Lang: UttImpSg PPos (ImpVP (ComplVV want_VV (ComplSlash (SlashV2A paint_V2A (PositA red_A)) (UsePron it_Pron)))) -LangEng: want to paint it red -LangSwe: vilj måla det rött -LangBul: искай да нарисуваш него червено - - -Lang: UttImpSg PPos (ImpVP (ComplSlash (SlashVV want_VV (SlashV2VNP beg_V2V (UsePron i_Pron) (SlashV2a buy_V2))) (UsePron it_Pron))) -LangEng: want it to beg me to buy -LangSwe: vilj det be mig att köpa -LangBul: искай да молиш мен да купя него - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant DefArt NumPl) (UseN fruit_N)) (ReflVP (Slash3V3 sell_V3 (DetCN (DetQuant DefArt NumSg) (UseN road_N))))))) NoVoc -LangEng: the fruits sell themselves to the road -LangSwe: frukterna säljer sig till vägen -LangBul: плодовете се продават на пътя - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2V beg_V2V (UseV live_V)))))) NoVoc -LangEng: I beg myself to live -LangSwe: jag ber mig att leva -LangBul: аз се моля да живея - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2S answer_V2S (UseCl (TTAnt TPres ASimul) PPos (ImpersCl (ComplVV must_VV (ReflVP (SlashV2a understand_V2)))))))))) NoVoc -LangEng: I answer to myself that it must understand itself -LangSwe: jag svarar till mig att det måste förstå sig -LangBul: аз си отговарям , че трябва да се разбере - - -Lang: PhrUtt NoPConj (UttImpSg PPos (ImpVP (ReflVP (SlashV2Q ask_V2Q (UseQCl (TTAnt TPast ASimul) PPos (QuestVP whoSg_IP (UseV come_V))))))) NoVoc -LangEng: ask yourself who came -LangSwe: fråga dig vem som kom -LangBul: питай се кой дойде - - -Lang: PhrUtt NoPConj (UttS (UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ReflVP (SlashV2A paint_V2A (ComparA beautiful_A (UsePN john_PN))))))) NoVoc -LangEng: I painted myself more beautiful than John -LangSwe: jag målade mig vackrare än Johan -LangBul: аз се нарисувах по - красив от Джон - - -Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant this_Quant NumSg) (UseN grammar_N)) (ComplSlash (SlashV2a speak_V2) (DetCN (DetQuant IndefArt (NumCard (NumNumeral (num (pot2as3 (pot1as2 (pot1to19 n2))))))) (UseN language_N))))) -LangEng: this grammar speaks twelve languages -LangSwe: den här grammatiken talar tolv språk -LangBul: тази граматика говори дванадесет езика - - -Lang: UseCl (TTAnt TPast AAnter) PPos (PredVP (UsePron she_Pron) (ComplSlash (SlashV2a buy_V2) (DetCN (DetQuant IndefArt NumSg) (AdjCN (PositA red_A) (UseN house_N))))) -LangEng: she had bought a red house -LangSwe: hon hade köpt ett rött hus -LangBul: тя беше купилa червена къща - - diff --git a/testsuite/run.hs b/testsuite/run.hs index 6bf3c8158..7faf9625e 100644 --- a/testsuite/run.hs +++ b/testsuite/run.hs @@ -1,7 +1,7 @@ import Data.List(partition) import System.IO import Distribution.Simple.BuildPaths(exeExtension) -import Distribution.System ( buildPlatform ) +import Distribution.System ( buildPlatform, OS (Windows), Platform (Platform) ) import System.Process(readProcess) import System.Directory(doesFileExist,getDirectoryContents) import System.FilePath((),(<.>),takeExtension) @@ -11,10 +11,10 @@ main = do res <- walk "testsuite" let cnt = length res (good,bad) = partition ((=="OK").fst.snd) res - ok = length good + ok = length good + length (filter ((=="FAIL (expected)").fst.snd) bad) fail = okexeExtension buildPlatform -gf_lib_path = "dist/build/rgl" +run_gf = readProcess default_gf +default_gf = "gf"<.>exeExtension + where + -- shadows Distribution.Simple.BuildPaths.exeExtension, which changed type signature in Cabal 2.4 + exeExtension = case buildPlatform of + Platform arch Windows -> "exe" + _ -> "" -- | List files, excluding "." and ".." ls path = filter (`notElem` [".",".."]) `fmap` getDirectoryContents path diff --git a/testsuite/runtime/linearize/brackets.gfs.gold b/testsuite/runtime/linearize/brackets.gfs.gold index e356e6521..7337daa9d 100644 --- a/testsuite/runtime/linearize/brackets.gfs.gold +++ b/testsuite/runtime/linearize/brackets.gfs.gold @@ -1,28 +1,19 @@ (S:2 (E:1 (_:0 ?1)) is even) - (S:3 exists x such that (S:2 (E:1 (_:0 x)) is even)) - (S:1 (E:0 a)) - (S:1 (E:0 aa) a) - (S:1 (E:0 a) b) - (S:1 (String:0 abcd) is string) - (S:1 (Int:0 100) is integer) - (S:1 (Float:0 12.4) is float) - (S:1 (String:0 xyz) is string) - -cannot linearize + cannot linearize diff --git a/testsuite/runtime/linearize/linearize.gfs.gold b/testsuite/runtime/linearize/linearize.gfs.gold index 8a17ab506..7749644f1 100644 --- a/testsuite/runtime/linearize/linearize.gfs.gold +++ b/testsuite/runtime/linearize/linearize.gfs.gold @@ -1,30 +1,20 @@ ?1 is even - exists x such that x is even - a - aa a - a b - abcd is string - 100 is integer - 12.4 is float - xyz is string - -