1
0
forked from GitHub/gf-core

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.

This commit is contained in:
aarne
2014-04-09 13:04:19 +00:00
parent 622ab0b44c
commit a3921bffd7
11 changed files with 300 additions and 522 deletions

View File

@@ -1,62 +1,46 @@
--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos
concrete AppIta of App =
TenseIta,
NounIta - [PPartNP],
AdjectiveIta,
NumeralIta,
SymbolIta [
PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP
],
ConjunctionIta,
VerbIta [
UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN
,AdvVP,AdVVP
],
AdverbIta,
PhraseIta,
SentenceIta [
PredVP,SlashVP,ImpVP,AdvS,
UseCl,UseQCl,UseSlash,SSubjS,UseRCl
],
QuestionIta - [
ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP
],
RelativeIta,
IdiomIta [
NP, VP, Tense, Cl, ProgrVP, ExistNP,
neutr, sjalv
],
---- ConstructionIta,
ChunkIta,
TranslateIta - [
-- 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
]
ExtensionsIta [
CompoundCN,AdAdV,UttAdV,ApposNP,
MkVPI, MkVPS, PredVPS, that_RP, who_RP
],
,PhrasebookIta - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A, closed_A]
DocumentationIta,
DictionaryIta
,PhrasebookIta - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A]
** open MorphoIta, ResIta, ParadigmsIta, SyntaxIta, CommonScand, (E = ExtraIta), Prelude in {
** open ParadigmsIta, SyntaxIta, Prelude in {
flags
literal=Symb ;
-- 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 ;
}