forked from GitHub/gf-core
continued restructuring of resources
This commit is contained in:
@@ -1,24 +1,23 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
concrete BasicEng of Basic = ShallowEng ** open NewParadigmsEng in {
|
||||
concrete BasicEng of Basic = CategoriesEng ** open NewParadigmsEng in {
|
||||
|
||||
flags startcat=Phr ; lexer=textlit ; parser=chart ; unlexer=text ;
|
||||
|
||||
lin
|
||||
airplane_N = regN "airplane" ;
|
||||
--- answer_V2S = mkV2S (regV "answer") ;
|
||||
answer_V2S = mkV2S (regV "answer") "to" ;
|
||||
apartment_N = regN "apartment" ;
|
||||
apple_N = regN "apple" ;
|
||||
art_N = regN "art" ;
|
||||
---- ask_V2Q = mkV2Q (regV "ask") ;
|
||||
ask_V2Q = mkV2Q (regV "ask") [] ;
|
||||
baby_N = regN "baby" ;
|
||||
bad_ADeg = regADeg "bad" ;
|
||||
bank_N = regN "bank" ;
|
||||
beautiful_ADeg = regADeg "beautiful" ;
|
||||
---- become_VA = mkVA (regV "become") ;
|
||||
become_VA = mkVA (irregV "become" "became" "become") ;
|
||||
beer_N = regN "beer" ;
|
||||
---- beg_VV = mkVV (regV "beg") ;
|
||||
---- be_V = (regV "be") ;
|
||||
beg_V2V = mkV2V (regDuplV "beg") [] "to" ;
|
||||
big_ADeg = regADeg "big" ;
|
||||
bike_N = regN "bike" ;
|
||||
bird_N = regN "bird" ;
|
||||
@@ -30,12 +29,12 @@ lin
|
||||
boss_N = regN "boss" ;
|
||||
boy_N = regN "boy" ;
|
||||
bread_N = regN "bread" ;
|
||||
break_V2 = dirV2 (regV "break") ;
|
||||
break_V2 = dirV2 (irregV "break" "broke" "broken") ;
|
||||
broad_ADeg = regADeg "broad" ;
|
||||
brother_N = regN "brother" ;
|
||||
brown_ADeg = regADeg "brown" ;
|
||||
butter_N = regN "butter" ;
|
||||
buy_V2 = dirV2 (regV "buy") ;
|
||||
buy_V2 = dirV2 (irregV "buy" "bought" "bought") ;
|
||||
camera_N = regN "camera" ;
|
||||
cap_N = regN "cap" ;
|
||||
car_N = regN "car" ;
|
||||
@@ -44,7 +43,7 @@ lin
|
||||
ceiling_N = regN "ceiling" ;
|
||||
chair_N = regN "chair" ;
|
||||
cheese_N = regN "cheese" ;
|
||||
child_N = regN "child" ;
|
||||
child_N = mk2N "child" "children" ;
|
||||
church_N = regN "church" ;
|
||||
city_N = regN "city" ;
|
||||
clean_ADeg = regADeg "clean" ;
|
||||
@@ -52,7 +51,7 @@ lin
|
||||
close_V2 = dirV2 (regV "close") ;
|
||||
coat_N = regN "coat" ;
|
||||
cold_ADeg = regADeg "cold" ;
|
||||
come_V = (regV "come") ;
|
||||
come_V = (irregV "come" "came" "come") ;
|
||||
computer_N = regN "computer" ;
|
||||
country_N = regN "country" ;
|
||||
cousin_N = regN "cousin" ;
|
||||
@@ -62,33 +61,35 @@ lin
|
||||
doctor_N = regN "doctor" ;
|
||||
dog_N = regN "dog" ;
|
||||
door_N = regN "door" ;
|
||||
drink_V2 = dirV2 (regV "drink") ;
|
||||
eat_V2 = dirV2 (regV "eat") ;
|
||||
drink_V2 = dirV2 (irregV "drink" "drank" "drunk") ;
|
||||
easy_A2V = mkA2V (regA "easy") "for" ;
|
||||
eat_V2 = dirV2 (irregV "eat" "ate" "eaten") ;
|
||||
enemy_N = regN "enemy" ;
|
||||
factory_N = regN "factory" ;
|
||||
father_N = regN "father" ;
|
||||
---- fear_VS = mkVS (regV "fear") ;
|
||||
find_V2 = dirV2 (regV "find") ;
|
||||
fish_N = regN "fish" ;
|
||||
fear_VS = mkVS (regV "fear") ;
|
||||
find_V2 = dirV2 (irregV "find" "found" "found") ;
|
||||
fish_N = mk2N "fish" "fish" ;
|
||||
floor_N = regN "floor" ;
|
||||
forget_V2 = dirV2 (regV "forget") ;
|
||||
forget_V2 = dirV2 (irregV "forget" "forgot" "forgotten") ;
|
||||
fridge_N = regN "fridge" ;
|
||||
friend_N = regN "friend" ;
|
||||
fruit_N = regN "fruit" ;
|
||||
fun_AV = mkAV (regA "fun") ;
|
||||
garden_N = regN "garden" ;
|
||||
girl_N = regN "girl" ;
|
||||
glove_N = regN "glove" ;
|
||||
gold_N = regN "gold" ;
|
||||
good_ADeg = regADeg "good" ;
|
||||
go_V = (regV "go") ;
|
||||
go_V = (mkV "go" "goes" "went" "gone" "going") ;
|
||||
green_ADeg = regADeg "green" ;
|
||||
harbour_N = regN "harbour" ;
|
||||
hate_V2 = dirV2 (regV "hate") ;
|
||||
hat_N = regN "hat" ;
|
||||
have_V2 = dirV2 (regV "have") ;
|
||||
hear_V2 = dirV2 (regV "hear") ;
|
||||
have_V2 = dirV2 (mkV "have" "has" "had" "had" "having") ;
|
||||
hear_V2 = dirV2 (irregV "hear" "heard" "heard") ;
|
||||
hill_N = regN "hill" ;
|
||||
---- hope_VS = mkVS (regV "hope") ;
|
||||
hope_VS = mkVS (regV "hope") ;
|
||||
horse_N = regN "horse" ;
|
||||
hot_ADeg = regADeg "hot" ;
|
||||
house_N = regN "house" ;
|
||||
@@ -96,20 +97,21 @@ lin
|
||||
industry_N = regN "industry" ;
|
||||
iron_N = regN "iron" ;
|
||||
king_N = regN "king" ;
|
||||
know_V2 = dirV2 (regV "know") ;
|
||||
know_V2 = dirV2 (irregV "know" "knew" "known") ;
|
||||
lake_N = regN "lake" ;
|
||||
lamp_N = regN "lamp" ;
|
||||
learn_V2 = dirV2 (regV "learn") ;
|
||||
leather_N = regN "leather" ;
|
||||
leave_V2 = dirV2 (regV "leave") ;
|
||||
leave_V2 = dirV2 (irregV "leave" "left" "left") ;
|
||||
like_V2 = dirV2 (regV "like") ;
|
||||
listen_V2 = dirV2 (regV "listen") ;
|
||||
live_V = (regV "live") ;
|
||||
long_ADeg = regADeg "long" ;
|
||||
lose_V2 = dirV2 (regV "lose") ;
|
||||
lose_V2 = dirV2 (irregV "lose" "lost" "lost") ;
|
||||
love_N = regN "love" ;
|
||||
love_V2 = dirV2 (regV "love") ;
|
||||
man_N = regN "man" ;
|
||||
man_N = mk2N "man" "men" ;
|
||||
married_A2 = mkA2 (regA "married") "to" ;
|
||||
meat_N = regN "meat" ;
|
||||
milk_N = regN "milk" ;
|
||||
moon_N = regN "moon" ;
|
||||
@@ -122,6 +124,7 @@ lin
|
||||
oil_N = regN "oil" ;
|
||||
old_ADeg = regADeg "old" ;
|
||||
open_V2 = dirV2 (regV "open") ;
|
||||
paint_V2A = mkV2A (regV "paint") [] ;
|
||||
paper_N = regN "paper" ;
|
||||
peace_N = regN "peace" ;
|
||||
pen_N = regN "pen" ;
|
||||
@@ -130,9 +133,11 @@ lin
|
||||
play_V2 = dirV2 (regV "play") ;
|
||||
policeman_N = regN "policeman" ;
|
||||
priest_N = regN "priest" ;
|
||||
probable_AS = mkAS (regA "probable") ;
|
||||
queen_N = regN "queen" ;
|
||||
radio_N = regN "radio" ;
|
||||
read_V2 = dirV2 (regV "read") ;
|
||||
rain_V0 = mkV0 (regV "rain") ;
|
||||
read_V2 = dirV2 (irregV "read" "read" "read") ;
|
||||
red_ADeg = regADeg "red" ;
|
||||
religion_N = regN "religion" ;
|
||||
restaurant_N = regN "restaurant" ;
|
||||
@@ -140,16 +145,16 @@ lin
|
||||
rock_N = regN "rock" ;
|
||||
roof_N = regN "roof" ;
|
||||
rubber_N = regN "rubber" ;
|
||||
run_V = (regV "run") ;
|
||||
---- say_VS = mkVS (regV "say") ;
|
||||
run_V = (irregV "run" "ran" "run") ;
|
||||
say_VS = mkVS (irregV "say" "said" "said") ;
|
||||
school_N = regN "school" ;
|
||||
science_N = regN "science" ;
|
||||
sea_N = regN "sea" ;
|
||||
seek_V2 = dirV2 (regV "seek") ;
|
||||
see_V2 = dirV2 (regV "see") ;
|
||||
---- sell_V3 = mkV3 (regV "sell") ;
|
||||
---- send_V3 = mkV3 (regV "send") ;
|
||||
sheep_N = regN "sheep" ;
|
||||
seek_V2 = dirV2 (irregV "seek" "sought" "sought") ;
|
||||
see_V2 = dirV2 (irregV "see" "saw" "seen") ;
|
||||
sell_V3 = dirV3 (irregV "sell" "sold" "sold") "to" ;
|
||||
send_V3 = dirV3 (irregV "send" "sent" "sent") "to" ;
|
||||
sheep_N = mk2N "sheep" "sheep" ;
|
||||
ship_N = regN "ship" ;
|
||||
shirt_N = regN "shirt" ;
|
||||
shoe_N = regN "shoe" ;
|
||||
@@ -157,11 +162,11 @@ lin
|
||||
short_ADeg = regADeg "short" ;
|
||||
silver_N = regN "silver" ;
|
||||
sister_N = regN "sister" ;
|
||||
sleep_V = (regV "sleep") ;
|
||||
sleep_V = (irregV "sleep" "slept" "slept") ;
|
||||
small_ADeg = regADeg "small" ;
|
||||
snake_N = regN "snake" ;
|
||||
sock_N = regN "sock" ;
|
||||
speak_V2 = dirV2 (regV "speak") ;
|
||||
speak_V2 = dirV2 (irregV "speak" "spoke" "spoken") ;
|
||||
star_N = regN "star" ;
|
||||
steel_N = regN "steel" ;
|
||||
stone_N = regN "stone" ;
|
||||
@@ -169,20 +174,21 @@ lin
|
||||
student_N = regN "student" ;
|
||||
stupid_ADeg = regADeg "stupid" ;
|
||||
sun_N = regN "sun" ;
|
||||
switch8off_V = (regV "switch8off") ;
|
||||
switch8on_V = (regV "switch8on") ;
|
||||
switch8off_V2 = dirV2 (partV (regV "switch") "off") ;
|
||||
switch8on_V2 = dirV2 (partV (regV "switch") "on") ;
|
||||
table_N = regN "table" ;
|
||||
talk_V3 = mkV3 (regV "talk") "to" "about" ;
|
||||
teacher_N = regN "teacher" ;
|
||||
teach_V2 = dirV2 (regV "teach") ;
|
||||
teach_V2 = dirV2 (irregV "teach" "taught" "taught") ;
|
||||
television_N = regN "television" ;
|
||||
thick_ADeg = regADeg "thick" ;
|
||||
thin_ADeg = regADeg "thin" ;
|
||||
train_N = regN "train" ;
|
||||
travel_V = (regV "travel") ;
|
||||
travel_V = (regDuplV "travel") ;
|
||||
tree_N = regN "tree" ;
|
||||
trousers_N = regN "trousers" ;
|
||||
ugly_ADeg = regADeg "ugly" ;
|
||||
understand_V2 = dirV2 (regV "understand") ;
|
||||
understand_V2 = dirV2 (irregV "understand" "understood" "understood") ;
|
||||
university_N = regN "university" ;
|
||||
village_N = regN "village" ;
|
||||
wait_V2 = dirV2 (regV "wait") ;
|
||||
@@ -194,10 +200,11 @@ lin
|
||||
white_ADeg = regADeg "white" ;
|
||||
window_N = regN "window" ;
|
||||
wine_N = regN "wine" ;
|
||||
win_V2 = dirV2 (regV "win") ;
|
||||
woman_N = regN "woman" ;
|
||||
win_V2 = dirV2 (irregV "win" "won" "won") ;
|
||||
woman_N = mk2N "woman" "women" ;
|
||||
wonder_VQ = mkVQ (regV "wonder") ;
|
||||
wood_N = regN "wood" ;
|
||||
write_V2 = dirV2 (regV "write") ;
|
||||
write_V2 = dirV2 (irregV "write" "wrote" "written") ;
|
||||
yellow_ADeg = regADeg "yellow" ;
|
||||
young_ADeg = regADeg "young" ;
|
||||
} ;
|
||||
|
||||
71
lib/resource/english/ClauseEng.gf
Normal file
71
lib/resource/english/ClauseEng.gf
Normal file
@@ -0,0 +1,71 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
concrete ClauseEng of Clause = CategoriesEng **
|
||||
open Prelude, SyntaxEng in {
|
||||
|
||||
lin
|
||||
SPredV np v = predVerbGroupClause np (predVerb v) ;
|
||||
SPredPassV np v = predVerbGroupClause np (passVerb v) ;
|
||||
SPredV2 np v x = predVerbGroupClause np (complTransVerb v x) ;
|
||||
SPredReflV2 np v = predVerbGroupClause np (reflTransVerb v) ;
|
||||
SPredVS np v x = predVerbGroupClause np (complSentVerb v x) ;
|
||||
SPredVV np v x = predVerbGroupClause np (complVerbVerb v x) ;
|
||||
SPredVQ np v x = predVerbGroupClause np (complQuestVerb v x) ;
|
||||
SPredVA np v x = predVerbGroupClause np (complAdjVerb v x) ;
|
||||
SPredV2A np v x y = predVerbGroupClause np (complDitransAdjVerb v x y) ;
|
||||
SPredSubjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb
|
||||
False v x y) ;
|
||||
SPredObjV2V np v x y = predVerbGroupClause np (complDitransVerbVerb
|
||||
True v x y) ;
|
||||
SPredV2S np v x y = predVerbGroupClause np (complDitransSentVerb v x y) ;
|
||||
SPredV2Q np v x y = predVerbGroupClause np (complDitransQuestVerb v x y) ;
|
||||
|
||||
SPredAP np v = predVerbGroupClause np (predAdjective v) ;
|
||||
SPredSuperl np a = predVerbGroupClause np (predAdjective (superlAdjPhrase a)) ;
|
||||
SPredCN np v = predVerbGroupClause np (predCommNoun v) ;
|
||||
SPredNP np v = predVerbGroupClause np (predNounPhrase v) ;
|
||||
SPredPP np v = predVerbGroupClause np (predAdverb v) ;
|
||||
SPredAV np v x = predVerbGroupClause np (complVerbAdj v x) ;
|
||||
SPredObjA2V np v x y = predVerbGroupClause np (complVerbAdj2 True v x y) ;
|
||||
|
||||
|
||||
QPredV np v = intVerbPhrase np (predVerb v) ;
|
||||
QPredPassV np v = intVerbPhrase np (passVerb v) ;
|
||||
QPredV2 np v x = intVerbPhrase np (complTransVerb v x) ;
|
||||
QPredReflV2 np v = intVerbPhrase np (reflTransVerb v) ;
|
||||
QPredVS np v x = intVerbPhrase np (complSentVerb v x) ;
|
||||
QPredVV np v x = intVerbPhrase np (complVerbVerb v x) ;
|
||||
QPredVQ np v x = intVerbPhrase np (complQuestVerb v x) ;
|
||||
QPredVA np v x = intVerbPhrase np (complAdjVerb v x) ;
|
||||
QPredV2A np v x y = intVerbPhrase np (complDitransAdjVerb v x y) ;
|
||||
QPredSubjV2V np v x y = intVerbPhrase np (complDitransVerbVerb
|
||||
False v x y) ;
|
||||
QPredObjV2V np v x y = intVerbPhrase np (complDitransVerbVerb
|
||||
True v x y) ;
|
||||
QPredV2S np v x y = intVerbPhrase np (complDitransSentVerb v x y) ;
|
||||
QPredV2Q np v x y = intVerbPhrase np (complDitransQuestVerb v x y) ;
|
||||
|
||||
QPredAP np v = intVerbPhrase np (predAdjective v) ;
|
||||
QPredSuperl np a = intVerbPhrase np (predAdjective (superlAdjPhrase a)) ;
|
||||
QPredCN np v = intVerbPhrase np (predCommNoun v) ;
|
||||
QPredNP np v = intVerbPhrase np (predNounPhrase v) ;
|
||||
QPredPP np v = intVerbPhrase np (predAdverb v) ;
|
||||
QPredAV np v x = intVerbPhrase np (complVerbAdj v x) ;
|
||||
QPredObjA2V np v x y = intVerbPhrase np (complVerbAdj2 True v x y) ;
|
||||
|
||||
{-
|
||||
-- Use VPs
|
||||
|
||||
PredVP = predVerbGroupClause ;
|
||||
IntVP = intVerbPhrase ;
|
||||
RelVP = relVerbPhrase ;
|
||||
|
||||
|
||||
PosVP tp = predVerbGroup True tp.a ;
|
||||
NegVP tp = predVerbGroup False tp.a ;
|
||||
|
||||
AdvVP = adVerbPhrase ;
|
||||
SubjVP = subjunctVerbPhrase ;
|
||||
-}
|
||||
|
||||
}
|
||||
27
lib/resource/english/CountryEng.gf
Normal file
27
lib/resource/english/CountryEng.gf
Normal file
@@ -0,0 +1,27 @@
|
||||
concrete CountryEng of Country = open ResourceEng, NewParadigmsEng in {
|
||||
|
||||
lincat
|
||||
Country = PN ;
|
||||
Nationality = A ;
|
||||
Language = N ;
|
||||
|
||||
lin
|
||||
Denmark = regPN "Denmark" nonhuman ;
|
||||
England = regPN "England" nonhuman ;
|
||||
Finland = regPN "Finland" nonhuman ;
|
||||
France = regPN "France" nonhuman ;
|
||||
Germany = regPN "Germany" nonhuman ;
|
||||
Italy = regPN "Italy" nonhuman ;
|
||||
Norway = regPN "Norway" nonhuman ;
|
||||
Russia = regPN "Russia" nonhuman ;
|
||||
Spain = regPN "Spain" nonhuman ;
|
||||
Sweden = regPN "Sweden" nonhuman ;
|
||||
|
||||
Danish = regA "Danish" ;
|
||||
English = regA "English" ;
|
||||
|
||||
DanishLang = regN "Danish" ;
|
||||
EnglishLang = regN "English" ;
|
||||
|
||||
|
||||
} ;
|
||||
@@ -73,7 +73,7 @@ oper
|
||||
|
||||
-- In practice the worst case is just: give singular and plural nominative.
|
||||
|
||||
reg2N : (man,men : Str) -> N ;
|
||||
mk2N : (man,men : Str) -> N ;
|
||||
|
||||
-- All nouns created by the previous functions are marked as
|
||||
-- $nonhuman$. If you want a $human$ noun, wrap it with the following
|
||||
@@ -201,7 +201,7 @@ oper
|
||||
|
||||
regV : Str -> V ;
|
||||
|
||||
-- The following variant duplicates the in consonant in the forms like
|
||||
-- The following variant duplicates the last letter in the forms like
|
||||
-- "rip - ripped - ripping".
|
||||
|
||||
regDuplV : Str -> V ;
|
||||
@@ -239,6 +239,26 @@ oper
|
||||
dirV3 : V -> Str -> V3 ; -- give,_,to
|
||||
dirdirV3 : V -> V3 ; -- give,_,_
|
||||
|
||||
--3 Other complement patterns
|
||||
--
|
||||
-- Verbs and adjectives can take complements such as sentences,
|
||||
-- questions, verb phrases, and adjectives.
|
||||
|
||||
mkV0 : V -> V0 ;
|
||||
mkVS : V -> VS ;
|
||||
mkV2S : V -> Str -> V2S ;
|
||||
mkVV : V -> VV ;
|
||||
mkV2V : V -> Str -> Str -> V2V ;
|
||||
mkVA : V -> VA ;
|
||||
mkV2A : V -> Str -> V2A ;
|
||||
mkVQ : V -> VQ ;
|
||||
mkV2Q : V -> Str -> V2Q ;
|
||||
|
||||
mkAS : A -> AS ;
|
||||
mkA2S : A -> Str -> A2S ;
|
||||
mkAV : A -> AV ;
|
||||
mkA2V : A -> Str -> A2V ;
|
||||
|
||||
|
||||
--2 Definitions of paradigms
|
||||
--
|
||||
@@ -277,9 +297,9 @@ oper
|
||||
}
|
||||
}
|
||||
in
|
||||
reg2N ray rays ;
|
||||
mk2N ray rays ;
|
||||
|
||||
reg2N = \man,men ->
|
||||
mk2N = \man,men ->
|
||||
let mens = case last men of {
|
||||
"s" => men + "'" ;
|
||||
_ => men + "'s"
|
||||
@@ -375,4 +395,19 @@ oper
|
||||
dirV3 v p = mkV3 v [] p ;
|
||||
dirdirV3 v = dirV3 v [] ;
|
||||
|
||||
mkV0 v = v ** {lock_V0 = <>} ;
|
||||
mkVS v = v ** {lock_VS = <>} ;
|
||||
mkV2S v p = mkV2 v p ** {lock_V2S = <>} ;
|
||||
mkVV v = v ** {isAux = False ; lock_VV = <>} ;
|
||||
mkV2V v p t = mkV2 v p ** {s4 = t ; lock_V2V = <>} ;
|
||||
mkVA v = v ** {lock_VA = <>} ;
|
||||
mkV2A v p = mkV2 v p ** {lock_V2A = <>} ;
|
||||
mkVQ v = v ** {lock_VQ = <>} ;
|
||||
mkV2Q v p = mkV2 v p ** {lock_V2Q = <>} ;
|
||||
|
||||
mkAS v = v ** {lock_AS = <>} ;
|
||||
mkA2S v p = mkA2 v p ** {lock_A2S = <>} ;
|
||||
mkAV v = v ** {lock_AV = <>} ;
|
||||
mkA2V v p = mkA2 v p ** {lock_A2V = <>} ;
|
||||
|
||||
} ;
|
||||
|
||||
@@ -68,28 +68,6 @@ lin
|
||||
|
||||
-- verbs and verb prases
|
||||
|
||||
UseV = predVerb ;
|
||||
UsePassV = passVerb ;
|
||||
ComplV2 = complTransVerb ;
|
||||
ComplReflV2 = reflTransVerb ;
|
||||
ComplVS = complSentVerb ;
|
||||
ComplVV = complVerbVerb ;
|
||||
ComplVQ = complQuestVerb ;
|
||||
ComplVA = complAdjVerb ;
|
||||
ComplV2A = complDitransAdjVerb ;
|
||||
ComplSubjV2V = complDitransVerbVerb False ;
|
||||
ComplObjV2V = complDitransVerbVerb True ;
|
||||
ComplV2S = complDitransSentVerb ;
|
||||
ComplV2Q = complDitransQuestVerb ;
|
||||
|
||||
PredAP = predAdjective ;
|
||||
PredSuperl a = predAdjective (superlAdjPhrase a) ;
|
||||
PredCN = predCommNoun ;
|
||||
PredNP = predNounPhrase ;
|
||||
PredPP = predAdverb ;
|
||||
PredAV = complVerbAdj ;
|
||||
PredObjA2V = complVerbAdj2 True ;
|
||||
|
||||
PredAS = predAdjSent ;
|
||||
PredV0 rain = predVerbGroupClause (pronNounPhrase pronIt) (predVerb rain) ;
|
||||
|
||||
@@ -111,9 +89,6 @@ lin
|
||||
|
||||
-- Formation of infinitival phrases.
|
||||
|
||||
PosVP tp = predVerbGroup True tp.a ;
|
||||
NegVP tp = predVerbGroup False tp.a ;
|
||||
|
||||
ProgVG = progressiveVerbPhrase ;
|
||||
|
||||
UseCl tp cl = {s = tp.s ++ cl.s ! Dir ! tp.b ! VFinite tp.t tp.a} ;
|
||||
@@ -136,21 +111,16 @@ lin
|
||||
AdjAdv a = ss (a.s ! AAdv) ;
|
||||
AdvPP p = p ;
|
||||
PrepNP p = prepPhrase p.s ; ---
|
||||
|
||||
AdvVP = adVerbPhrase ;
|
||||
AdvCN = advCommNounPhrase ;
|
||||
AdvAP = advAdjPhrase ;
|
||||
|
||||
--3 Sentences and relative clauses
|
||||
--
|
||||
|
||||
PredVP = predVerbGroupClause ;
|
||||
|
||||
SlashV2 = slashTransVerbCl ;
|
||||
|
||||
IdRP = identRelPron ;
|
||||
FunRP = funRelPron ;
|
||||
RelVP = relVerbPhrase ;
|
||||
RelSlash = relSlash ;
|
||||
ModRS = modRelClause ;
|
||||
RelCl = relSuch ;
|
||||
@@ -169,7 +139,6 @@ lin
|
||||
NounIPMany = nounIntPron plural ;
|
||||
|
||||
QuestCl = questClause ;
|
||||
IntVP = intVerbPhrase ;
|
||||
IntSlash = intSlash ;
|
||||
QuestAdv = questAdverbial ;
|
||||
|
||||
@@ -207,13 +176,13 @@ lin
|
||||
SubjS = subjunctSentence ;
|
||||
SubjImper = subjunctImperative ;
|
||||
SubjQS = subjunctQuestion ;
|
||||
SubjVP = subjunctVerbPhrase ;
|
||||
|
||||
PhrNP = useNounPhrase ;
|
||||
PhrOneCN = useCommonNounPhrase singular ;
|
||||
PhrManyCN = useCommonNounPhrase plural ;
|
||||
PhrIP ip = ip ;
|
||||
PhrIAdv ia = ia ;
|
||||
PhrVPI = verbUtterance ;
|
||||
|
||||
OnePhr p = p ;
|
||||
ConsPhr = cc2 ;
|
||||
@@ -234,15 +203,4 @@ lin
|
||||
(complTransVerb (mkTransVerbDir verbBe)
|
||||
(indefNounPhraseNum plural nu A)) ;
|
||||
|
||||
ExistQCl A = questVerbPhrase
|
||||
(nameNounPhrase (nameReg "there" Neutr))
|
||||
(complTransVerb (mkTransVerbDir verbBe)
|
||||
(indefNounPhrase singular A)) ;
|
||||
ExistNumQCl nu A =
|
||||
questVerbPhrase
|
||||
(nameNounPhrasePl (nameReg "there" Neutr))
|
||||
(complTransVerb (mkTransVerbDir verbBe)
|
||||
(indefNounPhraseNum plural nu A)) ;
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
concrete ShallowEng of Shallow = ShallowI with (Resource = ResourceEng) ;
|
||||
|
||||
@@ -1059,6 +1059,13 @@ oper
|
||||
imperUtterance : Number -> Imperative -> Utterance = \n,I ->
|
||||
ss (I.s ! n ++ "!") ;
|
||||
|
||||
-- --- Here the agreement feature should really be given in context:
|
||||
-- "What do you want to do? - Wash myself."
|
||||
|
||||
verbUtterance : VerbPhrase -> Utterance = \vp ->
|
||||
ss (vp.s1 ++ vp.s ! ASgP1) ;
|
||||
|
||||
|
||||
--2 Sentence adverbs
|
||||
--
|
||||
-- Sentence adverbs is the largest class and open for
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
concrete TestResourceEng of TestResource = RulesEng, StructuralEng **
|
||||
concrete TestResourceEng of TestResource = RulesEng, ClauseEng, StructuralEng **
|
||||
open Prelude, SyntaxEng, ParadigmsEng in {
|
||||
|
||||
flags startcat=Phr ; lexer=textlit ; parser=chart ; unlexer=text ;
|
||||
|
||||
3
lib/resource/english/TimeEng.gf
Normal file
3
lib/resource/english/TimeEng.gf
Normal file
@@ -0,0 +1,3 @@
|
||||
concrete TimeEng of Time = {
|
||||
|
||||
} ;
|
||||
61
lib/resource/english/VerbphraseEng.gf
Normal file
61
lib/resource/english/VerbphraseEng.gf
Normal file
@@ -0,0 +1,61 @@
|
||||
--# -path=.:../abstract:../../prelude
|
||||
|
||||
--1 The Top-Level English Resource Grammar: Combination Rules
|
||||
--
|
||||
-- Aarne Ranta 2002 -- 2003
|
||||
--
|
||||
-- This is the English concrete syntax of the multilingual resource
|
||||
-- grammar. Most of the work is done in the file $syntax.Eng.gf$.
|
||||
-- However, for the purpose of documentation, we make here explicit the
|
||||
-- linearization types of each category, so that their structures and
|
||||
-- dependencies can be seen.
|
||||
-- Another substantial part are the linearization rules of some
|
||||
-- structural words.
|
||||
--
|
||||
-- The users of the resource grammar should not look at this file for the
|
||||
-- linearization rules, which are in fact hidden in the document version.
|
||||
-- They should use $resource.Abs.gf$ to access the syntactic rules.
|
||||
-- This file can be consulted in those, hopefully rare, occasions in which
|
||||
-- one has to know how the syntactic categories are
|
||||
-- implemented. The parameter types are defined in $TypesEng.gf$.
|
||||
|
||||
concrete VerbphraseEng of Verbphrase = CategoriesEng **
|
||||
open Prelude, SyntaxEng in {
|
||||
|
||||
lin
|
||||
UseV = predVerb ;
|
||||
UsePassV = passVerb ;
|
||||
ComplV2 = complTransVerb ;
|
||||
ComplReflV2 = reflTransVerb ;
|
||||
ComplVS = complSentVerb ;
|
||||
ComplVV = complVerbVerb ;
|
||||
ComplVQ = complQuestVerb ;
|
||||
ComplVA = complAdjVerb ;
|
||||
ComplV2A = complDitransAdjVerb ;
|
||||
ComplSubjV2V = complDitransVerbVerb False ;
|
||||
ComplObjV2V = complDitransVerbVerb True ;
|
||||
ComplV2S = complDitransSentVerb ;
|
||||
ComplV2Q = complDitransQuestVerb ;
|
||||
|
||||
PredAP = predAdjective ;
|
||||
PredSuperl a = predAdjective (superlAdjPhrase a) ;
|
||||
PredCN = predCommNoun ;
|
||||
PredNP = predNounPhrase ;
|
||||
PredPP = predAdverb ;
|
||||
PredAV = complVerbAdj ;
|
||||
PredObjA2V = complVerbAdj2 True ;
|
||||
|
||||
-- Use VPs
|
||||
|
||||
PredVP = predVerbGroupClause ;
|
||||
RelVP = relVerbPhrase ;
|
||||
IntVP = intVerbPhrase ;
|
||||
|
||||
PosVP tp = predVerbGroup True tp.a ;
|
||||
NegVP tp = predVerbGroup False tp.a ;
|
||||
|
||||
AdvVP = adVerbPhrase ;
|
||||
SubjVP = subjunctVerbPhrase ;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user