diff --git a/examples/tutorial/syntax/FoodsEng.gf b/examples/tutorial/syntax/FoodsEng.gf new file mode 100644 index 000000000..fb8c44610 --- /dev/null +++ b/examples/tutorial/syntax/FoodsEng.gf @@ -0,0 +1,5 @@ +--# -path=.:../foods:prelude + +concrete FoodsEng of Foods = FoodsI with + (Syntax = SyntaxEng), + (Test = TestEng) ; diff --git a/examples/tutorial/syntax/FoodsI.gf b/examples/tutorial/syntax/FoodsI.gf new file mode 100644 index 000000000..d67302235 --- /dev/null +++ b/examples/tutorial/syntax/FoodsI.gf @@ -0,0 +1,26 @@ +incomplete concrete FoodsI of Foods = open Syntax, Test in { + lincat + Phrase = S ; + Item = NP ; + Kind = CN ; + Quality = AP ; + lin + Is = mkS ; + This = mkNP this_Det ; + That = mkNP that_Det ; + These = mkNP these_Det ; + Those = mkNP those_Det ; + QKind = mkCN ; + Very = mkAP very_AdA ; + + Wine = mkCN wine_N ; + Pizza = mkCN pizza_N ; + Cheese = mkCN cheese_N ; + Fish = mkCN fish_N ; + Fresh = mkAP fresh_A ; + Warm = mkAP warm_A ; + Italian = mkAP italian_A ; + Expensive = mkAP expensive_A ; + Delicious = mkAP delicious_A ; + Boring = mkAP boring_A ; +} diff --git a/examples/tutorial/syntax/FoodsIta.gf b/examples/tutorial/syntax/FoodsIta.gf new file mode 100644 index 000000000..57beab918 --- /dev/null +++ b/examples/tutorial/syntax/FoodsIta.gf @@ -0,0 +1,5 @@ +--# -path=.:../foods:prelude + +concrete FoodsIta of Foods = FoodsI with + (Syntax = SyntaxIta), + (Test = TestIta) ; diff --git a/examples/tutorial/syntax/Syntax.gf b/examples/tutorial/syntax/Syntax.gf index e75f7dd0c..3c7b0b7c0 100644 --- a/examples/tutorial/syntax/Syntax.gf +++ b/examples/tutorial/syntax/Syntax.gf @@ -23,4 +23,21 @@ oper = \np,ap -> PredVP PPos np (ComplAP ap) ; } ; + mkNP : Det -> CN -> NP + = DetCN ; + + mkCN = overload { + mkCN : AP -> CN -> CN + = ModCN ; + mkCN : N -> CN + = UseN ; + } ; + + mkAP = overload { + mkAP : AdA -> AP -> AP + = AdAP ; + mkAP : A -> AP + = UseA ; + } ; + } \ No newline at end of file