forked from GitHub/gf-core
141 lines
4.5 KiB
HTML
141 lines
4.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="generator" CONTENT="http://txt2tags.sf.net">
|
|
<TITLE> Combinators: a High-Level Syntax API</TITLE>
|
|
</HEAD><BODY BGCOLOR="white" TEXT="black">
|
|
<P ALIGN="center"><CENTER><H1> Combinators: a High-Level Syntax API</H1>
|
|
<FONT SIZE="4">
|
|
<I>Last update: 2007-05-31 11:49:38 CEST</I><BR>
|
|
</FONT></CENTER>
|
|
|
|
<P></P>
|
|
<HR NOSHADE SIZE=1>
|
|
<P></P>
|
|
<UL>
|
|
<LI><A HREF="#toc1">Predication</A>
|
|
<LI><A HREF="#toc2">Function application</A>
|
|
<LI><A HREF="#toc3">Coordination</A>
|
|
<LI><A HREF="#toc4">Modification</A>
|
|
<LI><A HREF="#toc5">Negation</A>
|
|
<LI><A HREF="#toc6">Text append</A>
|
|
</UL>
|
|
|
|
<P></P>
|
|
<HR NOSHADE SIZE=1>
|
|
<P></P>
|
|
<P>
|
|
Produced by
|
|
gfdoc - a rudimentary GF document generator.
|
|
(c) Aarne Ranta (<A HREF="mailto:aarne@cs.chalmers.se">aarne@cs.chalmers.se</A>) 2002 under GNU GPL.
|
|
</P>
|
|
<P>
|
|
This module defines some <I>grammatical functions</I> that give shortcuts to
|
|
typical constructions. <A HREF="Constructors.html"><CODE>Constructors</CODE></A> and the
|
|
language-specific <CODE>Paradigms</CODE> modules are usually needed
|
|
to construct arguments of these functions.
|
|
</P>
|
|
<PRE>
|
|
incomplete resource Combinators = open Grammar in {
|
|
|
|
oper
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc1"></A>
|
|
<H2>Predication</H2>
|
|
<PRE>
|
|
pred : overload {
|
|
pred : V -> NP -> Cl ; -- x converges
|
|
pred : V2 -> NP -> NP -> Cl ; -- x intersects y
|
|
pred : V3 -> NP -> NP -> NP -> Cl ; -- x intersects y at z
|
|
pred : V -> NP -> NP -> Cl ; -- x and y intersect
|
|
pred : A -> NP -> Cl ; -- x is even
|
|
pred : A2 -> NP -> NP -> Cl ; -- x is divisible by y
|
|
pred : A -> NP -> NP -> Cl ; -- x and y are equal
|
|
pred : N -> NP -> Cl ; -- x is a maximum
|
|
pred : CN -> NP -> Cl ; -- x is a local maximum
|
|
pred : NP -> NP -> Cl ; -- x is the neutral element
|
|
pred : N -> NP -> NP -> Cl ; -- x and y are inverses
|
|
pred : Adv -> NP -> Cl ; -- x is in scope
|
|
pred : Prep -> NP -> NP -> Cl -- x is outside y
|
|
} ;
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc2"></A>
|
|
<H2>Function application</H2>
|
|
<PRE>
|
|
app : overload {
|
|
app : N -> NP ;
|
|
app : N2 -> NP -> NP ;
|
|
app : N3 -> NP -> NP -> NP ;
|
|
app : N2 -> NP -> NP -> NP ;
|
|
app : N2 -> N -> CN
|
|
} ;
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc3"></A>
|
|
<H2>Coordination</H2>
|
|
<PRE>
|
|
coord : overload {
|
|
coord : Conj -> Adv -> Adv -> Adv ;
|
|
coord : Conj -> AP -> AP -> AP ;
|
|
coord : Conj -> NP -> NP -> NP ;
|
|
coord : Conj -> S -> S -> S ;
|
|
coord : DConj -> Adv -> Adv -> Adv ;
|
|
coord : DConj -> AP -> AP -> AP ;
|
|
coord : DConj -> NP -> NP -> NP ;
|
|
coord : DConj -> S -> S -> S ;
|
|
coord : Conj -> ListAdv -> Adv ;
|
|
coord : Conj -> ListAP -> AP ;
|
|
coord : Conj -> ListNP -> NP ;
|
|
coord : Conj -> ListS -> S ;
|
|
coord : DConj -> ListAdv -> Adv ;
|
|
coord : DConj -> ListAP -> AP ;
|
|
coord : DConj -> ListNP -> NP ;
|
|
coord : DConj -> ListS -> S
|
|
|
|
} ;
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc4"></A>
|
|
<H2>Modification</H2>
|
|
<PRE>
|
|
mod : overload {
|
|
mod : A -> N -> CN ;
|
|
mod : AP -> CN -> CN ;
|
|
mod : AdA -> A -> AP ;
|
|
mod : Det -> N -> NP ;
|
|
mod : Det -> CN -> NP ;
|
|
mod : Quant -> N -> NP ;
|
|
mod : Quant -> CN -> NP ;
|
|
mod : Predet -> N -> NP ;
|
|
mod : Numeral -> N -> NP
|
|
|
|
} ;
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc5"></A>
|
|
<H2>Negation</H2>
|
|
<PRE>
|
|
neg : overload {
|
|
neg : Imp -> Utt ;
|
|
neg : Cl -> S ;
|
|
neg : QCl -> QS ;
|
|
neg : RCl -> RS
|
|
};
|
|
</PRE>
|
|
<P></P>
|
|
<A NAME="toc6"></A>
|
|
<H2>Text append</H2>
|
|
<P>
|
|
This is not in ground API, because it would destroy parsing.
|
|
</P>
|
|
<PRE>
|
|
appendText : Text -> Text -> Text ;
|
|
</PRE>
|
|
<P></P>
|
|
|
|
<!-- html code generated by txt2tags 2.3 (http://txt2tags.sf.net) -->
|
|
<!-- cmdline: txt2tags -thtml -\-toc api/Combinators.txt -->
|
|
</BODY></HTML>
|