summaryrefslogtreecommitdiff
path: root/examples/tutorial/semantics/BaseI.gf
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-10-20 11:34:52 +0000
committeraarne <aarne@cs.chalmers.se>2007-10-20 11:34:52 +0000
commit484c4ef336617fc1e817ef168757d9f4d1abdcdb (patch)
tree6a880894a98d84461b6e505f5db5a7a22e4fe980 /examples/tutorial/semantics/BaseI.gf
parent192f55e2f579d5f736f442287cc237da353a6991 (diff)
started resource implementation of query language
Diffstat (limited to 'examples/tutorial/semantics/BaseI.gf')
-rw-r--r--examples/tutorial/semantics/BaseI.gf66
1 files changed, 66 insertions, 0 deletions
diff --git a/examples/tutorial/semantics/BaseI.gf b/examples/tutorial/semantics/BaseI.gf
new file mode 100644
index 000000000..23b4fbcb8
--- /dev/null
+++ b/examples/tutorial/semantics/BaseI.gf
@@ -0,0 +1,66 @@
+--# -path=.:prelude:present
+
+concrete BaseEng of Base = open Syntax, (G = Grammar), Symbolic, LexBase in {
+
+flags lexer=literals ; unlexer=text ;
+
+lincat
+ Question = Phr ;
+ Answer = Phr ;
+ S = Cl ;
+ NP = NP ;
+ PN = NP ;
+ CN = CN ;
+ AP = AP ;
+ A2 = A2 ;
+ Conj = Conj ;
+ ListPN = ListNP ;
+lin
+ PredAP = mkCl ;
+
+ ComplA2 = mkAP ;
+
+ ModCN = mkCN ;
+
+--- ConjS = mkS ;
+ ConjAP = mkAP ;
+ ConjNP = mkNP ;
+
+ UsePN p = p ;
+ Every = mkNP every_Det ;
+ Some = mkNP someSg_Det ;
+--- None = mkNP noSg_Det ; ---
+
+ And = and_Conj ;
+ Or = or_Conj ;
+
+ UseInt = symb ;
+
+ Number = mkCN number_N ;
+
+ Even = mkAP even_A ;
+ Odd = mkAP odd_A ;
+ Prime = mkAP prime_A ;
+ Equal = mkA2 equal_A2 ;
+ Greater = mkA2 greater_A2 ;
+ Smaller = mkA2 smaller_A2 ;
+ Divisible = mkA2 divisible_A2 ;
+
+ Sum pns = mkNP defSgDet (mkCN sum_N2 (mkNP and_Conj pns)) ;
+--- Product = prefixSS ["the product of"] ;
+--- GCD = prefixSS ["the greatest common divisor of"] ;
+
+--- WhatIs = prefixSS ["what is"] ;
+--- WhichAre cn ap = ss ("which" ++ cn.s ++ "is" ++ ap.s) ; ---- are
+ QuestS s = mkPhr (mkQCl s) ;
+
+ Yes = yes_Phr ;
+ No = no_Phr ;
+
+ Value np = mkPhr (mkUtt np) ;
+ Many list = list ;
+
+ BasePN = G.BaseNP ;
+ ConsPN = G.ConsNP ;
+
+}