diff options
Diffstat (limited to 'examples-3.0/tutorial/syntax/Syntax.gf')
| -rw-r--r-- | examples-3.0/tutorial/syntax/Syntax.gf | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/examples-3.0/tutorial/syntax/Syntax.gf b/examples-3.0/tutorial/syntax/Syntax.gf new file mode 100644 index 000000000..e5b27504d --- /dev/null +++ b/examples-3.0/tutorial/syntax/Syntax.gf @@ -0,0 +1,43 @@ +interface Syntax = open Prelude, Grammar in { + +oper + mkPhr = overload { + mkPhr : S -> Phr + = PhrS ; + mkPhr : QS -> Phr + = PhrQS ; + } ; + + mkS = overload { + mkS : Pol -> NP -> VP -> S + = \p,np,vp -> UseCl p (PredVP np vp) ; + mkS : NP -> VP -> S + = \np,vp -> UseCl PPos (PredVP np vp) ; + mkS : Pol -> NP -> V2 -> NP -> S + = \p,np,v,o -> UseCl p (PredVP np (ComplV2 v o)) ; + mkS : NP -> V2 -> NP -> S + = \np,v,o -> UseCl PPos (PredVP np (ComplV2 v o)) ; + mkS : Pol -> NP -> AP -> S + = \p,np,ap -> UseCl p (PredVP np (ComplAP ap)) ; + mkS : NP -> AP -> S + = \np,ap -> UseCl PPos (PredVP 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 ; + } ; + +} |
