forked from GitHub/gf-core
107 lines
3.0 KiB
Plaintext
107 lines
3.0 KiB
Plaintext
--# -path=.:present
|
|
|
|
concrete QueryEng of Query = QueryI with
|
|
(Syntax = SyntaxEng),
|
|
(Lang = LangEng),
|
|
(LexQuery = LexQueryEng) **
|
|
open
|
|
LexQueryEng,
|
|
ParadigmsEng,
|
|
IrregEng,
|
|
SyntaxEng,
|
|
ExtraEng,
|
|
(L = LangEng),
|
|
(M = MakeStructuralEng),
|
|
Prelude
|
|
in {
|
|
|
|
-- lexicon
|
|
|
|
lin
|
|
Located = relAP (mkAP located_A) in_Prep ;
|
|
|
|
In = relVP UseCopula in_Prep ;
|
|
|
|
Employed =
|
|
relAP (mkAP (mkA "employed")) by8agent_Prep
|
|
| relAP (mkAP (mkA "paid")) by8agent_Prep
|
|
| relAP (mkAP (mkA "active")) at_Prep
|
|
| relAP (mkAP (mkA "professionally active")) at_Prep
|
|
| relVP (mkVP (mkV "work")) at_Prep
|
|
| relVP (mkVP (mkV "collaborate")) in_Prep
|
|
;
|
|
|
|
HaveTitle =
|
|
relAP (mkAP (mkA "employed")) as_Prep
|
|
| relVP UseCopula noPrep
|
|
| relVP (mkVP (mkV "work")) as_Prep
|
|
| relVP (mkVP have_V2 (mkNP the_Det (mkCN (mkN2 (mkN "title"))))) possess_Prep
|
|
;
|
|
|
|
EmployedAt s =
|
|
relAP (mkAP (mkA2 (mkA "employed") at_Prep) s) as_Prep
|
|
| relAP (mkAP (mkA2 (mkA "employed") by8agent_Prep) s) as_Prep
|
|
| relVP (mkVP (mkV2 (mkV "work") at_Prep) s) as_Prep
|
|
;
|
|
|
|
HaveTitleAt t =
|
|
relAP (mkAP (mkA2 (mkA "employed") as_Prep) (mkNP t)) at_Prep
|
|
| relAP (mkAP (mkA2 (mkA "employed") as_Prep) (mkNP t)) by8agent_Prep
|
|
| relVP (mkVP (mkNP a_Det t)) at_Prep
|
|
| relVP (mkVP (mkV2 (mkV "work") as_Prep) (mkNP t)) at_Prep
|
|
| relVP (mkVP have_V2 (mkNP the_Det (mkCN (mkN2 (mkN "title")) (mkNP t)))) at_Prep
|
|
;
|
|
|
|
Named n = propAP (mkAP (mkA2 (mkA "named") []) n) ;
|
|
Start n = propVP (mkVP (mkV2 "start" with_Prep) n) ;
|
|
|
|
Organization = mkCN (mkN "organization") ;
|
|
Company = mkCN (mkN "company") ;
|
|
Place = mkCN (mkN "place") ;
|
|
Person =
|
|
mkCN (mkN "person" "people")
|
|
| mkCN (mkN "person") ;
|
|
|
|
Location = mkFunction "location" ;
|
|
Region = mkFunction "region" ;
|
|
Subregion = mkFunction "subregion" | mkFunction "sub-region" ;
|
|
FName = mkFunction "name" ;
|
|
FNickname = mkFunction "nickname" ;
|
|
FJobTitle = mkFunction "job title" | mkFunction "job" | mkFunction "position" |
|
|
mkFunction "appointment" | mkFunction "job position" | mkFunction "mandate" |
|
|
mkFunction "title" | mkFunction "capacity" ;
|
|
|
|
SJobTitle t = mkNP a_Det t ;
|
|
|
|
USA = mkCountry "USA" "American" ;
|
|
Bulgaria = mkCountry "Bulgaria" "Bulgarian" ;
|
|
California = mkCountry "California" "Californian" ;
|
|
OblastSofiya = mkName "Oblast Sofiya" ;
|
|
|
|
CEO = mkCN (mkN "CEO") ;
|
|
ChiefInformationOfficer = mkCN (mkN "Chief Information Officer") ;
|
|
|
|
Microsoft = mkName "Microsoft" ;
|
|
Google = mkName "Google" ;
|
|
|
|
SergeyBrin = mkName "Sergey Brin" ;
|
|
LarryPage = mkName "Larry Page" ;
|
|
EricSchmidt = mkName "Eric Schmidt" ;
|
|
MarissaMayer = mkName "Marissa Mayer" ;
|
|
UdiManber = mkName "Udi Manber" ;
|
|
CarlGustavJung = mkName "Carl Gustav Jung" ;
|
|
Jung = mkName "Jung" ;
|
|
BenFried = mkName "Ben Fried" ;
|
|
|
|
oper
|
|
mkCountry : Str -> Str -> {np : NP ; a : A} =
|
|
\n,a -> {np = mkNP (mkPN n) ; a = mkA a} ;
|
|
|
|
mkName : Str -> NP =
|
|
\s -> mkNP (mkPN s) ;
|
|
mkFunction : Str -> Fun =
|
|
\s -> {cn = mkCN (mkN s) ; prep = possess_Prep} ;
|
|
|
|
|
|
}
|