Files
gf-core/lib/src/abstract/Construction.gf
2016-07-05 09:49:30 +00:00

185 lines
6.2 KiB
Plaintext

abstract Construction = Cat ** {
flags coding=utf8 ;
-- started by AR 6/12/2013. (c) Aarne Ranta under LGPL and BSD
-- This module is, in the spirit of construction grammar, "between syntax and lexicon".
-- So is the module Idiom, but the difference is that the constructions in Idiom
-- apply to categories in a general way (e.g. existentials) whereas here they
-- are typically about particular predicates such as "NP is hungry" which are found
-- to work differently in different languages. The purpose of this module is hence
-- not so much to widen the scope of string recognition, but to provide trees that
-- are abstract enough to yield correct translations.
-- The first examples are from the MOLTO Phrasebook
fun
hungry_VP : VP ; -- x is hungry / x a faim (Fre)
thirsty_VP : VP ; -- x is thirsty / x a soif (Fre)
tired_VP : VP ; -- x is tired / x estoy cansado (Spa)
scared_VP : VP ; -- x is scared
ill_VP : VP ; -- x is ill
ready_VP : VP ; -- x is ready
has_age_VP : Card -> VP ; -- x is y years old / x a y ans (Fre)
have_name_Cl : NP -> NP -> Cl ; -- x's name is y / x s'appelle y (Fre)
married_Cl : NP -> NP -> Cl ; -- x is married to y / x on naimisissa y:n kanssa (Fin)
what_name_QCl : NP -> QCl ; -- what is x's name / wie heisst x (Ger)
how_old_QCl : NP -> QCl ; -- how old is x / quanti anni ha x (Ita)
how_far_QCl : NP -> QCl ; -- how far is x / quanto dista x (Ita)
-- some more things
weather_adjCl : AP -> Cl ; -- it is warm / il fait chaud (Fre)
is_right_VP : VP ; -- he is right / il a raison (Fre)
is_wrong_VP : VP ; -- he is wrong / han har fel (Swe)
n_units_AP : Card -> CN -> A -> AP ; -- x inches long
n_units_of_NP : Card -> CN -> NP -> NP ; -- x ounces of this flour
-- containers
bottle_of_CN : NP -> CN ; --- bottle of beer / flaska öl (Swe)
cup_of_CN : NP -> CN ; --- cup of tea / kupillinen teetä (Fin)
glass_of_CN : NP -> CN ; --- glass of wine / lasillinen viiniä (Fin)
-- idiomatic expressions
few_X_short_of_Y : NP -> CN -> CN -> S ; --- NP is a few X's short of a Y / NP:llä ei ole kaikki X:t Y:ssä (Fin)
{-
---- postponed
-- spatial deixis and motion verbs
-- verbs like `walk' or `run' can take both: there or to there
where_go_QCl : NP -> QCl ; --- where did X go / vart gick X (Swe)
where_come_from_QCl : NP -> QCl ; --- where did X come from / mistä X tuli (Fin)
go_here_VP : VP ; --- X went here / X gick hit (Swe)
come_here_VP : VP ; --- X came here / X tuli tänne (Fin)
come_from_here_VP : VP ; --- X came from here / X tuli täältä (Fin)
go_there_VP : VP ; --- X went here / X gick dit (Swe)
come_there_VP : VP ; --- X came there / X tuli sinne (Fin)
come_from_there_VP : VP ; --- X came from there / X tuli sieltä (Fin)
-}
-- time expressions
cat
Timeunit ;
Weekday ;
Month ;
Monthday ;
Year ;
fun
timeunitAdv : Card -> Timeunit -> Adv ; -- (for) three hours
weekdayPunctualAdv : Weekday -> Adv ; -- on Monday
weekdayHabitualAdv : Weekday -> Adv ; -- on Mondays
weekdayLastAdv : Weekday -> Adv ; -- last Monday
weekdayNextAdv : Weekday -> Adv ; -- next Monday
monthAdv : Month -> Adv ; -- in June
yearAdv : Year -> Adv ; -- in 1976
dayMonthAdv : Monthday -> Month -> Adv ; -- on 17 May
monthYearAdv : Month -> Year -> Adv ; -- in May 2013
dayMonthYearAdv : Monthday -> Month -> Year -> Adv ; -- on 17 May 2013
intYear : Int -> Year ; -- (year) 1963
intMonthday : Int -> Monthday ; -- 31th (March)
-- languages
cat
Language ;
fun
InLanguage : Language -> Adv ; -- in English, auf englisch, englanniksi, etc
-- coercions to RGL categories
weekdayN : Weekday -> N ; -- (this) Monday
monthN : Month -> N ; -- (this) November
weekdayPN : Weekday -> PN ; -- Monday (is free)
monthPN : Month -> PN ; -- March (is cold)
languageNP : Language -> NP ; -- French (is easy)
languageCN : Language -> CN ; -- (my) French
----------------------------------------------
---- lexicon of special names
fun second_Timeunit : Timeunit ;
fun minute_Timeunit : Timeunit ;
fun hour_Timeunit : Timeunit ;
fun day_Timeunit : Timeunit ;
fun week_Timeunit : Timeunit ;
fun month_Timeunit : Timeunit ;
fun year_Timeunit : Timeunit ;
fun monday_Weekday : Weekday ;
fun tuesday_Weekday : Weekday ;
fun wednesday_Weekday : Weekday ;
fun thursday_Weekday : Weekday ;
fun friday_Weekday : Weekday ;
fun saturday_Weekday : Weekday ;
fun sunday_Weekday : Weekday ;
fun january_Month : Month ;
fun february_Month : Month ;
fun march_Month : Month ;
fun april_Month : Month ;
fun may_Month : Month ;
fun june_Month : Month ;
fun july_Month : Month ;
fun august_Month : Month ;
fun september_Month : Month ;
fun october_Month : Month ;
fun november_Month : Month ;
fun december_Month : Month ;
fun afrikaans_Language : Language ;
fun amharic_Language : Language ;
fun arabic_Language : Language ;
fun bulgarian_Language : Language ;
fun catalan_Language : Language ;
fun chinese_Language : Language ;
fun danish_Language : Language ;
fun dutch_Language : Language ;
fun english_Language : Language ;
fun estonian_Language : Language ;
fun finnish_Language : Language ;
fun french_Language : Language ;
fun german_Language : Language ;
fun greek_Language : Language ;
fun hebrew_Language : Language ;
fun hindi_Language : Language ;
fun japanese_Language : Language ;
fun italian_Language : Language ;
fun latin_Language : Language ;
fun latvian_Language : Language ;
fun maltese_Language : Language ;
fun nepali_Language : Language ;
fun norwegian_Language : Language ;
fun persian_Language : Language ;
fun polish_Language : Language ;
fun punjabi_Language : Language ;
fun romanian_Language : Language ;
fun russian_Language : Language ;
fun sindhi_Language : Language ;
fun spanish_Language : Language ;
fun swahili_Language : Language ;
fun swedish_Language : Language ;
fun thai_Language : Language ;
fun turkish_Language : Language ;
fun urdu_Language : Language ;
}