diff options
| author | aarne <aarne@chalmers.se> | 2014-04-09 13:04:19 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2014-04-09 13:04:19 +0000 |
| commit | a3921bffd777c99f83706a2879628a986c1d3e14 (patch) | |
| tree | c478366d6b08dc6141499a20acb71cef2ab43c85 /examples/app/AppFre.gf | |
| parent | 622ab0b44c7241da94b1edbade39b8432ac00fff (diff) | |
rewrote App so that it just inherits Translate and excludes some functions. This minimizes the duplication of code between Translate and App. Also added some functions, which make App 15% slower but increase the coverage and quality. This trade-off has to be studied further.
Diffstat (limited to 'examples/app/AppFre.gf')
| -rw-r--r-- | examples/app/AppFre.gf | 104 |
1 files changed, 28 insertions, 76 deletions
diff --git a/examples/app/AppFre.gf b/examples/app/AppFre.gf index 22c4e8cac..3bbf68070 100644 --- a/examples/app/AppFre.gf +++ b/examples/app/AppFre.gf @@ -1,96 +1,48 @@ --# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos concrete AppFre of App = - TenseFre, - NounFre - [PPartNP], - AdjectiveFre, - NumeralFre, - SymbolFre [ - PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP - ], - ConjunctionFre, - VerbFre [ - UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN - ,AdvVP,AdVVP - ], - AdverbFre, - PhraseFre, - SentenceFre [ - PredVP,SlashVP,ImpVP,AdvS, - UseCl,UseQCl,UseSlash,SSubjS,UseRCl - ], - QuestionFre - [ - ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP, - QuestCl, QuestIAdv - ], - RelativeFre, - IdiomFre [ - NP, VP, Tense, Cl, ProgrVP, ExistNP, - neutr, sjalv - ], ----- ConstructionFre, - - ChunkFre, - ExtensionsFre [ - CompoundCN,AdAdV,UttAdV,ApposNP, - MkVPI, MkVPS, PredVPS, that_RP, who_RP - ], + TranslateFre - [ + -- Verb + ComplVS, ComplVQ, ComplVA, + Slash2V3, Slash3V3, SlashV2V, SlashV2S, SlashV2Q, SlashV2A, + SlashVV, SlashV2VNP, + ReflVP, + AdvVPSlash, AdVVPSlash, VPSlashPrep, + -- Sentence + PredSCVP, + AdvSlash, SlashPrep, SlashVS, + EmbedS, EmbedQS, EmbedVP, RelS, + -- Question + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP, + -- Idiom + CleftNP, CleftAdv, + ExistIP, + ExistNPAdv, ExistIPAdv, + ImpP3, + SelfAdvVP, SelfAdVVP, SelfNP, + -- Construction + hungry_VP, thirsty_VP, has_age_VP, have_name_Cl, married_Cl, what_name_QCl, how_old_QCl, how_far_QCl, + weather_adjCl, is_right_VP, is_wrong_VP, n_units_AP, bottle_of_CN, cup_of_CN, glass_of_CN, + where_go_QCl, where_come_from_QCl, go_here_VP, come_here_VP, come_from_here_VP, go_there_VP, come_there_VP, come_from_there_VP, + -- Extensions + PassVPSlash, PassAgentVPSlash + ] - DocumentationFre, - DictionaryFre - ,PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A] + ,PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, closed_A] - ** open MorphoFre, PhonoFre, ResFre, ParadigmsFre, SyntaxFre, CommonScand, (E = ExtraFre), (G = GrammarFre), Prelude in { + ** open ParadigmsFre, SyntaxFre, Prelude in { flags literal=Symb ; ---------------------------- -lin - QuestCl cl = - {s = \\t,a,p => -- est-ce qu'il dort ? - let cls = cl.s ! DDir ! t ! a ! p - in table { - QDir => "est-ce" ++ elisQue ++ cls ! Indic ; - QIndir => subjIf ++ cls ! Indic - } - } - | {s = \\t,a,p => -- dort-il ? - let cls = cl.s ! DInv ! t ! a ! p - in table { - QDir => cls ! Indic ; - QIndir => subjIf ++ cls ! Indic - } - } - | G.QuestCl cl -- il dort ? - ; - - - QuestIAdv iadv cl = - G.QuestIAdv iadv cl -- où dort-il - | {s = \\t,a,p,q => -- où est-ce qu'il dort - let - ord = DDir ; - cls = cl.s ! ord ! t ! a ! p ! Indic ; - why = iadv.s - in why ++ "est-ce" ++ elisQue ++ cls - } ; - ---------------------------- - --- to suppress punctuation lin PSentence, PQuestion = \s -> lin Text (mkUtt s) ; PGreetingMale, PGreetingFemale = \s -> lin Text s ; - GObjectPlease o = lin Text (mkUtt o) ; - -lin PhrasePhr p = {s = "+" ++ p.s} | p ; - Phrase_Chunk p = p ; } |
