From b84bd78ab961c8d267717c83b35ae9c1208aeb09 Mon Sep 17 00:00:00 2001 From: aarne Date: Wed, 2 Apr 2014 21:34:40 +0000 Subject: [PATCH] Android app sources in examples/app - read README for advice --- examples/app/App.gf | 43 ++++++++++++++++ examples/app/AppBul.gf | 61 +++++++++++++++++++++++ examples/app/AppChi.gf | 76 +++++++++++++++++++++++++++++ examples/app/AppEng.gf | 72 +++++++++++++++++++++++++++ examples/app/AppFin.gf | 70 ++++++++++++++++++++++++++ examples/app/AppFre.gf | 95 ++++++++++++++++++++++++++++++++++++ examples/app/AppGer.gf | 61 +++++++++++++++++++++++ examples/app/AppHin.gf | 61 +++++++++++++++++++++++ examples/app/AppIta.gf | 61 +++++++++++++++++++++++ examples/app/AppSpa.gf | 61 +++++++++++++++++++++++ examples/app/AppSwe.gf | 61 +++++++++++++++++++++++ examples/app/Makefile | 48 ++++++++++++++++++ examples/app/README | 43 ++++++++++++++++ examples/phrasebook/Makefile | 3 ++ 14 files changed, 816 insertions(+) create mode 100644 examples/app/App.gf create mode 100644 examples/app/AppBul.gf create mode 100644 examples/app/AppChi.gf create mode 100644 examples/app/AppEng.gf create mode 100644 examples/app/AppFin.gf create mode 100644 examples/app/AppFre.gf create mode 100644 examples/app/AppGer.gf create mode 100644 examples/app/AppHin.gf create mode 100644 examples/app/AppIta.gf create mode 100644 examples/app/AppSpa.gf create mode 100644 examples/app/AppSwe.gf create mode 100644 examples/app/Makefile create mode 100644 examples/app/README diff --git a/examples/app/App.gf b/examples/app/App.gf new file mode 100644 index 000000000..0760d2f43 --- /dev/null +++ b/examples/app/App.gf @@ -0,0 +1,43 @@ +abstract App = + +-- modules in Grammar, excluding Structural + Tense, + Noun - [PPartNP], -- to be generalized + Adjective, + Numeral, + Conjunction, + Verb [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + Adverb, + Phrase, + Sentence, + Question - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + Relative, + Idiom [NP, VP, Cl, Tense, ProgrVP, ExistNP], + + Symbol [PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP], ---- why only these? + + Chunk, + +---- Construction, + Extensions [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + Dictionary, + Documentation + + ,Phrasebook + + ** { +flags + startcat=Phr ; + +fun + PhrasePhr : Phrase -> Phr ; + Phrase_Chunk : Phrase -> Chunk ; + +} diff --git a/examples/app/AppBul.gf b/examples/app/AppBul.gf new file mode 100644 index 000000000..83118b9ac --- /dev/null +++ b/examples/app/AppBul.gf @@ -0,0 +1,61 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppBul of App = + TenseX - [IAdv, CAdv], + NounBul - [PPartNP], + AdjectiveBul, + NumeralBul, + SymbolBul [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionBul, + VerbBul [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbBul, + PhraseBul, + SentenceBul [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionBul - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeBul, + IdiomBul [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionBul, + + ChunkBul, + + ExtensionsBul [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationBul, + DictionaryBul + + ,PhrasebookBul - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A] + + ** open MorphoBul, ResBul, ParadigmsBul, SyntaxBul, CommonScand, (E = ExtraBul), 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 ; + +} diff --git a/examples/app/AppChi.gf b/examples/app/AppChi.gf new file mode 100644 index 000000000..abc8b6288 --- /dev/null +++ b/examples/app/AppChi.gf @@ -0,0 +1,76 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppChi of App = + TenseChi, + NounChi - [PPartNP], + AdjectiveChi, + NumeralChi, + SymbolChi [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionChi, + VerbChi [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompNP,CompAdv,CompCN + ], + AdverbChi, + PhraseChi, + SentenceChi [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionChi - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP, + QuestCl -- overridden + ], + RelativeChi, + IdiomChi [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionChi, + + ChunkChi, + + ExtensionsChi [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationChi, + DictionaryChi + + ,PhrasebookChi - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A, at_Prep] + + ** open ResChi, ParadigmsChi, SyntaxChi, CommonScand, (E = ExtraChi), (G = GrammarChi), Prelude in { + +flags + literal=Symb ; + + +-- Chinese-specific overrides + +lin + CompAP = G.CompAP | E.CompBareAP ; -- he is good | he good + +-- AdvVP vp adv = E.TopicAdvVP vp adv | G.AdvVP vp adv ; -- he *today* here sleeps | *today* he here sleeps + + QuestCl cl = G.QuestCl cl | E.QuestRepV cl ; -- he comes 'ma' | he come not come + + + + + +-- 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 ; + +} diff --git a/examples/app/AppEng.gf b/examples/app/AppEng.gf new file mode 100644 index 000000000..049568066 --- /dev/null +++ b/examples/app/AppEng.gf @@ -0,0 +1,72 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppEng of App = + TenseX - [Pol, PNeg, PPos], + CatEng, + NounEng - [PPartNP], + AdjectiveEng, + NumeralEng, + SymbolEng [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP, + addGenitiveS + ], + ConjunctionEng, + VerbEng [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbEng, + PhraseEng, + SentenceEng [ + PredVP,SlashVP,ImpVP, + UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionEng - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeEng, + IdiomEng [NP, VP, Tense, Cl, ProgrVP, ExistNP], + +---- ConstructionEng, + + + ChunkEng, + + ExtensionsEng [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + DocumentationEng, + DictionaryEng + + ,PhrasebookEng - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv] + + ** open MorphoEng, ResEng, ParadigmsEng, SyntaxEng, (G = GrammarEng), (E = ExtraEng), Prelude in { + +flags + literal=Symb ; + +-- exceptional linearizations +lin + UseCl t p cl = + G.UseCl t p cl -- I am here + | E.ContractedUseCl t p cl -- I'm here + ; + + PPos = {s = [] ; p = CPos} ; + PNeg = {s = [] ; p = CNeg True} | {s = [] ; p = CNeg False} ; + + +-- 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 ; + +} diff --git a/examples/app/AppFin.gf b/examples/app/AppFin.gf new file mode 100644 index 000000000..9bcbaf579 --- /dev/null +++ b/examples/app/AppFin.gf @@ -0,0 +1,70 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos +--# -path=.:src/chunk:src/finnish/stemmed:src/finnish:src/api:src/translator:../examples/phrasebook/gfos + +concrete AppFin of App = + TenseX, + NounFin - [ + PPartNP, + UsePron, PossPron -- Fin specific: replaced by variants with prodrop + ], + AdjectiveFin, + NumeralFin, + SymbolFin [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionFin, + VerbFin [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbFin, + PhraseFin, + SentenceFin [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionFin - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeFin, + IdiomFin [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionFin, + + ChunkFin, + + ExtensionsFin [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationFin, + DictionaryFin + + ,PhrasebookFin - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A] + + ** open MorphoFin, ResFin, ParadigmsFin, SyntaxFin, CommonScand, (E = ExtraFin), (G = GrammarFin), Prelude in { + +flags + literal=Symb ; + +-- pro-drop exceptions: here as second rather than first alternative +lin + UsePron p = G.UsePron p | G.UsePron (E.ProDrop p) ; + PossPron p = G.PossPron p | E.ProDropPoss p ; + +-- 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 ; + +} diff --git a/examples/app/AppFre.gf b/examples/app/AppFre.gf new file mode 100644 index 000000000..7b3c4d716 --- /dev/null +++ b/examples/app/AppFre.gf @@ -0,0 +1,95 @@ +--# -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 + ], + AdverbFre, + PhraseFre, + SentenceFre [ + PredVP,SlashVP,ImpVP, + 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 + ], + + DocumentationFre, + DictionaryFre + + ,PhrasebookFre - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A] + + ** open MorphoFre, PhonoFre, ResFre, ParadigmsFre, SyntaxFre, CommonScand, (E = ExtraFre), (G = GrammarFre), 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 ; + +} diff --git a/examples/app/AppGer.gf b/examples/app/AppGer.gf new file mode 100644 index 000000000..6242fd9fa --- /dev/null +++ b/examples/app/AppGer.gf @@ -0,0 +1,61 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppGer of App = + TenseGer, + NounGer - [PPartNP], + AdjectiveGer, + NumeralGer, + SymbolGer [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionGer, + VerbGer [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbGer, + PhraseGer, + SentenceGer [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionGer - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeGer, + IdiomGer [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionGer, + + ChunkGer, + + ExtensionsGer [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationGer, + DictionaryGer + + ,PhrasebookGer - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A] + + ** open MorphoGer, ResGer, ParadigmsGer, SyntaxGer, CommonScand, (E = ExtraGer), 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 ; + +} diff --git a/examples/app/AppHin.gf b/examples/app/AppHin.gf new file mode 100644 index 000000000..f097600da --- /dev/null +++ b/examples/app/AppHin.gf @@ -0,0 +1,61 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppHin of App = + TenseX - [AdN,Adv,SC,PPos,PNeg], + NounHin - [PPartNP], + AdjectiveHin, + NumeralHin, + SymbolHin [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionHin, + VerbHin [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbHin, + PhraseHin, + SentenceHin [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionHin - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeHin, + IdiomHin [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionHin, + + ChunkHin, + + ExtensionsHin [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationHin, + DictionaryHin + + ,PhrasebookHin - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A] + + ** open MorphoHin, ResHin, ParadigmsHin, SyntaxHin, CommonScand, (E = ExtraHin), 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 ; + +} diff --git a/examples/app/AppIta.gf b/examples/app/AppIta.gf new file mode 100644 index 000000000..d658d9bed --- /dev/null +++ b/examples/app/AppIta.gf @@ -0,0 +1,61 @@ +--# -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 + ], + AdverbIta, + PhraseIta, + SentenceIta [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionIta - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeIta, + IdiomIta [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionIta, + + ChunkIta, + + ExtensionsIta [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationIta, + DictionaryIta + + ,PhrasebookIta - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_A] + + ** open MorphoIta, ResIta, ParadigmsIta, SyntaxIta, CommonScand, (E = ExtraIta), 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 ; + +} diff --git a/examples/app/AppSpa.gf b/examples/app/AppSpa.gf new file mode 100644 index 000000000..db1a6be8e --- /dev/null +++ b/examples/app/AppSpa.gf @@ -0,0 +1,61 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppSpa of App = + TenseSpa, + NounSpa - [PPartNP], + AdjectiveSpa, + NumeralSpa, + SymbolSpa [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionSpa, + VerbSpa [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbSpa, + PhraseSpa, + SentenceSpa [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionSpa - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeSpa, + IdiomSpa [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionSpa, + + ChunkSpa, + + ExtensionsSpa [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationSpa, + DictionarySpa + + ,PhrasebookSpa - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, cheap_A,expensive_A, open_A] + + ** open MorphoSpa, ResSpa, ParadigmsSpa, SyntaxSpa, CommonScand, (E = ExtraSpa), 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 ; + +} diff --git a/examples/app/AppSwe.gf b/examples/app/AppSwe.gf new file mode 100644 index 000000000..cd6f53d2f --- /dev/null +++ b/examples/app/AppSwe.gf @@ -0,0 +1,61 @@ +--# -path=.:src/chunk:src/translator:../examples/phrasebook/gfos + +concrete AppSwe of App = + TenseSwe, + NounSwe - [PPartNP], + AdjectiveSwe, + NumeralSwe, + SymbolSwe [ + PN, Symb, String, CN, Card, NP, MkSymb, SymbPN, CNNumNP + ], + ConjunctionSwe, + VerbSwe [ + UseV,ComplVV,SlashV2a,ComplSlash,UseComp,CompAP,CompNP,CompAdv,CompCN + ], + AdverbSwe, + PhraseSwe, + SentenceSwe [ + PredVP,SlashVP,ImpVP, + UseCl,UseQCl,UseSlash,SSubjS,UseRCl + ], + QuestionSwe - [ + ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP + ], + RelativeSwe, + IdiomSwe [ + NP, VP, Tense, Cl, ProgrVP, ExistNP, + neutr, sjalv + ], +---- ConstructionSwe, + + ChunkSwe, + + ExtensionsSwe [ + CompoundCN,AdAdV,UttAdV,ApposNP, + MkVPI, MkVPS, PredVPS, that_RP, who_RP + ], + + DocumentationSwe, + DictionarySwe + + ,PhrasebookSwe - [PSentence, PQuestion, PGreetingMale, PGreetingFemale, GObjectPlease, open_Adv, closed_A, open_A] + + ** open MorphoSwe, ResSwe, ParadigmsSwe, SyntaxSwe, CommonScand, (E = ExtraSwe), 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 ; + +} diff --git a/examples/app/Makefile b/examples/app/Makefile new file mode 100644 index 000000000..aba322034 --- /dev/null +++ b/examples/app/Makefile @@ -0,0 +1,48 @@ +all: AppEng.pgf AppSwe.pgf AppBul.pgf AppIta.pgf AppSpa.pgf AppFre.pgf AppGer.pgf AppHin.pgf AppChi.pgf AppFin.pgf App10 + +PROBSFILE=./app.probs +GFODIR=./gfos + +S=-s +GFMKT=mkdir -p $(GFODIR) && gf $S -make -literal=Symb -probs=$(PROBSFILE) -gfo-dir $(GFODIR) + + +# Dummy targets, just for convenience +App: AppEng AppBul AppChi AppGer AppSwe AppHin AppFin AppFre AppIta AppSpa App10 +AppEng: AppEng.pgf +AppBul: AppBul.pgf +AppChi: AppChi.pgf +AppGer: AppGer.pgf +AppSwe: AppSwe.pgf +AppHin: AppHin.pgf +AppFin: AppFin.pgf +AppFre: AppFre.pgf +AppIta: AppIta.pgf +AppSpa: AppSpa.pgf + +TRANSLATE10=AppEng.pgf AppBul.pgf AppChi.pgf AppGer.pgf AppSwe.pgf AppHin.pgf AppFin.pgf AppFre.pgf AppIta.pgf AppSpa.pgf + +# Without dependencies: +App10: + $(GFMKT) -name=App10 $(TRANSLATE10) +RTS -K200M + +# With dependencies: +App10.pgf: $(TRANSLATE10) + $(GFMKT) -name=App8 $(TRANSLATE10) +RTS -K200M + +# App grammars for individual languages +AppEng.pgf:: ; $(GFMKT) -name=AppEng AppEng.gf +AppBul.pgf:: ; $(GFMKT) -name=AppBul AppBul.gf +AppChi.pgf:: ; $(GFMKT) -name=AppChi AppChi.gf +RTS -K64M +AppFin.pgf:: ; $(GFMKT) -name=AppFin AppFin.gf +RTS -K64M +AppGer.pgf:: ; $(GFMKT) -name=AppGer AppGer.gf +RTS -K64M +AppHin.pgf:: ; $(GFMKT) -name=AppHin AppHin.gf +AppFre.pgf:: ; $(GFMKT) -name=AppFre AppFre.gf +RTS -K64M +AppIta.pgf:: ; $(GFMKT) -name=AppIta AppIta.gf +RTS -K64M +AppSpa.pgf:: ; $(GFMKT) -name=AppSpa AppSpa.gf +RTS -K64M +AppSwe.pgf:: ; $(GFMKT) -name=AppSwe AppSwe.gf + +# language pairs to test +AppEngSwe: ; $(GFMKT) -name=AppEngSwe AppEng.pgf AppSwe.pgf +App10: ; $(GFMKT) -name=App10 AppEng.pgf AppSwe.pgf AppBul.pgf AppIta.pgf AppSpa.pgf AppFre.pgf AppGer.pgf AppHin.pgf AppChi.pgf AppFin.pgf +RTS -K200M + diff --git a/examples/app/README b/examples/app/README new file mode 100644 index 000000000..fe416da9b --- /dev/null +++ b/examples/app/README @@ -0,0 +1,43 @@ +Grammar for coloured translation app. + +(c) Aarne Ranta 2014 under GPL + +1. Make sure you have the latest RGL compiled. + +2. Prepare Phrasebook for this: you need to have the gfo's in the subdir phrasebook/gfos/ + + cd ../phrasebook + make + make Chi + make gfos + cd ../app + +3. Back in this directory, make sure you have GF_LIB_PATH pointing to a place under which you can find all of + + $(GF_LIB_PATH)/alltenses + $(GF_LIB_PATH)/prelude + $(GF_LIB_PATH)/src/translator + $(GF_LIB_PATH)/src/finnish + $(GF_LIB_PATH)/src/finnish/stemmed + $(GF_LIB_PATH)/src/api + $(GF_LIB_PATH)/src/chunk + $(GF_LIB_PATH)/../examples/phrasebook + $(GF_LIB_PATH)/../examples/app + +This is what I have since I am compiling RGL with 'make' in lib/src. But the standard procedure builds RGL elsewhere and +you cannot reach the non-standard source files relative to GF_LIB_PATH. Fix this by symbolic links or other means. + +4. Do 'make' and take a cup of coffee. + +5. Go to GF/src/ui/android and follow the README + +6. Before the final 'ant debug install', do the following: + + cd assets/ + rm * + cp -p /examples/app/App10.pgf . + gf -make -split-pgf App10.pgf +RTS -K200M + rm App10.pgf + cd .. + ant debug install + diff --git a/examples/phrasebook/Makefile b/examples/phrasebook/Makefile index f7d6b8549..22da2e272 100644 --- a/examples/phrasebook/Makefile +++ b/examples/phrasebook/Makefile @@ -1,5 +1,8 @@ compile = runghc Compile +Chi: + $(compile) Chi + all: demo missing gfos gfos: