1
0
forked from GitHub/gf-core

extended ResourceDemo and changed it to compile without optimizing pgf, so that all inflection forms are kept

This commit is contained in:
aarne
2013-12-10 15:14:18 +00:00
parent 6028a63b42
commit 81d37de270
3 changed files with 39 additions and 5 deletions

View File

@@ -37,7 +37,8 @@ main = do
_ -> return () _ -> return ()
compileOne modu = do compileOne modu = do
let comm = "gf -make -s -optimize-pgf -name=" ++ ---- let comm = "gf -make -s -optimize-pgf -name=" ++
let comm = "gf -make -s -name=" ++
modu ++ " " ++ modu ++ ".gf" ++ modu ++ " " ++ modu ++ ".gf" ++
" +RTS -K320M" " +RTS -K320M"
putStrLn comm putStrLn comm

View File

@@ -20,6 +20,8 @@ abstract ResourceDemo = Lexicon, Numeral, Grammar [
Conj, -- conjunction Conj, -- conjunction
Pron, Pron,
Numeral, Numeral,
Interj,
Phr,
-- fun -- fun
UseCl , -- Tense -> Pol -> Cl -> S, UseCl , -- Tense -> Pol -> Cl -> S,
@@ -70,6 +72,7 @@ abstract ResourceDemo = Lexicon, Numeral, Grammar [
PN, -- proper name e.g. "John" PN, -- proper name e.g. "John"
Subj, -- subjunction e.g. "because" Subj, -- subjunction e.g. "because"
IAdv, -- interrogative adverb e.g. "why" IAdv, -- interrogative adverb e.g. "why"
IComp,
ListAP, ListAP,
ListNP, ListNP,
@@ -82,6 +85,14 @@ abstract ResourceDemo = Lexicon, Numeral, Grammar [
-- fun -- fun
UttS , -- S -> Utt, UttS , -- S -> Utt,
UttQS, -- QS -> Utt, UttQS, -- QS -> Utt,
UttNP,
UttCN,
UttAdv,
UttVP,
UttImp,
UttIP,
UttIAdv,
UttInterj,
UseQCl, -- Tense -> Pol -> QCl -> QS, UseQCl, -- Tense -> Pol -> QCl -> QS,
@@ -89,6 +100,8 @@ abstract ResourceDemo = Lexicon, Numeral, Grammar [
QuestVP , -- IP -> VP -> QCl, -- who walks QuestVP , -- IP -> VP -> QCl, -- who walks
QuestSlash, -- IP -> ClSlash -> QCl, -- who does she walk with QuestSlash, -- IP -> ClSlash -> QCl, -- who does she walk with
QuestIAdv , -- IAdv -> Cl -> QCl, -- why does she walk QuestIAdv , -- IAdv -> Cl -> QCl, -- why does she walk
QuestIComp,
CompIAdv,
SubjCl, -- Cl -> Subj -> S -> Cl, -- she walks because we run SubjCl, -- Cl -> Subj -> S -> Cl, -- she walks because we run
@@ -116,12 +129,14 @@ abstract ResourceDemo = Lexicon, Numeral, Grammar [
] ** { ] ** {
flags startcat = Text ; flags startcat = Phr ;
-- functions with different type -- functions with different type
fun fun
PhrUtt : Utt -> Phr ;
TextS : S -> Text ; -- with . TextS : S -> Text ; -- with .
TextQS : QS -> Text ; -- with ? TextQS : QS -> Text ; -- with ?
TextImp : VP -> Text ; -- with ! TextImp : VP -> Text ; -- with !
@@ -129,6 +144,9 @@ fun
ComplV2 : V2 -> NP -> VP ; ComplV2 : V2 -> NP -> VP ;
ModCN : AP -> CN -> CN ; ModCN : AP -> CN -> CN ;
CompAP : AP -> VP ; CompAP : AP -> VP ;
CompCN : CN -> VP ;
CompNP : NP -> VP ;
CompAdv : Adv -> VP ;
ConjS : Conj -> S -> S -> S ; ConjS : Conj -> S -> S -> S ;
ConjAP : Conj -> AP -> AP -> AP ; ConjAP : Conj -> AP -> AP -> AP ;
ConjNP : Conj -> NP -> NP -> NP ; ConjNP : Conj -> NP -> NP -> NP ;
@@ -139,7 +157,6 @@ fun
numeralDet : Numeral -> Det ; numeralDet : Numeral -> Det ;
i_Pron, youSg_Pron, he_Pron, she_Pron, we_Pron, youPl_Pron, they_Pron : Pron ; i_Pron, youSg_Pron, he_Pron, she_Pron, we_Pron, youPl_Pron, they_Pron : Pron ;
SubjS : Subj -> S -> S -> S ; -- if she walks we run SubjS : Subj -> S -> S -> S ; -- if she walks we run
CompAdv : Prep -> NP -> VP ; -- be in the house
SlashV2 : NP -> V2 -> ClSlash ; -- she loves SlashV2 : NP -> V2 -> ClSlash ; -- she loves
SlashPrep : Cl -> Prep -> ClSlash ; -- she walks with SlashPrep : Cl -> Prep -> ClSlash ; -- she walks with
AdvCN : CN -> Prep -> NP -> CN ; -- man in the city AdvCN : CN -> Prep -> NP -> CN ; -- man in the city

View File

@@ -20,9 +20,10 @@ concrete ResourceDemoEng of ResourceDemo = LexiconEng, NumeralEng, GrammarEng [
Tense, -- tense Tense, -- tense
Pol, -- polarity Pol, -- polarity
Conj, -- conjunction Conj, -- conjunction
Pron, -- pronoun Pron, -- pronoun
Numeral, Numeral,
Interj,
Phr,
-- fun -- fun
UseCl , -- Tense -> Pol -> Cl -> S, UseCl , -- Tense -> Pol -> Cl -> S,
@@ -75,6 +76,7 @@ concrete ResourceDemoEng of ResourceDemo = LexiconEng, NumeralEng, GrammarEng [
PN, -- proper name e.g. "John" PN, -- proper name e.g. "John"
Subj, -- subjunction e.g. "because" Subj, -- subjunction e.g. "because"
IAdv, -- interrogative adverb e.g. "why" IAdv, -- interrogative adverb e.g. "why"
IComp,
ListAP, ListAP,
ListNP, ListNP,
@@ -89,6 +91,14 @@ concrete ResourceDemoEng of ResourceDemo = LexiconEng, NumeralEng, GrammarEng [
UttS , -- S -> Utt, UttS , -- S -> Utt,
UttQS, -- QS -> Utt, UttQS, -- QS -> Utt,
UttNP,
UttCN,
UttAdv,
UttVP,
UttImp,
UttIP,
UttIAdv,
UttInterj,
UseQCl, -- Tense -> Pol -> QCl -> QS, UseQCl, -- Tense -> Pol -> QCl -> QS,
@@ -96,6 +106,8 @@ concrete ResourceDemoEng of ResourceDemo = LexiconEng, NumeralEng, GrammarEng [
QuestVP , -- IP -> VP -> QCl, -- who walks QuestVP , -- IP -> VP -> QCl, -- who walks
QuestSlash, -- IP -> ClSlash -> QCl, -- who does she walk with QuestSlash, -- IP -> ClSlash -> QCl, -- who does she walk with
QuestIAdv , -- IAdv -> Cl -> QCl, -- why does she walk QuestIAdv , -- IAdv -> Cl -> QCl, -- why does she walk
QuestIComp,
CompIAdv,
SubjCl, -- Cl -> Subj -> S -> Cl, -- she walks because we run SubjCl, -- Cl -> Subj -> S -> Cl, -- she walks because we run
@@ -126,6 +138,8 @@ concrete ResourceDemoEng of ResourceDemo = LexiconEng, NumeralEng, GrammarEng [
-- functions with different type -- functions with different type
lin lin
PhrUtt u = mkPhr (lin Utt u) ;
TextS s = mkText (lin S s) ; TextS s = mkText (lin S s) ;
TextQS qs = mkText (lin QS qs) ; TextQS qs = mkText (lin QS qs) ;
TextImp vp = mkText (mkImp (lin VP vp)) ; TextImp vp = mkText (mkImp (lin VP vp)) ;
@@ -133,6 +147,9 @@ lin
ComplV2 v np = mkVP v np ; ComplV2 v np = mkVP v np ;
ModCN ap cn = lin CN (mkCN <lin AP ap : AP> <lin CN cn : CN>) ; ModCN ap cn = lin CN (mkCN <lin AP ap : AP> <lin CN cn : CN>) ;
CompAP ap = mkVP <(lin AP ap) : AP> ; CompAP ap = mkVP <(lin AP ap) : AP> ;
CompCN ap = mkVP <(lin CN ap) : CN> ;
CompNP ap = mkVP <(lin NP ap) : NP> ;
CompAdv ap = mkVP <(lin Adv ap) : Adv> ;
ConjS co x y = mkS (lin Conj co) (lin S x) (lin S y) ; ConjS co x y = mkS (lin Conj co) (lin S x) (lin S y) ;
ConjAP co x y = mkAP co x y ; ConjAP co x y = mkAP co x y ;
ConjNP co x y = mkNP co x y ; ConjNP co x y = mkNP co x y ;
@@ -147,7 +164,6 @@ lin
possDet p = S.mkDet <p : Pron> ; possDet p = S.mkDet <p : Pron> ;
numeralDet n = S.mkDet <n : Numeral> ; numeralDet n = S.mkDet <n : Numeral> ;
SubjS subj a b = mkS (S.mkAdv <subj : Subj> <a : S>) b ; SubjS subj a b = mkS (S.mkAdv <subj : Subj> <a : S>) b ;
CompAdv p pp = mkVP (S.mkAdv <p : Prep> <pp : NP>) ;
SlashV2 np v2 = mkClSlash np v2 ; SlashV2 np v2 = mkClSlash np v2 ;
SlashPrep cl p = mkClSlash (lin Cl cl) <p : Prep> ; SlashPrep cl p = mkClSlash (lin Cl cl) <p : Prep> ;
AdvCN cn p pp = mkCN <lin CN cn : CN> (mkAdv <p : Prep> <pp : NP>) ; AdvCN cn p pp = mkCN <lin CN cn : CN> (mkAdv <p : Prep> <pp : NP>) ;