mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-24 03:52:50 -06:00
added api/Combinators for Eng
This commit is contained in:
25
download/gfc
Normal file
25
download/gfc
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
prefix="/usr/local"
|
||||||
|
|
||||||
|
case "i386-apple-darwin9.3.0" in
|
||||||
|
*-cygwin)
|
||||||
|
prefix=`cygpath -w "$prefix"`;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exec_prefix="${prefix}"
|
||||||
|
GF_BIN_DIR="${exec_prefix}/bin"
|
||||||
|
GF_DATA_DIR="${prefix}/share/GF-3.0-beta"
|
||||||
|
|
||||||
|
GFBIN="$GF_BIN_DIR/gf"
|
||||||
|
|
||||||
|
if [ ! -x "${GFBIN}" ]; then
|
||||||
|
GFBIN=`which gf`
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -x "${GFBIN}" ]; then
|
||||||
|
echo "gf not found."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec $GFBIN --batch "$@"
|
||||||
@@ -13,27 +13,46 @@
|
|||||||
<A HREF="../doc/darcs.html">GF darcs repository</A>
|
<A HREF="../doc/darcs.html">GF darcs repository</A>
|
||||||
</P>
|
</P>
|
||||||
<H2>Latest release</H2>
|
<H2>Latest release</H2>
|
||||||
<P>
|
<UL>
|
||||||
<A HREF="gf-3.0beta-linux.gz">GF 3.0 beta Linux binary</A> (Intel, Ubuntu)
|
<LI><A HREF="gf-3.0beta-linux.gz">GF 3.0 beta Linux binary</A> (Intel, Ubuntu)
|
||||||
</P>
|
<P></P>
|
||||||
<P>
|
<LI><A HREF="gf-3.0beta-mac.gz">GF 3.0 beta MacOS X binary</A> (Intel Mac with Leopard)
|
||||||
<A HREF="gf-3.0beta-mac.gz">GF 3.0 beta MacOS X binary</A> (Intel Mac with Leopard)
|
<P></P>
|
||||||
</P>
|
<LI><A HREF="gf-3.0beta-mac.exe">GF 3.0 beta Windows binary</A>
|
||||||
<P>
|
<P></P>
|
||||||
<A HREF="gf-3.0beta-mac.exe">GF 3.0 beta Windows binary</A>
|
<LI><A HREF="gf-3.0beta.tgz">GF 3.0 beta sources</A>
|
||||||
</P>
|
<P></P>
|
||||||
<P>
|
<LI><A HREF="gf-lib-1.4.tgz">GF libraries v 1.4</A> (compiled resource grammar libraries)
|
||||||
<A HREF="gf-3.0beta.tgz">GF 3.0 beta sources</A>
|
</UL>
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
<A HREF="gf-lib-1.4.tgz">GF libraries v 1.4</A> (compiled resource grammar libraries)
|
|
||||||
</P>
|
|
||||||
<H2>Old releases</H2>
|
<H2>Old releases</H2>
|
||||||
<P>
|
<UL>
|
||||||
<A HREF="../../GF2/download/index.html">GF 2.9 download page</A>
|
<LI><A HREF="../../GF2/download/index.html">GF 2.9 download page</A>
|
||||||
</P>
|
</UL>
|
||||||
|
|
||||||
<H2>Installation instructions</H2>
|
<H2>Installation instructions</H2>
|
||||||
<P>
|
<P>
|
||||||
|
To install a binary, just uncompress it and copy to a place that is on your path,
|
||||||
|
for instance, in <CODE>/usr/local/bin</CODE>.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
If you want to use GF as a batch compiler, put the following script in the
|
||||||
|
same place as the GF binary. If it is <I>not</I> <CODE>/usr/local/bin</CODE>, change
|
||||||
|
the <CODE>prefix</CODE> variable in the script.
|
||||||
|
</P>
|
||||||
|
<UL>
|
||||||
|
<LI><A HREF="./gfc">gfc script for patch compiler</A>
|
||||||
|
</UL>
|
||||||
|
|
||||||
|
<P>
|
||||||
|
The Mac OS X binary (Intel) requires Readline from
|
||||||
|
<A HREF="http://www.macports.org/">Mac Ports</A>. To install, see above item.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
|
The Windows binary is easiest if you have
|
||||||
|
<A HREF="http://www.cygwin.com/">Cygwin</A>. To install, see above item.
|
||||||
|
</P>
|
||||||
|
<P>
|
||||||
To compile and install from source:
|
To compile and install from source:
|
||||||
</P>
|
</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
@@ -45,27 +64,20 @@ To compile and install from source:
|
|||||||
make install
|
make install
|
||||||
</PRE>
|
</PRE>
|
||||||
<P>
|
<P>
|
||||||
To install a binary,
|
To install the libraries, unpack them in the place to which your
|
||||||
|
<CODE>GF_LIB_PATH</CODE> points.
|
||||||
</P>
|
</P>
|
||||||
<PRE>
|
<PRE>
|
||||||
tar xvfz BINARY-PACKAGE.tgz
|
cd $GF_LIB_PATH
|
||||||
cd GF-...
|
gtar xvfz gf-lib-1.4.tgz
|
||||||
./configure
|
|
||||||
make install
|
|
||||||
</PRE>
|
</PRE>
|
||||||
<P>
|
<P>
|
||||||
You may need <CODE>sudo make install</CODE>.
|
If this variable hasn't been defined, it is useful define it, e.g.
|
||||||
If you cannot write in <CODE>/usr/local/</CODE>, you can change the target directory
|
|
||||||
by <CODE>./configure --prefix=MYDIR</CODE>.
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
The Mac OS X binary (Intel) requires Readline from
|
|
||||||
<A HREF="http://www.macports.org/">Mac Ports</A>. To install, see above item.
|
|
||||||
</P>
|
|
||||||
<P>
|
|
||||||
The Windows binary is easiest if you have
|
|
||||||
<A HREF="http://www.cygwin.com/">Cygwin</A>. To install, see above item.
|
|
||||||
</P>
|
</P>
|
||||||
|
<PRE>
|
||||||
|
export GF_LIB_PATH=/usr/local/lib/gf/
|
||||||
|
</PRE>
|
||||||
|
<P></P>
|
||||||
|
|
||||||
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
|
<!-- html code generated by txt2tags 2.4 (http://txt2tags.sf.net) -->
|
||||||
<!-- cmdline: txt2tags -thtml download/index.txt -->
|
<!-- cmdline: txt2tags -thtml download/index.txt -->
|
||||||
|
|||||||
@@ -7,24 +7,40 @@ Grammatical Framework Download and Installation
|
|||||||
|
|
||||||
==Latest release==
|
==Latest release==
|
||||||
|
|
||||||
[GF 3.0 beta Linux binary gf-3.0beta-linux.gz] (Intel, Ubuntu)
|
- [GF 3.0 beta Linux binary gf-3.0beta-linux.gz] (Intel, Ubuntu)
|
||||||
|
|
||||||
[GF 3.0 beta MacOS X binary gf-3.0beta-mac.gz] (Intel Mac with Leopard)
|
- [GF 3.0 beta MacOS X binary gf-3.0beta-mac.gz] (Intel Mac with Leopard)
|
||||||
|
|
||||||
[GF 3.0 beta Windows binary gf-3.0beta-mac.exe]
|
- [GF 3.0 beta Windows binary gf-3.0beta-mac.exe]
|
||||||
|
|
||||||
[GF 3.0 beta sources gf-3.0beta.tgz]
|
- [GF 3.0 beta sources gf-3.0beta.tgz]
|
||||||
|
|
||||||
[GF libraries v 1.4 gf-lib-1.4.tgz] (compiled resource grammar libraries)
|
- [GF libraries v 1.4 gf-lib-1.4.tgz] (compiled resource grammar libraries)
|
||||||
|
|
||||||
|
|
||||||
==Old releases==
|
==Old releases==
|
||||||
|
|
||||||
[GF 2.9 download page ../../GF2/download/index.html]
|
- [GF 2.9 download page ../../GF2/download/index.html]
|
||||||
|
|
||||||
|
|
||||||
==Installation instructions==
|
==Installation instructions==
|
||||||
|
|
||||||
|
To install a binary, just uncompress it and copy to a place that is on your path,
|
||||||
|
for instance, in ``/usr/local/bin``.
|
||||||
|
|
||||||
|
If you want to use GF as a batch compiler, put the following script in the
|
||||||
|
same place as the GF binary. If it is //not// ``/usr/local/bin``, change
|
||||||
|
the ``prefix`` variable in the script.
|
||||||
|
|
||||||
|
- [gfc script for patch compiler ./gfc]
|
||||||
|
|
||||||
|
|
||||||
|
The Mac OS X binary (Intel) requires Readline from
|
||||||
|
[Mac Ports http://www.macports.org/]. To install, see above item.
|
||||||
|
|
||||||
|
The Windows binary is easiest if you have
|
||||||
|
[Cygwin http://www.cygwin.com/]. To install, see above item.
|
||||||
|
|
||||||
To compile and install from source:
|
To compile and install from source:
|
||||||
```
|
```
|
||||||
tar xvfz gf-3.0beta.tgz
|
tar xvfz gf-3.0beta.tgz
|
||||||
@@ -34,20 +50,15 @@ To compile and install from source:
|
|||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
```
|
```
|
||||||
To install a binary,
|
To install the libraries, unpack them in the place to which your
|
||||||
|
``GF_LIB_PATH`` points.
|
||||||
```
|
```
|
||||||
tar xvfz BINARY-PACKAGE.tgz
|
cd $GF_LIB_PATH
|
||||||
cd GF-...
|
gtar xvfz gf-lib-1.4.tgz
|
||||||
./configure
|
```
|
||||||
make install
|
If this variable hasn't been defined, it is useful define it, e.g.
|
||||||
|
```
|
||||||
|
export GF_LIB_PATH=/usr/local/lib/gf/
|
||||||
```
|
```
|
||||||
You may need ``sudo make install``.
|
|
||||||
If you cannot write in ``/usr/local/``, you can change the target directory
|
|
||||||
by ``./configure --prefix=MYDIR``.
|
|
||||||
|
|
||||||
The Mac OS X binary (Intel) requires Readline from
|
|
||||||
[Mac Ports http://www.macports.org/]. To install, see above item.
|
|
||||||
|
|
||||||
The Windows binary is easiest if you have
|
|
||||||
[Cygwin http://www.cygwin.com/]. To install, see above item.
|
|
||||||
|
|
||||||
|
|||||||
190
lib/resource/api/Combinators.gf
Normal file
190
lib/resource/api/Combinators.gf
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
--1 Combinators: a High-Level Syntax API
|
||||||
|
|
||||||
|
-- This module defines some "grammatical functions" that give shortcuts to
|
||||||
|
-- typical constructions. [``Constructors`` Constructors.html] and the
|
||||||
|
-- language-specific ``Paradigms`` modules are usually needed
|
||||||
|
-- to construct arguments of these functions.
|
||||||
|
|
||||||
|
incomplete resource Combinators = open Grammar in {
|
||||||
|
|
||||||
|
oper
|
||||||
|
|
||||||
|
--2 Predication
|
||||||
|
|
||||||
|
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
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--2 Function application
|
||||||
|
|
||||||
|
app : overload {
|
||||||
|
app : N -> NP ;
|
||||||
|
app : N2 -> NP -> NP ;
|
||||||
|
app : N3 -> NP -> NP -> NP ;
|
||||||
|
app : N2 -> NP -> NP -> NP ;
|
||||||
|
app : N2 -> N -> CN
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--2 Coordination
|
||||||
|
|
||||||
|
coord : overload {
|
||||||
|
coord : Conj -> Adv -> Adv -> Adv ;
|
||||||
|
coord : Conj -> AP -> AP -> AP ;
|
||||||
|
coord : Conj -> NP -> NP -> NP ;
|
||||||
|
coord : Conj -> S -> S -> S ;
|
||||||
|
coord : Conj -> ListAdv -> Adv ;
|
||||||
|
coord : Conj -> ListAP -> AP ;
|
||||||
|
coord : Conj -> ListNP -> NP ;
|
||||||
|
coord : Conj -> ListS -> S ;
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--2 Modification
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
--2 Negation
|
||||||
|
|
||||||
|
neg : overload {
|
||||||
|
neg : Imp -> Utt ;
|
||||||
|
neg : Cl -> S ;
|
||||||
|
neg : QCl -> QS ;
|
||||||
|
neg : RCl -> RS
|
||||||
|
};
|
||||||
|
|
||||||
|
--2 Text append
|
||||||
|
|
||||||
|
-- This is not in ground API, because it would destroy parsing.
|
||||||
|
|
||||||
|
appendText : Text -> Text -> Text ;
|
||||||
|
|
||||||
|
--.
|
||||||
|
|
||||||
|
pred = overload {
|
||||||
|
pred : V -> NP -> Cl
|
||||||
|
= \v,np -> PredVP np (UseV v) ;
|
||||||
|
pred : V2 -> NP -> NP -> Cl
|
||||||
|
= \v,np,ob -> PredVP np (ComplSlash (SlashV2a v) ob) ;
|
||||||
|
pred : V3 -> NP -> NP -> NP -> Cl
|
||||||
|
= \v,np,ob,ob2 ->
|
||||||
|
PredVP np (ComplSlash (Slash2V3 v ob) ob2) ;
|
||||||
|
pred : V -> NP -> NP -> Cl
|
||||||
|
= \v,x,y -> PredVP (ConjNP and_Conj (BaseNP x y)) (UseV v) ;
|
||||||
|
pred : A -> NP -> Cl
|
||||||
|
= \a,np -> PredVP np (UseComp (CompAP (PositA a))) ;
|
||||||
|
pred : A2 -> NP -> NP -> Cl
|
||||||
|
= \a,x,y -> PredVP x (UseComp (CompAP (ComplA2 a y))) ;
|
||||||
|
pred : A -> NP -> NP -> Cl
|
||||||
|
= \a,x,y -> PredVP (ConjNP and_Conj (BaseNP x y)) (UseComp (CompAP (PositA a))) ;
|
||||||
|
pred : N -> NP -> Cl
|
||||||
|
= \n,x -> PredVP x (UseComp (CompNP (DetArtSg (IndefArt) (UseN n)))) ;
|
||||||
|
pred : CN -> NP -> Cl
|
||||||
|
= \n,x -> PredVP x (UseComp (CompNP (DetArtSg (IndefArt) n))) ;
|
||||||
|
pred : NP -> NP -> Cl
|
||||||
|
= \n,x -> PredVP x (UseComp (CompNP n)) ; pred : N2 -> NP -> NP -> Cl
|
||||||
|
= \n,x,y -> PredVP x (UseComp (CompNP (DetArtSg (IndefArt) (ComplN2 n y)))) ;
|
||||||
|
pred : N -> NP -> NP -> Cl
|
||||||
|
= \n,x,y -> PredVP (ConjNP and_Conj (BaseNP x y)) (UseComp (CompNP (DetArtPl (IndefArt) (UseN n)))) ;
|
||||||
|
pred : Adv -> NP -> Cl
|
||||||
|
= \a,x -> PredVP x (UseComp (CompAdv a)) ;
|
||||||
|
pred : Prep -> NP -> NP -> Cl
|
||||||
|
= \p,x,y -> PredVP x (UseComp (CompAdv (PrepNP p y)))
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
app = overload {
|
||||||
|
app : N -> NP
|
||||||
|
= \n -> (DetArtSg (DefArt) (UseN n)) ;
|
||||||
|
app : N2 -> NP -> NP
|
||||||
|
= \n,x -> (DetArtSg (DefArt) (ComplN2 n x)) ;
|
||||||
|
app : N3 -> NP -> NP -> NP
|
||||||
|
= \n,x,y -> (DetArtSg (DefArt) (ComplN2 (ComplN3 n x) y)) ;
|
||||||
|
app : N2 -> NP -> NP -> NP
|
||||||
|
= \n,x,y -> (DetArtSg DefArt (ComplN2 n (ConjNP and_Conj (BaseNP x y)))) ;
|
||||||
|
app : N2 -> N -> CN
|
||||||
|
= \f,n -> ComplN2 f (DetArtPl (IndefArt) (UseN n))
|
||||||
|
} ;
|
||||||
|
|
||||||
|
coord = overload {
|
||||||
|
coord : Conj -> Adv -> Adv -> Adv
|
||||||
|
= \c,x,y -> ConjAdv c (BaseAdv x y) ;
|
||||||
|
coord : Conj -> AP -> AP -> AP
|
||||||
|
= \c,x,y -> ConjAP c (BaseAP x y) ;
|
||||||
|
coord : Conj -> NP -> NP -> NP
|
||||||
|
= \c,x,y -> ConjNP c (BaseNP x y) ;
|
||||||
|
coord : Conj -> S -> S -> S
|
||||||
|
= \c,x,y -> ConjS c (BaseS x y) ;
|
||||||
|
coord : Conj -> ListAdv -> Adv
|
||||||
|
= \c,xy -> ConjAdv c xy ;
|
||||||
|
coord : Conj -> ListAP -> AP
|
||||||
|
= \c,xy -> ConjAP c xy ;
|
||||||
|
coord : Conj -> ListNP -> NP
|
||||||
|
= \c,xy -> ConjNP c xy ;
|
||||||
|
coord : Conj -> ListS -> S
|
||||||
|
= \c,xy -> ConjS c xy
|
||||||
|
} ;
|
||||||
|
|
||||||
|
mod = overload {
|
||||||
|
mod : A -> N -> CN
|
||||||
|
= \a,n -> AdjCN (PositA a) (UseN n) ;
|
||||||
|
mod : AP -> CN -> CN
|
||||||
|
= \a,n -> AdjCN a n ;
|
||||||
|
mod : AdA -> A -> AP
|
||||||
|
= \m,a -> AdAP m (PositA a) ;
|
||||||
|
|
||||||
|
mod : Det -> N -> NP
|
||||||
|
= \d,n -> DetCN d (UseN n) ;
|
||||||
|
mod : Det -> CN -> NP
|
||||||
|
= \d,n -> DetCN d n ;
|
||||||
|
mod : Quant -> N -> NP
|
||||||
|
= \q,n -> DetCN (DetQuant (q) NumSg) (UseN n) ;
|
||||||
|
mod : Quant -> CN -> NP
|
||||||
|
= \q,n -> DetCN (DetQuant (q) NumSg) n ;
|
||||||
|
mod : Predet -> N -> NP
|
||||||
|
= \q,n -> PredetNP q (DetArtPl (IndefArt) (UseN n)) ;
|
||||||
|
mod : Numeral -> N -> NP
|
||||||
|
= \nu,n -> DetCN (DetArtCard (IndefArt) (NumNumeral nu)) (UseN n)
|
||||||
|
|
||||||
|
} ;
|
||||||
|
|
||||||
|
neg = overload {
|
||||||
|
neg : Imp -> Utt
|
||||||
|
= UttImpSg PNeg ;
|
||||||
|
neg : Cl -> S
|
||||||
|
= UseCl TPres ASimul PNeg;
|
||||||
|
neg : QCl -> QS
|
||||||
|
= UseQCl TPres ASimul PNeg;
|
||||||
|
neg : RCl -> RS
|
||||||
|
= UseRCl TPres ASimul PNeg
|
||||||
|
};
|
||||||
|
|
||||||
|
-- This is not in ground API, because it would destroy parsing.
|
||||||
|
|
||||||
|
appendText : Text -> Text -> Text
|
||||||
|
= \x,y -> {s = x.s ++ y.s ; lock_Text = <>} ;
|
||||||
|
|
||||||
|
}
|
||||||
3
lib/resource/api/CombinatorsEng.gf
Normal file
3
lib/resource/api/CombinatorsEng.gf
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
--# -path=.:alltenses:prelude
|
||||||
|
|
||||||
|
resource CombinatorsEng = Combinators with (Grammar = GrammarEng) ;
|
||||||
@@ -5,6 +5,8 @@
|
|||||||
|
|
||||||
resource BeschCat = open Prelude, CommonRomance in {
|
resource BeschCat = open Prelude, CommonRomance in {
|
||||||
|
|
||||||
|
flags coding=utf8 ;
|
||||||
|
|
||||||
--flags optimize=noexpand ; -- faster than values
|
--flags optimize=noexpand ; -- faster than values
|
||||||
--
|
--
|
||||||
oper Verbum = {s : VFB => Str} ;
|
oper Verbum = {s : VFB => Str} ;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
||||||
|
|
||||||
flags optimize=noexpand ;
|
flags optimize=noexpand ; coding=utf8 ;
|
||||||
-- flags optimize=all ;
|
-- flags optimize=all ;
|
||||||
|
|
||||||
param
|
param
|
||||||
@@ -16,7 +16,7 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
|||||||
prepCase : Case -> Str = \c -> case c of {
|
prepCase : Case -> Str = \c -> case c of {
|
||||||
Nom => [] ;
|
Nom => [] ;
|
||||||
Acc => [] ;
|
Acc => [] ;
|
||||||
CPrep P_a => "à" ;
|
CPrep P_a => "à" ;
|
||||||
CPrep P_de => elisDe ;
|
CPrep P_de => elisDe ;
|
||||||
CPrep PNul => []
|
CPrep PNul => []
|
||||||
} ;
|
} ;
|
||||||
@@ -24,7 +24,7 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
|||||||
artDef : Gender -> Number -> Case -> Str = \g,n,c ->
|
artDef : Gender -> Number -> Case -> Str = \g,n,c ->
|
||||||
case <g,n,c> of {
|
case <g,n,c> of {
|
||||||
<Masc,Sg, CPrep P_de> => pre {"du" ; ["de l'"] / voyelle} ;
|
<Masc,Sg, CPrep P_de> => pre {"du" ; ["de l'"] / voyelle} ;
|
||||||
<Masc,Sg, CPrep P_a> => pre {"au" ; ["à l'"] / voyelle} ;
|
<Masc,Sg, CPrep P_a> => pre {"au" ; ["à l'"] / voyelle} ;
|
||||||
<Masc,Sg, _> => elisLe ;
|
<Masc,Sg, _> => elisLe ;
|
||||||
<Fem, Sg, _> => prepCase c ++ elisLa ;
|
<Fem, Sg, _> => prepCase c ++ elisLa ;
|
||||||
<_, Pl, CPrep P_de> => "des" ;
|
<_, Pl, CPrep P_de> => "des" ;
|
||||||
@@ -205,8 +205,8 @@ instance DiffFre of DiffRomance = open CommonRomance, PhonoFre, Prelude in {
|
|||||||
|
|
||||||
auxPassive : Verb = copula ;
|
auxPassive : Verb = copula ;
|
||||||
|
|
||||||
copula : Verb = {s = table VF ["être";"être";"suis";"es";"est";"sommes";"êtes";"sont";"sois";"sois";"soit";"soyons";"soyez";"soient";"étais";"étais";"était";"étions";"étiez";"étaient";"fusse";"fusses";"fût";"fussions";"fussiez";"fussent";"fus";"fus";"fut";"fûmes";"fûtes";"furent";"serai";"seras";"sera";"serons";"serez";"seront";"serais";"serais";"serait";"serions";"seriez";"seraient";"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VHabere} ;
|
copula : Verb = {s = table VF ["être";"être";"suis";"es";"est";"sommes";"êtes";"sont";"sois";"sois";"soit";"soyons";"soyez";"soient";"étais";"étais";"était";"étions";"étiez";"étaient";"fusse";"fusses";"fût";"fussions";"fussiez";"fussent";"fus";"fus";"fut";"fûmes";"fûtes";"furent";"serai";"seras";"sera";"serons";"serez";"seront";"serais";"serais";"serait";"serions";"seriez";"seraient";"sois";"soyons";"soyez";"été";"étés";"étée";"étées";"étant"]; vtyp=VHabere} ;
|
||||||
|
|
||||||
avoir_V : Verb = {s=table VF ["avoir";"avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait";"ayons";"ayez";"aient";"avais";"avais";"avait";"avions";"aviez";"avaient";"eusse";"eusses";"eût";"eussions";"eussiez";"eussent";"eus";"eus";"eut";"eûmes";"eûtes";"eurent";"aurai";"auras";"aura";"aurons";"aurez";"auront";"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VHabere};
|
avoir_V : Verb = {s=table VF ["avoir";"avoir";"ai";"as";"a";"avons";"avez";"ont";"aie";"aies";"ait";"ayons";"ayez";"aient";"avais";"avais";"avait";"avions";"aviez";"avaient";"eusse";"eusses";"eût";"eussions";"eussiez";"eussent";"eus";"eus";"eut";"eûmes";"eûtes";"eurent";"aurai";"auras";"aura";"aurons";"aurez";"auront";"aurais";"aurais";"aurait";"aurions";"auriez";"auraient";"aie";"ayons";"ayez";"eu";"eus";"eue";"eues";"ayant"];vtyp=VHabere};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ concrete LexiconFre of Lexicon = CatFre **
|
|||||||
open (M = MorphoFre), ParadigmsFre, IrregFre in {
|
open (M = MorphoFre), ParadigmsFre, IrregFre in {
|
||||||
|
|
||||||
flags
|
flags
|
||||||
optimize=values ;
|
optimize=values ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
airplane_N = regGenN "avion" masculine ;
|
airplane_N = regGenN "avion" masculine ;
|
||||||
|
|||||||
@@ -1,10 +1,12 @@
|
|||||||
resource PhonoFre = open Prelude in {
|
resource PhonoFre = open Prelude in {
|
||||||
|
|
||||||
|
flags coding=utf8 ;
|
||||||
|
|
||||||
oper
|
oper
|
||||||
voyelle : Strs = strs {
|
voyelle : Strs = strs {
|
||||||
"a" ; "à" ; "â" ; "e" ; "é" ; "è" ; "ê¨" ;
|
"a" ; "à" ; "â" ; "e" ; "é" ; "è" ; "ê¨" ;
|
||||||
"h" ;
|
"h" ;
|
||||||
"i" ; "î" ; "o" ; "ô" ; "u" ; "û" ; "y"
|
"i" ; "î" ; "o" ; "ô" ; "u" ; "û" ; "y"
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
elision : Str -> Str = \d -> d + pre {"e" ; "'" / voyelle} ;
|
elision : Str -> Str = \d -> d + pre {"e" ; "'" / voyelle} ;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
concrete StructuralFre of Structural = CatFre **
|
concrete StructuralFre of Structural = CatFre **
|
||||||
open PhonoFre, MorphoFre, ParadigmsFre, IrregFre, Prelude in {
|
open PhonoFre, MorphoFre, ParadigmsFre, IrregFre, Prelude in {
|
||||||
|
|
||||||
flags optimize=all ;
|
flags optimize=all ; coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@ concrete LexiconIta of Lexicon = CatIta ** open
|
|||||||
MorphoIta, ParadigmsIta, BeschIta in {
|
MorphoIta, ParadigmsIta, BeschIta in {
|
||||||
|
|
||||||
flags
|
flags
|
||||||
optimize=values ;
|
optimize=values ; coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
airplane_N = regN "aereo" ;
|
airplane_N = regN "aereo" ;
|
||||||
@@ -24,7 +24,7 @@ lin
|
|||||||
bike_N = regN "bicicletta" ;
|
bike_N = regN "bicicletta" ;
|
||||||
bird_N = regN "uccello" ;
|
bird_N = regN "uccello" ;
|
||||||
black_A = regADeg "nero" ;
|
black_A = regADeg "nero" ;
|
||||||
blue_A = mkA "blù" "blù" "blù" "blù" "blumente" ;
|
blue_A = mkA "blù" "blù" "blù" "blù" "blumente" ;
|
||||||
boat_N = regN "batello" ;
|
boat_N = regN "batello" ;
|
||||||
book_N = regN "libro" ;
|
book_N = regN "libro" ;
|
||||||
boot_N = regN "stivale" ;
|
boot_N = regN "stivale" ;
|
||||||
@@ -47,7 +47,7 @@ lin
|
|||||||
cheese_N = regN "formaggio" ;
|
cheese_N = regN "formaggio" ;
|
||||||
child_N = regN "bambino" ;
|
child_N = regN "bambino" ;
|
||||||
church_N = regN "chiesa" ;
|
church_N = regN "chiesa" ;
|
||||||
city_N = regN "città" ;
|
city_N = regN "città" ;
|
||||||
clean_A = regADeg "proprio" ;
|
clean_A = regADeg "proprio" ;
|
||||||
clever_A = regADeg "saggio" ;
|
clever_A = regADeg "saggio" ;
|
||||||
close_V2 = dirV2 (verboV (chiudere_30 "chiudere")) ;
|
close_V2 = dirV2 (verboV (chiudere_30 "chiudere")) ;
|
||||||
@@ -102,7 +102,7 @@ lin
|
|||||||
industry_N = regN "industria" ;
|
industry_N = regN "industria" ;
|
||||||
iron_N = regN "ferro" ;
|
iron_N = regN "ferro" ;
|
||||||
john_PN = mkPN "Giovanni" masculine ;
|
john_PN = mkPN "Giovanni" masculine ;
|
||||||
king_N = regN "ré" ;
|
king_N = regN "ré" ;
|
||||||
know_V2 = dirV2 (verboV (conoscere_37 "conoscere")) ; --- savoir_V2 : VS
|
know_V2 = dirV2 (verboV (conoscere_37 "conoscere")) ; --- savoir_V2 : VS
|
||||||
lake_N = regN "lago" ;
|
lake_N = regN "lago" ;
|
||||||
lamp_N = regN "lampa" ;
|
lamp_N = regN "lampa" ;
|
||||||
@@ -197,7 +197,7 @@ lin
|
|||||||
--- trousers_N = regN "pantalon" ;
|
--- trousers_N = regN "pantalon" ;
|
||||||
ugly_A = regADeg "brutto" ;
|
ugly_A = regADeg "brutto" ;
|
||||||
understand_V2 = dirV2 (regV "capire") ;
|
understand_V2 = dirV2 (regV "capire") ;
|
||||||
university_N = regN "università" ;
|
university_N = regN "università" ;
|
||||||
village_N = regN "paese" ;
|
village_N = regN "paese" ;
|
||||||
wait_V2 = mkV2 (regV "aspettare") ParadigmsIta.dative ;
|
wait_V2 = mkV2 (regV "aspettare") ParadigmsIta.dative ;
|
||||||
walk_V = regV "camminare" ;
|
walk_V = regV "camminare" ;
|
||||||
@@ -218,7 +218,7 @@ lin
|
|||||||
|
|
||||||
do_V2 = dirV2 (verboV (fare_52 "fare")) ;
|
do_V2 = dirV2 (verboV (fare_52 "fare")) ;
|
||||||
now_Adv = mkAdv "adesso" ;
|
now_Adv = mkAdv "adesso" ;
|
||||||
already_Adv = mkAdv "già" ;
|
already_Adv = mkAdv "già" ;
|
||||||
song_N = femN (regN "canzone") ;
|
song_N = femN (regN "canzone") ;
|
||||||
add_V3 = dirV3 (verboV (giungere_55 "aggiungere")) ParadigmsIta.dative ;
|
add_V3 = dirV3 (verboV (giungere_55 "aggiungere")) ParadigmsIta.dative ;
|
||||||
number_N = regN "numero" ;
|
number_N = regN "numero" ;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
concrete StructuralIta of Structural = CatIta **
|
concrete StructuralIta of Structural = CatIta **
|
||||||
open PhonoIta, MorphoIta, ParadigmsIta, BeschIta, Prelude in {
|
open PhonoIta, MorphoIta, ParadigmsIta, BeschIta, Prelude in {
|
||||||
|
|
||||||
flags optimize=all ;
|
flags optimize=all ; coding=utf8 ;
|
||||||
|
|
||||||
lin
|
lin
|
||||||
|
|
||||||
@@ -13,9 +13,9 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
almost_AdA, almost_AdN = ss "quasi" ;
|
almost_AdA, almost_AdN = ss "quasi" ;
|
||||||
always_AdV = ss "sempre" ;
|
always_AdV = ss "sempre" ;
|
||||||
although_Subj = ss "benché" ** {m = Conjunct} ;
|
although_Subj = ss "benché" ** {m = Conjunct} ;
|
||||||
and_Conj = {s1 = [] ; s2 = "e" ; n = Pl} ;
|
and_Conj = {s1 = [] ; s2 = "e" ; n = Pl} ;
|
||||||
because_Subj = ss "perché" ** {m = Indic} ;
|
because_Subj = ss "perché" ** {m = Indic} ;
|
||||||
before_Prep = mkPrep "prima" ;
|
before_Prep = mkPrep "prima" ;
|
||||||
behind_Prep = mkPrep "dietro" ;
|
behind_Prep = mkPrep "dietro" ;
|
||||||
between_Prep = mkPrep "fra" ;
|
between_Prep = mkPrep "fra" ;
|
||||||
@@ -39,9 +39,9 @@ lin
|
|||||||
mkPronoun
|
mkPronoun
|
||||||
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
|
"lui" "lo" "gli" "glie" "lui" "suo" "sua" "suoi" "sue"
|
||||||
Masc Sg P3 ;
|
Masc Sg P3 ;
|
||||||
here7from_Adv = ss ["da quì"] ;
|
here7from_Adv = ss ["da quì"] ;
|
||||||
here7to_Adv = ss "quì" ;
|
here7to_Adv = ss "quì" ;
|
||||||
here_Adv = ss "quì" ;
|
here_Adv = ss "quì" ;
|
||||||
how_IAdv = ss "come" ;
|
how_IAdv = ss "come" ;
|
||||||
how8many_IDet = {s = \\g,c => prepCase c ++ genForms "quanti" "quante" ! g ; n = Pl} ;
|
how8many_IDet = {s = \\g,c => prepCase c ++ genForms "quanti" "quante" ! g ; n = Pl} ;
|
||||||
if_Subj = ss "se" ** {m = Indic} ;
|
if_Subj = ss "se" ** {m = Indic} ;
|
||||||
@@ -57,7 +57,7 @@ lin
|
|||||||
Masc Sg P3 ;
|
Masc Sg P3 ;
|
||||||
less_CAdv = ss "meno" ;
|
less_CAdv = ss "meno" ;
|
||||||
many_Det = {s = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ; n = Pl} ;
|
many_Det = {s = \\g,c => prepCase c ++ genForms "molti" "molte" ! g ; n = Pl} ;
|
||||||
more_CAdv = ss "più" ;
|
more_CAdv = ss "più" ;
|
||||||
most_Predet = {s = \\_,c => prepCase c ++ ["la maggior parte"] ; c = CPrep P_di} ;
|
most_Predet = {s = \\_,c => prepCase c ++ ["la maggior parte"] ; c = CPrep P_di} ;
|
||||||
much_Det = {s = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; n = Sg} ;
|
much_Det = {s = \\g,c => prepCase c ++ genForms "molto" "molta" ! g ; n = Sg} ;
|
||||||
must_VV = mkVV (verboV (dovere_47 "dovere")) ;
|
must_VV = mkVV (verboV (dovere_47 "dovere")) ;
|
||||||
@@ -75,7 +75,7 @@ lin
|
|||||||
mkPronoun
|
mkPronoun
|
||||||
"lei" "la" "le" "glie" "lei" "suo" "sua" "suoi" "sue"
|
"lei" "la" "le" "glie" "lei" "suo" "sua" "suoi" "sue"
|
||||||
Fem Sg P3 ;
|
Fem Sg P3 ;
|
||||||
so_AdA = ss "così" ;
|
so_AdA = ss "così" ;
|
||||||
somebody_NP = pn2np (mkPN ["qualcuno"] Masc) ;
|
somebody_NP = pn2np (mkPN ["qualcuno"] Masc) ;
|
||||||
somePl_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Pl} ;
|
somePl_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Pl} ;
|
||||||
someSg_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Sg} ;
|
someSg_Det = {s = \\_,c => prepCase c ++ "qualche" ; n = Sg} ;
|
||||||
@@ -87,9 +87,9 @@ lin
|
|||||||
Pl => \\g,c => prepCase c ++ genForms "quelli" "quelle" ! g ---- quegli
|
Pl => \\g,c => prepCase c ++ genForms "quelli" "quelle" ! g ---- quegli
|
||||||
}
|
}
|
||||||
} ;
|
} ;
|
||||||
there7from_Adv = ss ["di là"] ;
|
there7from_Adv = ss ["di là"] ;
|
||||||
there7to_Adv = ss "là" ; --- ci
|
there7to_Adv = ss "là" ; --- ci
|
||||||
there_Adv = ss "là" ;
|
there_Adv = ss "là" ;
|
||||||
therefore_PConj = ss "quindi" ;
|
therefore_PConj = ss "quindi" ;
|
||||||
they_Pron = mkPronoun
|
they_Pron = mkPronoun
|
||||||
"loro" "loro" "li" "glie" "loro" "loro" "loro" "loro" "loro"
|
"loro" "loro" "li" "glie" "loro" "loro" "loro" "loro" "loro"
|
||||||
@@ -121,10 +121,10 @@ lin
|
|||||||
} ;
|
} ;
|
||||||
whoPl_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Masc Pl} ;
|
whoPl_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Masc Pl} ;
|
||||||
whoSg_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Masc Sg} ;
|
whoSg_IP = {s = \\c => prepCase c ++ "chi" ; a = aagr Masc Sg} ;
|
||||||
why_IAdv = ss "perché" ;
|
why_IAdv = ss "perché" ;
|
||||||
without_Prep = mkPrep "senza" ;
|
without_Prep = mkPrep "senza" ;
|
||||||
with_Prep = {s = [] ; c = CPrep P_con ; isDir = False} ;
|
with_Prep = {s = [] ; c = CPrep P_con ; isDir = False} ;
|
||||||
yes_Utt = ss "sì" ;
|
yes_Utt = ss "sì" ;
|
||||||
youSg_Pron = mkPronoun
|
youSg_Pron = mkPronoun
|
||||||
"tu" "ti" "ti" "te" "te" "tuo" "tua" "tuoi" "tue"
|
"tu" "ti" "ti" "te" "te" "tuo" "tua" "tuoi" "tue"
|
||||||
Masc Sg P2 ;
|
Masc Sg P2 ;
|
||||||
|
|||||||
@@ -209,10 +209,7 @@ binary-dist:
|
|||||||
./configure --host="$(host)" --build="$(build)"
|
./configure --host="$(host)" --build="$(build)"
|
||||||
$(MAKE) all
|
$(MAKE) all
|
||||||
$(INSTALL) ../bin/$(GF_EXE) tools/$(GF_DOC_EXE) $(BIN_DIST_DIR)
|
$(INSTALL) ../bin/$(GF_EXE) tools/$(GF_DOC_EXE) $(BIN_DIST_DIR)
|
||||||
$(INSTALL) -m 0644 JavaGUI/gf-java.jar $(BIN_DIST_DIR)
|
|
||||||
$(INSTALL) -m 0644 $(GFEDITOR)/gfeditor.jar $(BIN_DIST_DIR)
|
|
||||||
$(INSTALL) configure config.guess config.sub install-sh $(BIN_DIST_DIR)
|
$(INSTALL) configure config.guess config.sub install-sh $(BIN_DIST_DIR)
|
||||||
$(INSTALL) -m 0644 config.mk.in jgf.in gfeditor.in $(BIN_DIST_DIR)
|
|
||||||
$(INSTALL) -m 0644 ../README ../LICENSE $(BIN_DIST_DIR)
|
$(INSTALL) -m 0644 ../README ../LICENSE $(BIN_DIST_DIR)
|
||||||
$(INSTALL) -m 0644 INSTALL.binary $(BIN_DIST_DIR)/INSTALL
|
$(INSTALL) -m 0644 INSTALL.binary $(BIN_DIST_DIR)/INSTALL
|
||||||
$(INSTALL) -m 0644 Makefile.binary $(BIN_DIST_DIR)/Makefile
|
$(INSTALL) -m 0644 Makefile.binary $(BIN_DIST_DIR)/Makefile
|
||||||
|
|||||||
@@ -11,14 +11,14 @@ exec_prefix="@exec_prefix@"
|
|||||||
GF_BIN_DIR="@bindir@"
|
GF_BIN_DIR="@bindir@"
|
||||||
GF_DATA_DIR="@datadir@/GF-@PACKAGE_VERSION@"
|
GF_DATA_DIR="@datadir@/GF-@PACKAGE_VERSION@"
|
||||||
|
|
||||||
GFBIN="$GF_BIN_DIR/gf3"
|
GFBIN="$GF_BIN_DIR/gf"
|
||||||
|
|
||||||
if [ ! -x "${GFBIN}" ]; then
|
if [ ! -x "${GFBIN}" ]; then
|
||||||
GFBIN=`which gf3`
|
GFBIN=`which gf`
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -x "${GFBIN}" ]; then
|
if [ ! -x "${GFBIN}" ]; then
|
||||||
echo "gf3 not found."
|
echo "gf not found."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user