From e4119186fa03a12d8820bc3c03797ac33c71e258 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 20 Jun 2008 10:38:03 +0000 Subject: tutorial semantics example works except one rul --- examples-3.0/tutorial/semantics/BaseI.gf | 70 ++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 examples-3.0/tutorial/semantics/BaseI.gf (limited to 'examples-3.0/tutorial/semantics/BaseI.gf') diff --git a/examples-3.0/tutorial/semantics/BaseI.gf b/examples-3.0/tutorial/semantics/BaseI.gf new file mode 100644 index 000000000..d90431e2f --- /dev/null +++ b/examples-3.0/tutorial/semantics/BaseI.gf @@ -0,0 +1,70 @@ +incomplete concrete BaseI of Base = + open Syntax, (G = Grammar), Symbolic, LexBase in { + +flags lexer=literals ; unlexer=text ; + +lincat + Question = G.Phr ; + Answer = G.Phr ; + S = G.Cl ; + NP = G.NP ; + PN = G.NP ; + CN = G.CN ; + AP = G.AP ; + A2 = G.A2 ; + Conj = G.Conj ; + ListPN = G.ListNP ; + +lin + PredAP = mkCl ; + + ComplA2 = mkAP ; + + ModCN = mkCN ; + + ConjAP = mkAP ; + ConjNP = mkNP ; + + UsePN p = p ; + Every = mkNP every_Det ; + Some = mkNP someSg_Det ; + + And = and_Conj ; + Or = or_Conj ; + + UseInt i = symb (i ** {lock_Int = <>}) ; ---- terrible to need this + + Number = mkCN number_N ; + + Even = mkAP even_A ; + Odd = mkAP odd_A ; + Prime = mkAP prime_A ; + Equal = equal_A2 ; + Greater = greater_A2 ; + Smaller = smaller_A2 ; + Divisible = divisible_A2 ; + + Sum = prefix sum_N2 ; + Product = prefix product_N2 ; + GCD nps = mkNP (mkDet DefArt (mkOrd great_A)) + (mkCN common_A (mkCN divisor_N2 (mkNP and_Conj nps))) ; + + WhatIs np = mkPhr (mkQS (mkQCl whatSg_IP (mkVP np))) ; +-- WhichAre cn ap = mkPhr (mkQS (mkQCl (mkIP (mkIDet which_IQuant plNum) cn) (mkVP ap))) ; + QuestS s = mkPhr (mkQS (mkQCl s)) ; + + Yes = mkPhr yes_Utt ; + No = mkPhr no_Utt ; + + Value np = mkPhr (mkUtt np) ; + Many list = mkNP and_Conj list ; + None = none_NP ; + + BasePN = G.BaseNP ; + ConsPN = G.ConsNP ; + +oper + prefix : G.N2 -> G.ListNP -> G.NP = \n2,nps -> + mkNP DefArt (mkCN n2 (mkNP and_Conj nps)) ; + +} -- cgit v1.2.3