forked from GitHub/gf-core
more shallow grs
This commit is contained in:
@@ -33,6 +33,12 @@ oper
|
||||
nounY : Str -> CommonNoun = \fl ->
|
||||
mkNoun (fl + "y") (fl + "ies") (fl + "y's") (fl + "ies'") ;
|
||||
|
||||
nounGen : Str -> CommonNoun = \dog -> case last dog of {
|
||||
"y" => nounY "dog" ;
|
||||
"s" => nounS (init "dog") ;
|
||||
_ => nounReg "dog"
|
||||
} ;
|
||||
|
||||
--3 Proper names
|
||||
--
|
||||
-- Regular proper names are inflected with "'s" in the genitive.
|
||||
@@ -174,6 +180,13 @@ oper
|
||||
verbP3y : Str -> VerbP3 = \cr ->
|
||||
mkVerbP3 (cr + "y") (cr + "ies") (cr + "ied") (cr + "ied") ;
|
||||
|
||||
verbGen : Str -> VerbP3 = \kill -> case last kill of {
|
||||
"y" => verbP3y (init "kill") ;
|
||||
"e" => verbP3y (init "kill") ;
|
||||
"s" => verbP3s (init "kill") ;
|
||||
_ => regVerbP3 "kill"
|
||||
} ;
|
||||
|
||||
verbP3Have = mkVerbP3 "have" "has" "had" "had" ;
|
||||
|
||||
verbP3Do = mkVerbP3 "do" "does" "did" "done" ;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
-- expressions of basic categories: nouns, adjectives, verbs.
|
||||
--
|
||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
||||
-- accessed through the resource syntax API, $resource.Abs.gf$.
|
||||
-- accessed through the resource syntax API, $Structural.gf$.
|
||||
--
|
||||
-- The main difference with $MorphoEng.gf$ is that the types
|
||||
-- referred to are compiled resource grammar types. We have moreover
|
||||
@@ -148,6 +148,12 @@ oper
|
||||
|
||||
tvPartReg : Str -> Str -> Str -> TV ; -- get, along, with
|
||||
|
||||
-- Ditransitive verbs.
|
||||
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om
|
||||
v3Dir : V -> Str -> V3 ; -- ge,_,till
|
||||
v3DirDir : V -> V3 ; -- ge,_,_
|
||||
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
--.
|
||||
@@ -239,4 +245,7 @@ oper
|
||||
tvDir = \v -> mkTV v [] ;
|
||||
tvGenDir = \s -> tvDir (vGen s) ;
|
||||
|
||||
mkV3 x y z = mkDitransVerb x y z ** {lock_V3 = <>} ;
|
||||
v3Dir x y = mkV3 x [] y ;
|
||||
v3DirDir x = v3Dir x [] ;
|
||||
} ;
|
||||
|
||||
594
lib/resource-0.6/gf-resource.html
Normal file
594
lib/resource-0.6/gf-resource.html
Normal file
@@ -0,0 +1,594 @@
|
||||
<html>
|
||||
|
||||
<body bgcolor="#FFFFFF" text="#000000" >
|
||||
|
||||
<center>
|
||||
<img SRC="../gf-logo.gif">
|
||||
|
||||
<h1>The GF Resource Grammar Library</h1>
|
||||
|
||||
|
||||
<a href="http://www.cs.chalmers.se/~aarne">Aarne Ranta</a>
|
||||
2002-2004
|
||||
|
||||
<p>
|
||||
|
||||
Version 0.6: <a href="gf-resource.tgz">source package</a>.
|
||||
|
||||
<p>
|
||||
|
||||
Current languages: English, Finnish, French, German, Italian, Russian, Swedish.
|
||||
|
||||
</center>
|
||||
|
||||
<font size=2>
|
||||
<b>News</b>. <br>
|
||||
|
||||
13/4/2004 Version 0.6 written using the module system of GF 2. Also an
|
||||
extended coverage. The files are placed in separate subdirectories (one
|
||||
per language) and have different names than before, so that file names
|
||||
(without the extension <tt>.gf</tt>) are also legal module names.
|
||||
|
||||
<br>
|
||||
|
||||
15/8/2003 Version 0.4 with Finnish added. Some updates of the Russian modules.
|
||||
|
||||
<br>
|
||||
|
||||
25/6/2003 Release of GF 1.2 making it much more efficient to work with
|
||||
resource grammars. See
|
||||
<a href="http://www.cs.chalmers.se/~aarne/GF/doc/gf-1.2.html">highlights</a>.
|
||||
Also <a href="gf-resource-0.3.tgz">source package version 0.3</a>
|
||||
with some bug fixes.
|
||||
|
||||
<br>
|
||||
|
||||
5/6/2003. Russian resource modules by
|
||||
<a href="http://www.cs.chalmers.se/~janna">Janna Khegai</a>.
|
||||
Cyrillic strings in the files <tt>*.RusU.gf</tt> use UTF-8 encoding,
|
||||
which is automatically detected by the Java GUI to GF. However, in web
|
||||
browsers the encoding must be set manually.
|
||||
|
||||
<br>
|
||||
|
||||
3/6/2003. New version of this document, with separate sections
|
||||
on application and resource grammarians' views and
|
||||
added documentation
|
||||
on the type system of each language <tt>X</tt>
|
||||
in <tt>resource.X.gf</tt>.
|
||||
|
||||
<br>
|
||||
|
||||
23/5/2003. High-level lexicon access also in
|
||||
French,
|
||||
Italian,
|
||||
and
|
||||
Swedish.
|
||||
|
||||
<br>
|
||||
|
||||
23/5/2003.
|
||||
Italian grammar based on generic Romance modules, shared with French.
|
||||
|
||||
<br>
|
||||
|
||||
14/4/2003. High-level access to define a lexicon in
|
||||
English and German.
|
||||
|
||||
<p>
|
||||
|
||||
<i>
|
||||
<b>Notice</b>. You need GF Version 2.0beta or later
|
||||
to work with these resource grammars.
|
||||
It is available from the
|
||||
<a href="http://www.cs.chalmers.se/~aarne/GF/">GF home page</a>.
|
||||
</i>
|
||||
</font>
|
||||
|
||||
<p>
|
||||
|
||||
|
||||
<h2>Introduction</h2>
|
||||
|
||||
As programs in general can be divided into
|
||||
application programs and library programs,
|
||||
GF grammars can be divided into
|
||||
<b>application grammars</b> and
|
||||
<b>resource grammars</b>.
|
||||
An application grammar is typically built around
|
||||
a semantic model, which is formalized as the abstract
|
||||
syntax of the language. Concrete syntax defines
|
||||
a mapping from the abstract syntax into English or
|
||||
Swedish or some other language.
|
||||
A resource grammar is not based on semantics, but its
|
||||
purpose is to define the linguistic "surface" structures
|
||||
of some language. The availability of these structures makes it easier to
|
||||
write application grammars.
|
||||
|
||||
|
||||
|
||||
<h3>Abstraction level</h3>
|
||||
|
||||
Resource grammars
|
||||
<b>raise the level of abstraction in concrete syntax</b>.
|
||||
The author of an application grammar is freed from thinking
|
||||
about inflection, word order, etc, but can use structured
|
||||
tree-like objects in linearization rules. For instance, to
|
||||
express the linearization of the arithmetical predicate <i>even</i>
|
||||
in French, she no longer has to write
|
||||
<pre>
|
||||
lin Even x = {s =
|
||||
table {
|
||||
m => x.s ++
|
||||
table {Ind => "est" ; Subj => "soit"} ! m ++
|
||||
table {Masc => "pair" ; Fem => "paire"} ! x.g
|
||||
}
|
||||
} ;
|
||||
</pre>
|
||||
but simply
|
||||
<pre>
|
||||
lin Even = predA1 (adjReg "pair") ;
|
||||
</pre>
|
||||
The author of the French resource grammar will have defined the
|
||||
functions <tt>predAdj</tt> and <tt>adjReg</tt> in such a way that
|
||||
they can be used in all applications.
|
||||
|
||||
|
||||
|
||||
<h3>Unity of language</h3>
|
||||
|
||||
In addition to high abstraction level, reusability, and the division
|
||||
of labour, resource grammars have the virtue of making sense of the
|
||||
<b>unity of a language</b> such as English: while application grammars
|
||||
depend on applications, resource grammars depend on language.
|
||||
What is more, resource grammars for related languages can
|
||||
share much of their code: to what degree this can be done gives
|
||||
a measure of how related the languages are.
|
||||
Thus we find resource grammars to be an interesting linguistic
|
||||
project in its own right.
|
||||
|
||||
|
||||
<h3>Semantics</h3>
|
||||
|
||||
We leave it open if we can also explain the <b>semantics</b>
|
||||
of resource grammar on the general level. The philosophy of GF,
|
||||
inherited from logical frameworks,
|
||||
is that semantics is only given to
|
||||
application grammars. (You can also compare them to Wittgenstein's
|
||||
"language games").
|
||||
This view gives us a lot of freedom in formulating resource grammars.
|
||||
When describing them, we sometimes say that such-and-such construction
|
||||
is likely to be ruled out by semantic reasons; what we mean is that
|
||||
this will actually happen in application grammars; we do <i>not</i>
|
||||
mean that GF has no semantic rules.
|
||||
An example of this is the free formation of question adverbials, e.g.
|
||||
<i>From which city is every number even or odd?</i>.
|
||||
The resource grammar makes it possible to form this question,
|
||||
but it can hardly be grammatical in any sensible application grammar.
|
||||
|
||||
|
||||
|
||||
<h2>Programmer's view on resource grammars</h2>
|
||||
|
||||
The resource grammar library a hierarchical structure. Its main layers are
|
||||
<ul>
|
||||
<li> The language-dependent <b>core resources</b>, to be described below.
|
||||
<li> The language-independent <b>core resource API</b>,
|
||||
<a href="Combination.html"><tt>Combinations.gf</tt></a>.
|
||||
<a href="Structural.html"><tt>Structural.gf</tt></a>.
|
||||
<li> The <b>derived resource libraries</b>, some of which are
|
||||
language-dependent, some of which aren't. The most important
|
||||
ones are the language-dependent lexical paradigm modules
|
||||
<tt>ParadigmsX.gf</tt></a>.
|
||||
</ul>
|
||||
The core resources should not be needed by application grammarians: it should
|
||||
be enough to use the core resource API and the derived libraries. If
|
||||
this is not the case, the best solution is to extend the derived resource
|
||||
libraries or create new ones.
|
||||
|
||||
|
||||
|
||||
<h3>Grammaticality guarantee via data abstraction</h3>
|
||||
|
||||
An important principle is that
|
||||
<ul>
|
||||
<li> the core resource API and the derived resource libraries guarantee
|
||||
that all type-correct uses of them preserve grammaticality.
|
||||
</ul>
|
||||
This principle is simultaneously a guidance for resource grammarians
|
||||
and an argument for the application grammarian to use these libraries.
|
||||
What we mean by "only using the libraries" is that
|
||||
<ul>
|
||||
<li> all <tt>lin</tt> and
|
||||
<tt>lincat</tt> rules are built solely from library functions and
|
||||
argument variables.
|
||||
</ul>
|
||||
Thus for instance no records, tables, selections or projections should appear
|
||||
in the rules. What we have achieved then is <b>total data abstraction</b>,
|
||||
and the grammaticality guarantee can be given.
|
||||
|
||||
<p>
|
||||
|
||||
Since the resource grammars are work in progress, their coverage is not
|
||||
yet sufficient for complete data abstraction. In addition, there may of course
|
||||
be bugs in the resource grammars that destroy grammaticality. The GF group is
|
||||
grateful for bug reports, requests, and contributions!
|
||||
|
||||
<p>
|
||||
|
||||
The most important exception to total data abstraction in practice is the
|
||||
incompleteness of resource lexica. Since it is impossible to have
|
||||
full coverage of all the words in a language, users often have to introduce
|
||||
their own lexical entries, and thereby use literal strings in their GF code.
|
||||
The safest and most convenient way of using this is via functions
|
||||
defined in <tt>ParadigmsX.gf</tt> files. Using these functions guarantees
|
||||
that the lexical entries created are type-correct. But nothing guards
|
||||
against misspelling a word, picking a wrong inflectional pattern, or
|
||||
a wrong inherent feature (such as gender).
|
||||
|
||||
|
||||
|
||||
<h3>The resource grammar documentation in <tt>gfdoc</tt></h3>
|
||||
|
||||
All documented GF grammars linked from this page
|
||||
have been written in GF and then translated to HTML
|
||||
using a light-weight documentation tool,
|
||||
<tt>gfdoc</tt>. The tool is available as a part of the GF
|
||||
source code package, in the Haskell file
|
||||
<tt>util/GFDoc.hs</tt> that can be run in the Hugs interpreter
|
||||
by the script <tt>util/gfdoc</tt>. The program also has the
|
||||
flag <tt>+latex</tt>, which produces output in Latex instead of
|
||||
HTML.
|
||||
|
||||
|
||||
|
||||
<h3>The core resource API</h3>
|
||||
|
||||
The API is divided into two modules, <tt>Combiantions</tt> and
|
||||
its extension <tt>Structural</tt>.
|
||||
|
||||
<p>
|
||||
|
||||
The file <a href="Combinations.html"><tt>Combinations.gf</tt></a>
|
||||
gives the core resource type signatures of phrasal categories and
|
||||
syntactic combination rules, together with some explanations
|
||||
and examples. The examples are so far only in English, but their
|
||||
equivalents are available in all of the languages for which the
|
||||
API has been implemented.
|
||||
|
||||
<p>
|
||||
|
||||
The file <a href="Structural.html"><tt>Structurals.gf</tt></a>
|
||||
gives a list of structural words such as determiners, pronouns,
|
||||
prepositions, and conjunctions.
|
||||
|
||||
<p>
|
||||
|
||||
The file <tt>Structural.gf</tt> cannot be imported directly, but
|
||||
via the generated files <tt>ResourceX.gf</tt> for each language <tt>X</tt>.
|
||||
In these files, the <tt>fun/lin</tt> and <tt>cat/lincat</tt> judgements have been
|
||||
translated into <tt>oper</tt> judgements.
|
||||
|
||||
|
||||
|
||||
<h3>The lexical paradigm modules</h3>
|
||||
|
||||
The lexical paradigm modules define, for
|
||||
each lexical category, a <b>worst-case macro</b> for adding words
|
||||
of that category by giving a sufficient number of characteristic
|
||||
forms. In addition, the most common <b>regular paradigms</b> are
|
||||
included, where it is enough just to give one form to generate
|
||||
all the others.
|
||||
|
||||
<p>
|
||||
|
||||
For example, the English paradigm module has the worst-case macro for nouns,
|
||||
<pre>
|
||||
mkN : (man,men,man's,men's : Str) -> Gender -> N ;
|
||||
</pre>
|
||||
taking four forms and a gender (<tt>human</tt> or <tt>nonhuman</tt>,
|
||||
as is also explained in the module). Its application
|
||||
<pre>
|
||||
mkN "mouse" "mice" "mouse's" "mice's" nonhuman
|
||||
</pre>
|
||||
defines all information that is needed for the noun <i>mouse</i>.
|
||||
There are also some regular patterns, for instance,
|
||||
<pre>
|
||||
nReg : Str -> Gender -> N ; -- dog, dogs
|
||||
nKiss : Str -> Gender -> N ; -- kiss, kisses
|
||||
</pre>
|
||||
examples of which are
|
||||
<pre>
|
||||
nReg "car" nonhuman
|
||||
nKiss "waitress" human
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
||||
Here are the documented versions of the paradigm modules:
|
||||
<ul>
|
||||
<li> English: <a href="ParadigmsEng.html"><tt>ParadigmsEng.gf</tt></a>
|
||||
<li> Finnish: <a href="ParadigmsFin.html"><tt>ParadigmsFin.gf</tt></a>
|
||||
<li> French: <a href="ParadigmsFra.html"><tt>ParadigmsFra.gf</tt></a>
|
||||
<li> German: <a href="ParadigmsDeu.html"><tt>ParadigmsDeu.gf</tt></a>
|
||||
<li> Italian: <a href="ParadigmsIta.html"><tt>ParadigmsIta.gf</tt></a>
|
||||
<li> Russian: <a href="ParadigmsRusU.html"><tt>ParadigmsRusU.gf</tt></a>
|
||||
<li> Swedish: <a href="ParadigmsSwe.html"><tt>ParadigmsSwe.gf</tt></a>
|
||||
</ul>
|
||||
|
||||
|
||||
<h3>The derived resource libraries</h3>
|
||||
|
||||
The core resource grammar is minimal in the sense that it defines the
|
||||
smallest syntactic combinations and has no redundancy. For applications, it
|
||||
is usually more convenient to use combinations of the minimal rules.
|
||||
Some such combinations are given in the <b>predication library</b>,
|
||||
which defines the simultaneous applications of one- and two-place
|
||||
verbs and adjectives to all their argument noun phrases. It also
|
||||
defines some other constructions useful for logical and mathematical
|
||||
applications.
|
||||
|
||||
<p>
|
||||
|
||||
The API of the predication library is in the file
|
||||
<a href="abstract/Predication.html"><tt>Predication.gf</tt></a>.
|
||||
What is imported is one of the language-dependent files,
|
||||
<tt>X/PredicationX.gf</tt> for each language <tt>X</tt>.
|
||||
|
||||
|
||||
|
||||
<h3>The language-dependent type systems</h3>
|
||||
|
||||
Sometimes it is useful for the application grammarian to know what the
|
||||
language-dependent linearizations types are for each category in the
|
||||
core resource. These types are defined in the files <tt>CombinationsX.gf</tt>:
|
||||
<ul>
|
||||
<li> English: <a href="CombinationsEng.html"><tt>CombinationsEng.gf</tt></a>
|
||||
<li> Finnish: <a href="CombinationsFin.html"><tt>CombinationsFin.gf</tt></a>
|
||||
<li> French: <a href="CombinationsFra.html"><tt>CombinationsFra.gf</tt></a>
|
||||
<li> German: <a href="CombinationsDeu.html"><tt>CombinationsDeu.gf</tt></a>
|
||||
<li> Italian: <a href="CombinationsIta.html"><tt>CombinationsIta.gf</tt></a>
|
||||
<li> Russian: <a href="CombinationsRusU.html"><tt>CombinationsRusU.gf</tt></a>
|
||||
<li> Swedish: <a href="CombinationsSwe.html"><tt>CombinationsSwe.gf</tt></a>
|
||||
</ul>
|
||||
For the sake of uniformity, we have tried to use the same names
|
||||
of parameter types when applicable. For instance, the gender parameter
|
||||
is called <tt>Gender</tt> in every grammar, even though its values
|
||||
differ. The definitions of the parameter
|
||||
types are given in the files <tt>TypesX.gf</tt>.
|
||||
The application grammarian following the complete abstraction principle
|
||||
should not use the parameter constructors directly, but rather the
|
||||
names defined in <tt>ParadigmsX.gf</tt>.
|
||||
|
||||
|
||||
|
||||
<h2>Linguist's view on resource grammars</h2>
|
||||
|
||||
<h3>GF and other grammar formalisms</h3>
|
||||
|
||||
Linguists in particular might be interested in resource
|
||||
grammars for their own sake, not as basis of applications.
|
||||
Since few linguists are so far familiar with GF, we refer to the
|
||||
<a href="http://www.cs.chalmers.se/~aarne/GF/">GF Homepage</a>
|
||||
and especially to the
|
||||
<a href="http://www.cs.chalmers.se/~aarne/GF/Tutorial/">GF Tutorial</a>.
|
||||
What comes here is a brief summary of the relation of GF to
|
||||
other record-based formalisms.
|
||||
|
||||
<p>
|
||||
|
||||
The records of GF are much like feature structures in PATR or HPSG.
|
||||
The main differences are that
|
||||
<ul>
|
||||
<li> GF has a type system inherited from
|
||||
functional programming languages;
|
||||
<li> GF records are primarily obtained as linearizations of trees, not
|
||||
as parses of strings.
|
||||
</ul>
|
||||
The latter difference explains why a GF record typically carries more
|
||||
information than a feature structure. For instance, the record describing
|
||||
the French noun <i>cheval</i> is
|
||||
<pre>
|
||||
{s = table {Sg => "cheval" ; Pl => "chevaux"} ; g = Masc} ;
|
||||
</pre>
|
||||
showing the full inflection table of the (abstract) noun <i>cheval</i>.
|
||||
A PATR record
|
||||
for the French word <i>cheval</i> would be
|
||||
<pre>
|
||||
{s = "cheval" ; n = Sg ; g = Masc} ;
|
||||
</pre>
|
||||
showing just the information that can be gathered from the (concrete)
|
||||
string <i>cheval</i>.
|
||||
There is a rather straightforward sense in which the PATR record is an
|
||||
<b>instance</b> of the GF record.
|
||||
|
||||
<p>
|
||||
|
||||
When generating language from syntax trees (or from logical formulas via
|
||||
syntax trees), the record containing full inflection tables is an efficient
|
||||
(linear-time) method of producing the correct forms.
|
||||
This is important when text is generated in real time in
|
||||
an interactive system.
|
||||
|
||||
|
||||
|
||||
<h2>The structure of core resource grammars</h2>
|
||||
|
||||
As explained above, the application grammarian's view on resource grammars
|
||||
is through API modules. They are collections of type signatures of functions.
|
||||
It is the task of linguists to define these functions.
|
||||
The definitions are in the end given
|
||||
in the <b>core resource grammars</b>.
|
||||
|
||||
<p>
|
||||
|
||||
We have divided the core resource grammar for each language <tt>X</tt>
|
||||
into the following parts:
|
||||
<ul>
|
||||
<li> Type system: <tt>types.X.gf</tt>
|
||||
<li> Morphology: <tt>morpho.X.gf</tt>
|
||||
<li> Syntax: <tt>syntax.X.gf</tt>
|
||||
</ul>
|
||||
To get the most powerful resource grammar for each language, one can use
|
||||
these files directly.
|
||||
|
||||
<p>
|
||||
|
||||
However, the languages we have studied have so much in common
|
||||
that we have gathered a considerable set of categories and rules
|
||||
in a <b>multilingual resource grammar</b>. Its parts are
|
||||
<ul>
|
||||
<li> Abstract syntax: <a href="Resource.html"><tt>Resource.gf</tt></a>
|
||||
<li> Language-dependent concrete syntax: <tt>ResourceX.gf</tt></a> for
|
||||
each language.
|
||||
</ul>
|
||||
The advantage of using this API in application grammars is that
|
||||
<b>their concrete syntax looks the same for all languages</b>
|
||||
up to non-structural words. Thus it is possible to produce concrete syntaxes
|
||||
for new languages without knowing almost anything about them.
|
||||
The abstract syntax serves as a common API to the core resource grammar.
|
||||
|
||||
|
||||
<h3>The code for the core resource grammars</h3>
|
||||
|
||||
The following links go to the <tt>gfdoc</tt>-generated
|
||||
HTML files while showing the names of the GF files.
|
||||
<ul>
|
||||
<li> English:
|
||||
<a href="types.Eng.html"><tt>types.Eng.gf</tt></a>,
|
||||
<a href="morpho.Eng.html"><tt>morpho.Eng.gf</tt></a>,
|
||||
<a href="syntax.Eng.html"><tt>syntax.Eng.gf</tt></a>.
|
||||
<li> Finnish:
|
||||
<a href="types.Fin.html"><tt>types.Fin.gf</tt></a>,
|
||||
<a href="morpho.Fin.html"><tt>morpho.Fin.gf</tt></a>,
|
||||
<a href="syntax.Fin.html"><tt>syntax.Fin.gf</tt></a>.
|
||||
<li> Shared Romance:
|
||||
<a href="types.Romance.html"><tt>types.Romance.gf</tt></a>,
|
||||
<a href="syntax.Romance.html"><tt>syntax.Romance.gf</tt></a>,
|
||||
<li> French:
|
||||
<a href="types.Fra.html"><tt>types.Fra.gf</tt></a>,
|
||||
<a href="morpho.Fra.html"><tt>morpho.Fra.gf</tt></a>,
|
||||
<a href="syntax.Fra.html"><tt>syntax.Fra.gf</tt></a>.
|
||||
<li> Italian:
|
||||
<a href="types.Ita.html"><tt>types.Ita.gf</tt></a>,
|
||||
<a href="morpho.Ita.html"><tt>morpho.Ita.gf</tt></a>,
|
||||
<a href="syntax.Ita.html"><tt>syntax.Ita.gf</tt></a>.
|
||||
<li> Russian:
|
||||
<a href="types.RusU.html"><tt>types.RusU.gf</tt></a>,
|
||||
<a href="morpho.RusU.html"><tt>morpho.RusU.gf</tt></a>,
|
||||
<a href="syntax.RusU.html"><tt>syntax.RusU.gf</tt></a>.
|
||||
<li> German:
|
||||
<a href="types.Deu.html"><tt>types.Deu.gf</tt></a>,
|
||||
<a href="morpho.Deu.html"><tt>morpho.Deu.gf</tt></a>,
|
||||
<a href="syntax.Deu.html"><tt>syntax.Deu.gf</tt></a>.
|
||||
<li> Swedish:
|
||||
<a href="types.Swe.html"><tt>types.Swe.gf</tt></a>,
|
||||
<a href="morpho.Swe.html"><tt>morpho.Swe.gf</tt></a>,
|
||||
<a href="syntax.Swe.html"><tt>syntax.Swe.gf</tt></a>.
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>Compiling and using the resource</h2>
|
||||
|
||||
If you want to use the resource grammars,
|
||||
you should download and unpack the
|
||||
<a href="gf-resource.tgz">source package</a>.
|
||||
At Chalmers, however, we keep the resource grammars in the
|
||||
GF CVS archive, in the directory <tt>Grammars/resource/</tt>,
|
||||
and you'd better take them that way. The package accessible through www
|
||||
is usually not quite up to date.
|
||||
|
||||
<p>
|
||||
|
||||
To compile the resource into reusable operations, for all languages, type
|
||||
<pre>
|
||||
make
|
||||
</pre>
|
||||
in the <tt>resource/</tt> directory.
|
||||
This requires that you have a recent version of GF (>= 1.1).
|
||||
What you get is a set of files with names <tt>res.X.gf</tt>.
|
||||
The file <tt>res.Types.gf</tt> gives the type signatures
|
||||
of the operations. You need never consult any of these files,
|
||||
but mostly look into <tt>resource.Abs.gf</tt> for the type
|
||||
signatures of syntactic structures.
|
||||
|
||||
|
||||
|
||||
<h2>Examples of using the resource grammars</h2>
|
||||
|
||||
<h3>A test suite</h3>
|
||||
|
||||
The grammars <tt>test.X.gf</tt> define a few expressions of each
|
||||
lexical category and make it possible to test linearization, parsing,
|
||||
random generation, and editing.
|
||||
|
||||
|
||||
<h3>A database query language</h3>
|
||||
|
||||
The grammars <tt>database/(database | restaurant).X.gf</tt>
|
||||
make use of the resource. The <tt>restaurant.X.gf</tt>
|
||||
grammars are just one possible application building on the generic
|
||||
<tt>database.X.gf</tt> grammars.
|
||||
Look at the
|
||||
<a href="database/database.Abs.gf">abstract database syntax</a>
|
||||
and, as an example, the
|
||||
<a href="database/database.Fra.gf">French concrete syntax</a>.
|
||||
|
||||
|
||||
|
||||
<h3>A dialogue system for the video recorder</h3>
|
||||
|
||||
The grammars <tt>video/video.X.gf</tt> are meant to be a prototype
|
||||
for dialogu systems. Look at the
|
||||
<a href="video/video.Abs.gf">abstract video grammar</a>
|
||||
and, as an example, the
|
||||
<a href="video/video.Eng.gf">English concrete syntax</a>.
|
||||
|
||||
|
||||
|
||||
<h2>Functional morphology</h2>
|
||||
|
||||
Even though GF is a useful language for describing syntax and semantics, it
|
||||
is not the optimal choice for morphology.
|
||||
One reason is the absence of low-level
|
||||
programming, such as string matching. Another reason is efficiency.
|
||||
In connection with the resource grammar project, we have started another
|
||||
project, <b>functional morphology</b>, which uses Haskell to implement
|
||||
morphology. Haskell morphologies can then be used for generating
|
||||
GF morphologies, as exemplified by large parts of
|
||||
<a href="morpho.Swe.html"><tt>morpho.Swe.gf</tt></a>.
|
||||
|
||||
<p>
|
||||
|
||||
Work is in progress to document functional morphology, but here is
|
||||
a beginning:
|
||||
<ul>
|
||||
<li> General library for defining morphologies:
|
||||
<a href="General.html"><tt>General.hs</tt></a>.
|
||||
<li> Swedish inflection engine: <a href="RulesSw.html"><tt>RulesSw.hs</tt></a>.
|
||||
</ul>
|
||||
(Notice that we have here used <tt>gfdoc</tt> on Haskell files.)
|
||||
|
||||
<p>
|
||||
|
||||
To see that it is nevertheless possible to implement morphology in GF, look
|
||||
at the French morphology in
|
||||
<a href="morpho.Fra.html"><tt>morpho.Fra.gf</tt></a>.
|
||||
Its verb part is complete in the sense that it
|
||||
implements all the 88 inflection tables of the Bescherelle.
|
||||
|
||||
|
||||
|
||||
<h2>Further reading</h2>
|
||||
|
||||
If you want to read an informal introduction to
|
||||
resource grammars, see these
|
||||
<a href="karlsruhe.ps.gz">slides</a>, written for a German computer science
|
||||
audience. Or these
|
||||
<a href="swedish.ps.gz">other slides</a>, written for a Swedish
|
||||
linguistic audience.
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -18,9 +18,11 @@ abstract Shallow = {
|
||||
Verb ;
|
||||
TV ;
|
||||
Adj ;
|
||||
N ;
|
||||
Noun ;
|
||||
CN ;
|
||||
NP ;
|
||||
PN ;
|
||||
Adv ;
|
||||
Prep ;
|
||||
|
||||
@@ -48,7 +50,9 @@ abstract Shallow = {
|
||||
PrepNP : Prep -> NP -> Adv ;
|
||||
PrepNoun : CN -> Prep -> NP -> CN ;
|
||||
CNNoun : Noun -> CN ;
|
||||
NounN : N -> Noun ;
|
||||
DefNP, IndefNP, EveryNP, AllNP : CN -> NP ;
|
||||
UsePN : PN -> NP ;
|
||||
|
||||
PossessPrep : Prep ;
|
||||
}
|
||||
|
||||
@@ -9,9 +9,11 @@ incomplete concrete ShallowI of Shallow = open (Resource = Resource) in {
|
||||
Verb = Resource.V ;
|
||||
TV = Resource.TV ;
|
||||
Adj = Resource.Adj1 ;
|
||||
N = Resource.N ;
|
||||
Noun = Resource.CN ;
|
||||
CN = Resource.CN ;
|
||||
NP = Resource.NP ;
|
||||
PN = Resource.PN ;
|
||||
Adv = Resource.AdV ;
|
||||
Det = Resource.Det ;
|
||||
Prep = Resource.Prep ;
|
||||
@@ -62,12 +64,14 @@ incomplete concrete ShallowI of Shallow = open (Resource = Resource) in {
|
||||
ModNoun a n = Resource.ModAdj (Resource.AdjP1 a) n ;
|
||||
PrepNP = Resource.PrepNP ;
|
||||
PrepNoun f p x = Resource.AdvCN f (Resource.PrepNP p x) ;
|
||||
NounN = Resource.UseN ;
|
||||
CNNoun n = n ;
|
||||
|
||||
AllNP = Resource.DetNP (Resource.AllNumDet Resource.NoNum) ;
|
||||
EveryNP = Resource.DetNP Resource.EveryDet ;
|
||||
DefNP = Resource.DefOneNP ;
|
||||
IndefNP = Resource.IndefOneNP ;
|
||||
UsePN = Resource.UsePN ;
|
||||
|
||||
PossessPrep = Resource.PossessPrep ;
|
||||
}
|
||||
|
||||
244
lib/resource-0.6/shallow/english/LexAbs.gf
Normal file
244
lib/resource-0.6/shallow/english/LexAbs.gf
Normal file
@@ -0,0 +1,244 @@
|
||||
abstract LexAbs = Shallow ** {
|
||||
fun journey1 : Verb ;
|
||||
fun judge1 : Verb ;
|
||||
fun Dinah1 : PN ;
|
||||
fun On1 : Adj ;
|
||||
fun Rachel1 : PN ;
|
||||
fun Rebekah1 : PN ;
|
||||
fun Laban1 : PN ;
|
||||
fun Leah1 : PN ;
|
||||
fun Lot1 : PN ;
|
||||
fun Lotan1 : PN ;
|
||||
fun Pharaoh1 : PN ;
|
||||
fun Hamor1 : PN ;
|
||||
fun right1 : Adj ;
|
||||
fun roll1 : Verb ;
|
||||
fun rule1 : Verb ;
|
||||
fun rain1 : Verb ;
|
||||
fun reign1 : Verb ;
|
||||
fun receive1 : Verb ;
|
||||
fun reward1 : Verb ;
|
||||
fun reach1 : Verb ;
|
||||
fun remember1 : Verb ;
|
||||
fun remove1 : Verb ;
|
||||
fun refrain1 : Verb ;
|
||||
fun rest1 : Verb ;
|
||||
fun restore1 : Verb ;
|
||||
fun return1 : Verb ;
|
||||
fun require1 : Verb ;
|
||||
fun Bless1 : Verb ;
|
||||
fun Benjamin1 : PN ;
|
||||
fun number1 : Verb ;
|
||||
fun name1 : Verb ;
|
||||
fun nourish1 : Verb ;
|
||||
fun guard1 : PN ;
|
||||
fun gather1 : Verb ;
|
||||
fun gracious1 : Adj ;
|
||||
fun great1 : Adj ;
|
||||
fun go1 : Adj ;
|
||||
fun good1 : Adj ;
|
||||
fun Manasseh1 : PN ;
|
||||
fun kill1 : Verb ;
|
||||
fun kiss1 : Verb ;
|
||||
fun king1 : N ;
|
||||
fun kind1 : Adj ;
|
||||
fun know1 : Adj ;
|
||||
fun lodge1 : Verb ;
|
||||
fun love1 : Verb ;
|
||||
fun lord1 : N ;
|
||||
fun look1 : Verb ;
|
||||
fun leap1 : Verb ;
|
||||
fun light1 : Verb ;
|
||||
fun light2 : Adj ;
|
||||
fun lift1 : Verb ;
|
||||
fun lion1 : PN ;
|
||||
fun live1 : Verb ;
|
||||
fun laugh1 : Verb ;
|
||||
fun lad1 : N ;
|
||||
fun lad2 : Verb ;
|
||||
fun lade1 : Verb ;
|
||||
fun Abimelech1 : PN ;
|
||||
fun Abram1 : PN ;
|
||||
fun Abraham1 : PN ;
|
||||
fun Ishmael1 : PN ;
|
||||
fun Isaac1 : PN ;
|
||||
fun Israel1 : PN ;
|
||||
fun God1 : PN ;
|
||||
fun vow1 : Verb ;
|
||||
fun very1 : Adj ;
|
||||
fun visit1 : Verb ;
|
||||
fun smell1 : Verb ;
|
||||
fun scatter1 : Verb ;
|
||||
fun stand1 : Adj ;
|
||||
fun stay1 : Verb ;
|
||||
fun sister1 : PN ;
|
||||
fun see1 : Verb ;
|
||||
fun seem1 : Verb ;
|
||||
fun seek1 : Adj ;
|
||||
fun secret1 : Adj ;
|
||||
fun separate1 : Verb ;
|
||||
fun serve1 : Verb ;
|
||||
fun servant1 : N ;
|
||||
fun spoil1 : Verb ;
|
||||
fun sojourn1 : Verb ;
|
||||
fun sow1 : Verb ;
|
||||
fun sore1 : Adj ;
|
||||
fun son1 : N ;
|
||||
fun sad1 : Adj ;
|
||||
fun sack1 : N ;
|
||||
fun save1 : Verb ;
|
||||
fun saw1 : Adj ;
|
||||
fun sure1 : Adj ;
|
||||
fun should1 : Adj ;
|
||||
fun she1 : Verb ;
|
||||
fun shew1 : Verb ;
|
||||
fun master1 : PN ;
|
||||
fun marry1 : Verb ;
|
||||
fun may1 : Adj ;
|
||||
fun man1 : PN ;
|
||||
fun mock1 : Verb ;
|
||||
fun mother1 : PN ;
|
||||
fun mourn1 : Verb ;
|
||||
fun men1 : PN ;
|
||||
fun mean1 : Adj ;
|
||||
fun multiply1 : Verb ;
|
||||
fun fill1 : Verb ;
|
||||
fun finish1 : Verb ;
|
||||
fun find1 : Adj ;
|
||||
fun follow1 : Verb ;
|
||||
fun form1 : Verb ;
|
||||
fun forty1 : PN ;
|
||||
fun fetch1 : Verb ;
|
||||
fun fear1 : Verb ;
|
||||
fun fear2 : Adj ;
|
||||
fun favour1 : Verb ;
|
||||
fun faint1 : Verb ;
|
||||
fun fail1 : Verb ;
|
||||
fun father1 : N ;
|
||||
fun She1 : Verb ;
|
||||
fun Shechem1 : PN ;
|
||||
fun Sarai1 : PN ;
|
||||
fun Sarah1 : PN ;
|
||||
fun Judah1 : PN ;
|
||||
fun Jacob1 : PN ;
|
||||
fun Joseph1 : PN ;
|
||||
fun dry1 : Verb ;
|
||||
fun dress1 : Verb ;
|
||||
fun dream1 : Verb ;
|
||||
fun deliver1 : Verb ;
|
||||
fun desire1 : Verb ;
|
||||
fun destroy1 : Verb ;
|
||||
fun depart1 : Verb ;
|
||||
fun devour1 : Verb ;
|
||||
fun do1 : Adj ;
|
||||
fun double1 : Verb ;
|
||||
fun day1 : N ;
|
||||
fun dwell1 : Verb ;
|
||||
fun discern1 : Verb ;
|
||||
fun distress1 : Verb ;
|
||||
fun displease1 : Verb ;
|
||||
fun divide1 : Verb ;
|
||||
fun die1 : Verb ;
|
||||
fun bad1 : Adj ;
|
||||
fun bless1 : Verb ;
|
||||
fun build1 : Verb ;
|
||||
fun bury1 : Verb ;
|
||||
fun brother1 : PN ;
|
||||
fun breath1 : Verb ;
|
||||
fun bow1 : Verb ;
|
||||
fun be1 : Verb ;
|
||||
fun bed1 : PN ;
|
||||
fun yield1 : Verb ;
|
||||
fun young1 : Adj ;
|
||||
fun your1 : PN ;
|
||||
fun obey1 : Verb ;
|
||||
fun open1 : Verb ;
|
||||
fun open2 : Adj ;
|
||||
fun on1 : Adj ;
|
||||
fun our1 : N ;
|
||||
fun offer1 : Verb ;
|
||||
fun turn1 : Verb ;
|
||||
fun tarry1 : Verb ;
|
||||
fun till1 : Adj ;
|
||||
fun twenty1 : PN ;
|
||||
fun travail1 : Verb ;
|
||||
fun touch1 : Verb ;
|
||||
fun ten1 : PN ;
|
||||
fun their1 : PN ;
|
||||
fun escape1 : Verb ;
|
||||
fun establish1 : Verb ;
|
||||
fun exceeding1 : Adj ;
|
||||
fun enter1 : Verb ;
|
||||
fun end1 : Verb ;
|
||||
fun eat1 : Adj ;
|
||||
fun empty1 : Verb ;
|
||||
fun embalm1 : Verb ;
|
||||
fun hard1 : Adj ;
|
||||
fun hast1 : Verb ;
|
||||
fun haste1 : Verb ;
|
||||
fun hang1 : Verb ;
|
||||
fun hate1 : Verb ;
|
||||
fun hire1 : Verb ;
|
||||
fun he1 : Verb ;
|
||||
fun hearken1 : Verb ;
|
||||
fun would1 : Adj ;
|
||||
fun worship1 : Verb ;
|
||||
fun woman1 : PN ;
|
||||
fun weary1 : Verb ;
|
||||
fun well1 : N ;
|
||||
fun went1 : Adj ;
|
||||
fun widow1 : PN ;
|
||||
fun wicked1 : Adj ;
|
||||
fun wife1 : PN ;
|
||||
fun wander1 : Verb ;
|
||||
fun water1 : Verb ;
|
||||
fun walk1 : Verb ;
|
||||
fun wash1 : Verb ;
|
||||
fun pitch1 : Verb ;
|
||||
fun prosper1 : Verb ;
|
||||
fun preserve1 : Verb ;
|
||||
fun present1 : Verb ;
|
||||
fun prevail1 : Verb ;
|
||||
fun pray1 : Verb ;
|
||||
fun plant1 : Verb ;
|
||||
fun place1 : Verb ;
|
||||
fun part1 : Verb ;
|
||||
fun pass1 : Verb ;
|
||||
fun pursue1 : Verb ;
|
||||
fun purchase1 : Verb ;
|
||||
fun appoint1 : Verb ;
|
||||
fun appear1 : Verb ;
|
||||
fun accept1 : Verb ;
|
||||
fun ask1 : Verb ;
|
||||
fun ass1 : N ;
|
||||
fun ass2 : PN ;
|
||||
fun another1 : PN ;
|
||||
fun answer1 : Verb ;
|
||||
fun curse1 : Verb ;
|
||||
fun circumcise1 : Verb ;
|
||||
fun cry1 : Verb ;
|
||||
fun cease1 : Verb ;
|
||||
fun certain1 : Adj ;
|
||||
fun change1 : Verb ;
|
||||
fun charge1 : Verb ;
|
||||
fun children1 : PN ;
|
||||
fun cause1 : Verb ;
|
||||
fun camel1 : N ;
|
||||
fun call1 : Verb ;
|
||||
fun carry1 : Verb ;
|
||||
fun consume1 : Verb ;
|
||||
fun conceive1 : Verb ;
|
||||
fun corrupt1 : Verb ;
|
||||
fun couch1 : Verb ;
|
||||
fun commune1 : Verb ;
|
||||
fun command1 : Verb ;
|
||||
fun comfort1 : Verb ;
|
||||
fun increase1 : Verb ;
|
||||
fun intreat1 : Verb ;
|
||||
fun interpret1 : Verb ;
|
||||
fun Nahor1 : PN ;
|
||||
fun Noah1 : PN ;
|
||||
fun Esau1 : PN ;
|
||||
fun Ephraim1 : PN ;
|
||||
fun Egyptian1 : N ;
|
||||
}
|
||||
245
lib/resource-0.6/shallow/english/LexEng.gf
Normal file
245
lib/resource-0.6/shallow/english/LexEng.gf
Normal file
@@ -0,0 +1,245 @@
|
||||
--# -path=.:..:../../../prelude:../../abstract:../../english
|
||||
concrete LexEng of LexAbs = ShallowEng ** open ParadigmsEng in {
|
||||
lin journey1 = vGen "journey" ;
|
||||
lin judge1 = vGen "judge" ;
|
||||
lin Dinah1 = pnReg "Dinah" ;
|
||||
lin On1 = mkAdj1 "On" ;
|
||||
lin Rachel1 = pnReg "Rachel" ;
|
||||
lin Rebekah1 = pnReg "Rebekah" ;
|
||||
lin Laban1 = pnReg "Laban" ;
|
||||
lin Leah1 = pnReg "Leah" ;
|
||||
lin Lot1 = pnReg "Lot" ;
|
||||
lin Lotan1 = pnReg "Lotan" ;
|
||||
lin Pharaoh1 = pnReg "Pharaoh" ;
|
||||
lin Hamor1 = pnReg "Hamor" ;
|
||||
lin right1 = mkAdj1 "right" ;
|
||||
lin roll1 = vGen "roll" ;
|
||||
lin rule1 = vGen "rule" ;
|
||||
lin rain1 = vGen "rain" ;
|
||||
lin reign1 = vGen "reign" ;
|
||||
lin receive1 = vGen "receive" ;
|
||||
lin reward1 = vGen "reward" ;
|
||||
lin reach1 = vGen "reach" ;
|
||||
lin remember1 = vGen "remember" ;
|
||||
lin remove1 = vGen "remove" ;
|
||||
lin refrain1 = vGen "refrain" ;
|
||||
lin rest1 = vGen "rest" ;
|
||||
lin restore1 = vGen "restore" ;
|
||||
lin return1 = vGen "return" ;
|
||||
lin require1 = vGen "require" ;
|
||||
lin Bless1 = vGen "Bless" ;
|
||||
lin Benjamin1 = pnReg "Benjamin" ;
|
||||
lin number1 = vGen "number" ;
|
||||
lin name1 = vGen "name" ;
|
||||
lin nourish1 = vGen "nourish" ;
|
||||
lin guard1 = pnReg "guard" ;
|
||||
lin gather1 = vGen "gather" ;
|
||||
lin gracious1 = mkAdj1 "gracious" ;
|
||||
lin great1 = mkAdj1 "great" ;
|
||||
lin go1 = mkAdj1 "go" ;
|
||||
lin good1 = mkAdj1 "good" ;
|
||||
lin Manasseh1 = pnReg "Manasseh" ;
|
||||
lin kill1 = vGen "kill" ;
|
||||
lin kiss1 = vGen "kiss" ;
|
||||
lin king1 = nNonhuman "king" ;
|
||||
lin kind1 = mkAdj1 "kind" ;
|
||||
lin know1 = mkAdj1 "know" ;
|
||||
lin lodge1 = vGen "lodge" ;
|
||||
lin love1 = vGen "love" ;
|
||||
lin lord1 = nNonhuman "lord" ;
|
||||
lin look1 = vGen "look" ;
|
||||
lin leap1 = vGen "leap" ;
|
||||
lin light1 = vGen "light" ;
|
||||
lin light2 = mkAdj1 "light" ;
|
||||
lin lift1 = vGen "lift" ;
|
||||
lin lion1 = pnReg "lion" ;
|
||||
lin live1 = vGen "live" ;
|
||||
lin laugh1 = vGen "laugh" ;
|
||||
lin lad1 = nNonhuman "lad" ;
|
||||
lin lad2 = vGen "lad" ;
|
||||
lin lade1 = vGen "lade" ;
|
||||
lin Abimelech1 = pnReg "Abimelech" ;
|
||||
lin Abram1 = pnReg "Abram" ;
|
||||
lin Abraham1 = pnReg "Abraham" ;
|
||||
lin Ishmael1 = pnReg "Ishmael" ;
|
||||
lin Isaac1 = pnReg "Isaac" ;
|
||||
lin Israel1 = pnReg "Israel" ;
|
||||
lin God1 = pnReg "God" ;
|
||||
lin vow1 = vGen "vow" ;
|
||||
lin very1 = mkAdj1 "very" ;
|
||||
lin visit1 = vGen "visit" ;
|
||||
lin smell1 = vGen "smell" ;
|
||||
lin scatter1 = vGen "scatter" ;
|
||||
lin stand1 = mkAdj1 "stand" ;
|
||||
lin stay1 = vGen "stay" ;
|
||||
lin sister1 = pnReg "sister" ;
|
||||
lin see1 = vGen "see" ;
|
||||
lin seem1 = vGen "seem" ;
|
||||
lin seek1 = mkAdj1 "seek" ;
|
||||
lin secret1 = mkAdj1 "secret" ;
|
||||
lin separate1 = vGen "separate" ;
|
||||
lin serve1 = vGen "serve" ;
|
||||
lin servant1 = nNonhuman "servant" ;
|
||||
lin spoil1 = vGen "spoil" ;
|
||||
lin sojourn1 = vGen "sojourn" ;
|
||||
lin sow1 = vGen "sow" ;
|
||||
lin sore1 = mkAdj1 "sore" ;
|
||||
lin son1 = nNonhuman "son" ;
|
||||
lin sad1 = mkAdj1 "sad" ;
|
||||
lin sack1 = nNonhuman "sack" ;
|
||||
lin save1 = vGen "save" ;
|
||||
lin saw1 = mkAdj1 "saw" ;
|
||||
lin sure1 = mkAdj1 "sure" ;
|
||||
lin should1 = mkAdj1 "should" ;
|
||||
lin she1 = vGen "she" ;
|
||||
lin shew1 = vGen "shew" ;
|
||||
lin master1 = pnReg "master" ;
|
||||
lin marry1 = vGen "marry" ;
|
||||
lin may1 = mkAdj1 "may" ;
|
||||
lin man1 = pnReg "man" ;
|
||||
lin mock1 = vGen "mock" ;
|
||||
lin mother1 = pnReg "mother" ;
|
||||
lin mourn1 = vGen "mourn" ;
|
||||
lin men1 = pnReg "men" ;
|
||||
lin mean1 = mkAdj1 "mean" ;
|
||||
lin multiply1 = vGen "multiply" ;
|
||||
lin fill1 = vGen "fill" ;
|
||||
lin finish1 = vGen "finish" ;
|
||||
lin find1 = mkAdj1 "find" ;
|
||||
lin follow1 = vGen "follow" ;
|
||||
lin form1 = vGen "form" ;
|
||||
lin forty1 = pnReg "forty" ;
|
||||
lin fetch1 = vGen "fetch" ;
|
||||
lin fear1 = vGen "fear" ;
|
||||
lin fear2 = mkAdj1 "fear" ;
|
||||
lin favour1 = vGen "favour" ;
|
||||
lin faint1 = vGen "faint" ;
|
||||
lin fail1 = vGen "fail" ;
|
||||
lin father1 = nNonhuman "father" ;
|
||||
lin She1 = vGen "She" ;
|
||||
lin Shechem1 = pnReg "Shechem" ;
|
||||
lin Sarai1 = pnReg "Sarai" ;
|
||||
lin Sarah1 = pnReg "Sarah" ;
|
||||
lin Judah1 = pnReg "Judah" ;
|
||||
lin Jacob1 = pnReg "Jacob" ;
|
||||
lin Joseph1 = pnReg "Joseph" ;
|
||||
lin dry1 = vGen "dry" ;
|
||||
lin dress1 = vGen "dress" ;
|
||||
lin dream1 = vGen "dream" ;
|
||||
lin deliver1 = vGen "deliver" ;
|
||||
lin desire1 = vGen "desire" ;
|
||||
lin destroy1 = vGen "destroy" ;
|
||||
lin depart1 = vGen "depart" ;
|
||||
lin devour1 = vGen "devour" ;
|
||||
lin do1 = mkAdj1 "do" ;
|
||||
lin double1 = vGen "double" ;
|
||||
lin day1 = nNonhuman "day" ;
|
||||
lin dwell1 = vGen "dwell" ;
|
||||
lin discern1 = vGen "discern" ;
|
||||
lin distress1 = vGen "distress" ;
|
||||
lin displease1 = vGen "displease" ;
|
||||
lin divide1 = vGen "divide" ;
|
||||
lin die1 = vGen "die" ;
|
||||
lin bad1 = mkAdj1 "bad" ;
|
||||
lin bless1 = vGen "bless" ;
|
||||
lin build1 = vGen "build" ;
|
||||
lin bury1 = vGen "bury" ;
|
||||
lin brother1 = pnReg "brother" ;
|
||||
lin breath1 = vGen "breath" ;
|
||||
lin bow1 = vGen "bow" ;
|
||||
lin be1 = vGen "be" ;
|
||||
lin bed1 = pnReg "bed" ;
|
||||
lin yield1 = vGen "yield" ;
|
||||
lin young1 = mkAdj1 "young" ;
|
||||
lin your1 = pnReg "your" ;
|
||||
lin obey1 = vGen "obey" ;
|
||||
lin open1 = vGen "open" ;
|
||||
lin open2 = mkAdj1 "open" ;
|
||||
lin on1 = mkAdj1 "on" ;
|
||||
lin our1 = nNonhuman "our" ;
|
||||
lin offer1 = vGen "offer" ;
|
||||
lin turn1 = vGen "turn" ;
|
||||
lin tarry1 = vGen "tarry" ;
|
||||
lin till1 = mkAdj1 "till" ;
|
||||
lin twenty1 = pnReg "twenty" ;
|
||||
lin travail1 = vGen "travail" ;
|
||||
lin touch1 = vGen "touch" ;
|
||||
lin ten1 = pnReg "ten" ;
|
||||
lin their1 = pnReg "their" ;
|
||||
lin escape1 = vGen "escape" ;
|
||||
lin establish1 = vGen "establish" ;
|
||||
lin exceeding1 = mkAdj1 "exceeding" ;
|
||||
lin enter1 = vGen "enter" ;
|
||||
lin end1 = vGen "end" ;
|
||||
lin eat1 = mkAdj1 "eat" ;
|
||||
lin empty1 = vGen "empty" ;
|
||||
lin embalm1 = vGen "embalm" ;
|
||||
lin hard1 = mkAdj1 "hard" ;
|
||||
lin hast1 = vGen "hast" ;
|
||||
lin haste1 = vGen "haste" ;
|
||||
lin hang1 = vGen "hang" ;
|
||||
lin hate1 = vGen "hate" ;
|
||||
lin hire1 = vGen "hire" ;
|
||||
lin he1 = vGen "he" ;
|
||||
lin hearken1 = vGen "hearken" ;
|
||||
lin would1 = mkAdj1 "would" ;
|
||||
lin worship1 = vGen "worship" ;
|
||||
lin woman1 = pnReg "woman" ;
|
||||
lin weary1 = vGen "weary" ;
|
||||
lin well1 = nNonhuman "well" ;
|
||||
lin went1 = mkAdj1 "went" ;
|
||||
lin widow1 = pnReg "widow" ;
|
||||
lin wicked1 = mkAdj1 "wicked" ;
|
||||
lin wife1 = pnReg "wife" ;
|
||||
lin wander1 = vGen "wander" ;
|
||||
lin water1 = vGen "water" ;
|
||||
lin walk1 = vGen "walk" ;
|
||||
lin wash1 = vGen "wash" ;
|
||||
lin pitch1 = vGen "pitch" ;
|
||||
lin prosper1 = vGen "prosper" ;
|
||||
lin preserve1 = vGen "preserve" ;
|
||||
lin present1 = vGen "present" ;
|
||||
lin prevail1 = vGen "prevail" ;
|
||||
lin pray1 = vGen "pray" ;
|
||||
lin plant1 = vGen "plant" ;
|
||||
lin place1 = vGen "place" ;
|
||||
lin part1 = vGen "part" ;
|
||||
lin pass1 = vGen "pass" ;
|
||||
lin pursue1 = vGen "pursue" ;
|
||||
lin purchase1 = vGen "purchase" ;
|
||||
lin appoint1 = vGen "appoint" ;
|
||||
lin appear1 = vGen "appear" ;
|
||||
lin accept1 = vGen "accept" ;
|
||||
lin ask1 = vGen "ask" ;
|
||||
lin ass1 = nNonhuman "ass" ;
|
||||
lin ass2 = pnReg "ass" ;
|
||||
lin another1 = pnReg "another" ;
|
||||
lin answer1 = vGen "answer" ;
|
||||
lin curse1 = vGen "curse" ;
|
||||
lin circumcise1 = vGen "circumcise" ;
|
||||
lin cry1 = vGen "cry" ;
|
||||
lin cease1 = vGen "cease" ;
|
||||
lin certain1 = mkAdj1 "certain" ;
|
||||
lin change1 = vGen "change" ;
|
||||
lin charge1 = vGen "charge" ;
|
||||
lin children1 = pnReg "children" ;
|
||||
lin cause1 = vGen "cause" ;
|
||||
lin camel1 = nNonhuman "camel" ;
|
||||
lin call1 = vGen "call" ;
|
||||
lin carry1 = vGen "carry" ;
|
||||
lin consume1 = vGen "consume" ;
|
||||
lin conceive1 = vGen "conceive" ;
|
||||
lin corrupt1 = vGen "corrupt" ;
|
||||
lin couch1 = vGen "couch" ;
|
||||
lin commune1 = vGen "commune" ;
|
||||
lin command1 = vGen "command" ;
|
||||
lin comfort1 = vGen "comfort" ;
|
||||
lin increase1 = vGen "increase" ;
|
||||
lin intreat1 = vGen "intreat" ;
|
||||
lin interpret1 = vGen "interpret" ;
|
||||
lin Nahor1 = pnReg "Nahor" ;
|
||||
lin Noah1 = pnReg "Noah" ;
|
||||
lin Esau1 = pnReg "Esau" ;
|
||||
lin Ephraim1 = pnReg "Ephraim" ;
|
||||
lin Egyptian1 = nNonhuman "Egyptian" ;
|
||||
}
|
||||
21
lib/resource-0.6/shallow/english/english.para
Normal file
21
lib/resource-0.6/shallow/english/english.para
Normal file
@@ -0,0 +1,21 @@
|
||||
N!nNonhuman: car cars |car's|cars'|
|
||||
N!nNonhuman: bab/y babies |baby's|babies'|
|
||||
N!nNonhuman: bos/s bosses |boss's|bosses'|
|
||||
PN!pnReg: john john's *johns
|
||||
Verb!vGen: walk walked
|
||||
Verb!vGen: ja/m jammed
|
||||
Verb!vGen: ra/p rapped
|
||||
Verb!vGen: shar/e shared
|
||||
Verb!vGen: sp/y spied
|
||||
Verb!vGen: kis/s kissed
|
||||
Adj!mkAdj1: slow |slowest|slowly|
|
||||
Adj!mkAdj1: bi/g |biggest|bigly|
|
||||
Adj!mkAdj1: happ/y |happiest|happily|
|
||||
--
|
||||
-- To do then:
|
||||
-- grep fun koe >LexAbs.gf
|
||||
-- grep lin koe >LexEng.gf
|
||||
-- And prefix these files with
|
||||
-- abstract LexAbs = Shallow ** {
|
||||
-- --# -path=.:..:../../../prelude:../../abstract:../../english
|
||||
-- concrete LexEng of LexAbs = ShallowEng ** open ParadigmsEng in {
|
||||
148
lib/resource-0.6/shallow/swedish/Lex.gf
Normal file
148
lib/resource-0.6/shallow/swedish/Lex.gf
Normal file
@@ -0,0 +1,148 @@
|
||||
abstract Lex = Shallow ** {
|
||||
fun regn1 : N ;
|
||||
fun revben1 : N ;
|
||||
fun räkna1 : Verb ;
|
||||
fun rädda1 : Verb ;
|
||||
fun räcka1 : Verb ;
|
||||
fun rätt1 : N ;
|
||||
fun rop1 : N ;
|
||||
fun port1 : N ;
|
||||
fun para1 : Verb ;
|
||||
fun pläga1 : Verb ;
|
||||
fun prisa1 : Verb ;
|
||||
fun pröva1 : Verb ;
|
||||
fun präst1 : N ;
|
||||
fun D1 : N ;
|
||||
fun utplåna1 : Verb ;
|
||||
fun upprätta1 : Verb ;
|
||||
fun Gera1 : Verb ;
|
||||
fun släkt1 : N ;
|
||||
fun slakta1 : Verb ;
|
||||
fun slut1 : N ;
|
||||
fun sluta1 : Verb ;
|
||||
fun svara1 : Verb ;
|
||||
fun spräcklig1 : Adj ;
|
||||
fun sten1 : N ;
|
||||
fun stycke1 : N ;
|
||||
fun strimmig1 : Adj ;
|
||||
fun stanna1 : Verb ;
|
||||
fun stadga1 : Verb ;
|
||||
fun stoft1 : N ;
|
||||
fun söka1 : Verb ;
|
||||
fun synda1 : Verb ;
|
||||
fun säck1 : N ;
|
||||
fun så1 : Verb ;
|
||||
fun sina1 : Verb ;
|
||||
fun skynda1 : Verb ;
|
||||
fun skämta1 : Verb ;
|
||||
fun skänk1 : N ;
|
||||
fun ske1 : Verb ;
|
||||
fun skaffa1 : Verb ;
|
||||
fun skara1 : N ;
|
||||
fun samla1 : Verb ;
|
||||
fun flytta1 : Verb ;
|
||||
fun femtedel1 : N ;
|
||||
fun får1 : N ;
|
||||
fun fängsla1 : Verb ;
|
||||
fun fäst1 : N ;
|
||||
fun folk1 : N ;
|
||||
fun frukt1 : N ;
|
||||
fun frukta1 : Verb ;
|
||||
fun fråga1 : Verb ;
|
||||
fun föröka1 : Verb ;
|
||||
fun förkunna1 : Verb ;
|
||||
fun förbanna1 : Verb ;
|
||||
fun förbund1 : N ;
|
||||
fun fördärva1 : Verb ;
|
||||
fun förvärva1 : Verb ;
|
||||
fun dräpa1 : Verb ;
|
||||
fun dag1 : N ;
|
||||
fun döda1 : Verb ;
|
||||
fun nådig1 : Adj ;
|
||||
fun namn1 : N ;
|
||||
fun vin1 : N ;
|
||||
fun vinträd1 : N ;
|
||||
fun vila1 : Verb ;
|
||||
fun vädur1 : N ;
|
||||
fun växa1 : Verb ;
|
||||
fun välsigna1 : Verb ;
|
||||
fun vakta1 : Verb ;
|
||||
fun vandra1 : Verb ;
|
||||
fun vattna1 : Verb ;
|
||||
fun vagn1 : N ;
|
||||
fun vara1 : Verb ;
|
||||
fun tvista1 : Verb ;
|
||||
fun tjänstekvinna1 : N ;
|
||||
fun tjäna1 : Verb ;
|
||||
fun tjänarinna1 : N ;
|
||||
fun tjänare1 : N ;
|
||||
fun tält1 : N ;
|
||||
fun tänka1 : Verb ;
|
||||
fun tak1 : N ;
|
||||
fun tal1 : N ;
|
||||
fun tala1 : Verb ;
|
||||
fun träd1 : N ;
|
||||
fun trösta1 : Verb ;
|
||||
fun torn1 : N ;
|
||||
fun åsna1 : N ;
|
||||
fun åkalla1 : Verb ;
|
||||
fun år1 : N ;
|
||||
fun gåva1 : N ;
|
||||
fun gods1 : N ;
|
||||
fun buga1 : Verb ;
|
||||
fun budbärare1 : N ;
|
||||
fun bo1 : Verb ;
|
||||
fun blod1 : N ;
|
||||
fun brokig1 : Adj ;
|
||||
fun bruka1 : Verb ;
|
||||
fun brunn1 : N ;
|
||||
fun bröd1 : N ;
|
||||
fun bevisa1 : Verb ;
|
||||
fun bevara1 : Verb ;
|
||||
fun berg1 : N ;
|
||||
fun berätta1 : Verb ;
|
||||
fun befallning1 : N ;
|
||||
fun behandla1 : Verb ;
|
||||
fun baka1 : Verb ;
|
||||
fun barn1 : N ;
|
||||
fun balsamera1 : Verb ;
|
||||
fun otillbörlig1 : Adj ;
|
||||
fun offra1 : Verb ;
|
||||
fun omstörta1 : Verb ;
|
||||
fun hjord1 : N ;
|
||||
fun hövding1 : N ;
|
||||
fun höga1 : Verb ;
|
||||
fun högtidlig1 : Adj ;
|
||||
fun hebré1 : N ;
|
||||
fun heta1 : Verb ;
|
||||
fun heta2 : Verb ;
|
||||
fun hämta1 : Verb ;
|
||||
fun härstamma1 : Verb ;
|
||||
fun hus1 : N ;
|
||||
fun husfolk1 : N ;
|
||||
fun hav1 : N ;
|
||||
fun harpa1 : N ;
|
||||
fun lyssna1 : Verb ;
|
||||
fun ljus1 : N ;
|
||||
fun lägra1 : Verb ;
|
||||
fun lämna1 : Verb ;
|
||||
fun låga1 : N ;
|
||||
fun liv1 : N ;
|
||||
fun ledsaga1 : Verb ;
|
||||
fun lova1 : Verb ;
|
||||
fun land1 : N ;
|
||||
fun kunna1 : Verb ;
|
||||
fun källa1 : N ;
|
||||
fun kasta1 : Verb ;
|
||||
fun kalla1 : Verb ;
|
||||
fun konung1 : N ;
|
||||
fun kvinna1 : N ;
|
||||
fun killing1 : N ;
|
||||
fun idka1 : Verb ;
|
||||
fun inbyggare1 : N ;
|
||||
fun möta1 : Verb ;
|
||||
fun mäktig1 : Adj ;
|
||||
fun märka1 : Verb ;
|
||||
fun människa1 : N ;
|
||||
fun misshaga1 : Verb ;
|
||||
}
|
||||
150
lib/resource-0.6/shallow/swedish/LexSwe.gf
Normal file
150
lib/resource-0.6/shallow/swedish/LexSwe.gf
Normal file
@@ -0,0 +1,150 @@
|
||||
--# -path=.:..:../../../prelude:../../abstract:../../swedish
|
||||
|
||||
concrete LexSwe of Lex = ShallowSwe ** open ParadigmsSwe in {
|
||||
lin regn1 = nRep "regn" ;
|
||||
lin revben1 = nRep "revben" ;
|
||||
lin räkna1 = vKoka "räkna" ;
|
||||
lin rädda1 = vKoka "rädda" ;
|
||||
lin räcka1 = vSteka "räcka" ;
|
||||
lin rätt1 = nRisk "rätt" ;
|
||||
lin rop1 = nRep "rop" ;
|
||||
lin port1 = nBil "port" ;
|
||||
lin para1 = vKoka "para" ;
|
||||
lin pläga1 = vKoka "pläga" ;
|
||||
lin prisa1 = vKoka "prisa" ;
|
||||
lin pröva1 = vKoka "pröva" ;
|
||||
lin präst1 = nRisk "präst" ;
|
||||
lin D1 = nRep "D" ;
|
||||
lin utplåna1 = vKoka "utplåna" ;
|
||||
lin upprätta1 = vKoka "upprätta" ;
|
||||
lin Gera1 = vKoka "Gera" ;
|
||||
lin släkt1 = nRep "släkt" ;
|
||||
lin slakta1 = vKoka "slakta" ;
|
||||
lin slut1 = nRep "slut" ;
|
||||
lin sluta1 = vKoka "sluta" ;
|
||||
lin svara1 = vKoka "svara" ;
|
||||
lin spräcklig1 = adjReg "spräcklig" ;
|
||||
lin sten1 = nBil "sten" ;
|
||||
lin stycke1 = nDike "stycke" ;
|
||||
lin strimmig1 = adjReg "strimmig" ;
|
||||
lin stanna1 = vKoka "stanna" ;
|
||||
lin stadga1 = vKoka "stadga" ;
|
||||
lin stoft1 = nRep "stoft" ;
|
||||
lin söka1 = vSteka "söka" ;
|
||||
lin synda1 = vKoka "synda" ;
|
||||
lin säck1 = nBil "säck" ;
|
||||
lin så1 = vBo "så" ;
|
||||
lin sina1 = vKoka "sina" ;
|
||||
lin skynda1 = vKoka "skynda" ;
|
||||
lin skämta1 = vKoka "skämta" ;
|
||||
lin skänk1 = nRisk "skänk" ;
|
||||
lin ske1 = vBo "ske" ;
|
||||
lin skaffa1 = vKoka "skaffa" ;
|
||||
lin skara1 = nApa "skara" ;
|
||||
lin samla1 = vKoka "samla" ;
|
||||
lin flytta1 = vKoka "flytta" ;
|
||||
lin femtedel1 = nBil "femtedel" ;
|
||||
lin får1 = nRep "får" ;
|
||||
lin fängsla1 = vKoka "fängsla" ;
|
||||
lin fäst1 = nRep "fäst" ;
|
||||
lin folk1 = nRep "folk" ;
|
||||
lin frukt1 = nBil "frukt" ;
|
||||
lin frukta1 = vKoka "frukta" ;
|
||||
lin fråga1 = vKoka "fråga" ;
|
||||
lin föröka1 = vKoka "föröka" ;
|
||||
lin förkunna1 = vKoka "förkunna" ;
|
||||
lin förbanna1 = vKoka "förbanna" ;
|
||||
lin förbund1 = nRep "förbund" ;
|
||||
lin fördärva1 = vKoka "fördärva" ;
|
||||
lin förvärva1 = vKoka "förvärva" ;
|
||||
lin dräpa1 = vSteka "dräpa" ;
|
||||
lin dag1 = nBil "dag" ;
|
||||
lin döda1 = vKoka "döda" ;
|
||||
lin nådig1 = adjReg "nådig" ;
|
||||
lin namn1 = nRep "namn" ;
|
||||
lin vin1 = nRep "vin" ;
|
||||
lin vinträd1 = nRep "vinträd" ;
|
||||
lin vila1 = vKoka "vila" ;
|
||||
lin vädur1 = nBil "vädur" ;
|
||||
lin växa1 = vSteka "växa" ;
|
||||
lin välsigna1 = vKoka "välsigna" ;
|
||||
lin vakta1 = vKoka "vakta" ;
|
||||
lin vandra1 = vKoka "vandra" ;
|
||||
lin vattna1 = vKoka "vattna" ;
|
||||
lin vagn1 = nBil "vagn" ;
|
||||
lin vara1 = vKoka "vara" ;
|
||||
lin tvista1 = vKoka "tvista" ;
|
||||
lin tjänstekvinna1 = nApa "tjänstekvinna" ;
|
||||
lin tjäna1 = vKoka "tjäna" ;
|
||||
lin tjänarinna1 = nApa "tjänarinna" ;
|
||||
lin tjänare1 = nMurare "tjänare" ;
|
||||
lin tält1 = nRep "tält" ;
|
||||
lin tänka1 = vSteka "tänka" ;
|
||||
lin tak1 = nRep "tak" ;
|
||||
lin tal1 = nRep "tal" ;
|
||||
lin tala1 = vKoka "tala" ;
|
||||
lin träd1 = nRep "träd" ;
|
||||
lin trösta1 = vKoka "trösta" ;
|
||||
lin torn1 = nRep "torn" ;
|
||||
lin åsna1 = nApa "åsna" ;
|
||||
lin åkalla1 = vKoka "åkalla" ;
|
||||
lin år1 = nRep "år" ;
|
||||
lin gåva1 = nApa "gåva" ;
|
||||
lin gods1 = nRep "gods" ;
|
||||
lin buga1 = vKoka "buga" ;
|
||||
lin budbärare1 = nMurare "budbärare" ;
|
||||
lin bo1 = vBo "bo" ;
|
||||
lin blod1 = nRep "blod" ;
|
||||
lin brokig1 = adjReg "brokig" ;
|
||||
lin bruka1 = vKoka "bruka" ;
|
||||
lin brunn1 = nBil "brunn" ;
|
||||
lin bröd1 = nRep "bröd" ;
|
||||
lin bevisa1 = vKoka "bevisa" ;
|
||||
lin bevara1 = vKoka "bevara" ;
|
||||
lin berg1 = nRep "berg" ;
|
||||
lin berätta1 = vKoka "berätta" ;
|
||||
lin befallning1 = nBil "befallning" ;
|
||||
lin behandla1 = vKoka "behandla" ;
|
||||
lin baka1 = vKoka "baka" ;
|
||||
lin barn1 = nRep "barn" ;
|
||||
lin balsamera1 = vKoka "balsamera" ;
|
||||
lin otillbörlig1 = adjReg "otillbörlig" ;
|
||||
lin offra1 = vKoka "offra" ;
|
||||
lin omstörta1 = vKoka "omstörta" ;
|
||||
lin hjord1 = nBil "hjord" ;
|
||||
lin hövding1 = nBil "hövding" ;
|
||||
lin höga1 = vSteka "höga" ;
|
||||
lin högtidlig1 = adjReg "högtidlig" ;
|
||||
lin hebré1 = nRisk "hebré" ;
|
||||
lin heta1 = vKoka "heta" ;
|
||||
lin heta2 = vSteka "heta" ;
|
||||
lin hämta1 = vKoka "hämta" ;
|
||||
lin härstamma1 = vKoka "härstamma" ;
|
||||
lin hus1 = nRep "hus" ;
|
||||
lin husfolk1 = nRep "husfolk" ;
|
||||
lin hav1 = nRep "hav" ;
|
||||
lin harpa1 = nApa "harpa" ;
|
||||
lin lyssna1 = vKoka "lyssna" ;
|
||||
lin ljus1 = nRep "ljus" ;
|
||||
lin lägra1 = vKoka "lägra" ;
|
||||
lin lämna1 = vKoka "lämna" ;
|
||||
lin låga1 = nApa "låga" ;
|
||||
lin liv1 = nRep "liv" ;
|
||||
lin ledsaga1 = vKoka "ledsaga" ;
|
||||
lin lova1 = vKoka "lova" ;
|
||||
lin land1 = nRep "land" ;
|
||||
lin kunna1 = vKoka "kunna" ;
|
||||
lin källa1 = nApa "källa" ;
|
||||
lin kasta1 = vKoka "kasta" ;
|
||||
lin kalla1 = vKoka "kalla" ;
|
||||
lin konung1 = nBil "konung" ;
|
||||
lin kvinna1 = nApa "kvinna" ;
|
||||
lin killing1 = nBil "killing" ;
|
||||
lin idka1 = vKoka "idka" ;
|
||||
lin inbyggare1 = nMurare "inbyggare" ;
|
||||
lin möta1 = vSteka "möta" ;
|
||||
lin mäktig1 = adjReg "mäktig" ;
|
||||
lin märka1 = vSteka "märka" ;
|
||||
lin människa1 = nApa "människa" ;
|
||||
lin misshaga1 = vKoka "misshaga" ;
|
||||
}
|
||||
12
lib/resource-0.6/shallow/swedish/swe.para
Normal file
12
lib/resource-0.6/shallow/swedish/swe.para
Normal file
@@ -0,0 +1,12 @@
|
||||
N!nApa: ap/a apor
|
||||
N!nBil: bil bilen bilar
|
||||
N!nNyckel: cyk/el cykeln cyklar
|
||||
N!nRisk: vals valserna
|
||||
N!nDike: rik/e riket rikena
|
||||
N!nRep: val valet
|
||||
N!nMurare: kik/are kikarna
|
||||
Adj1!adjReg: bill/ig billigt
|
||||
Adj1!adjReg: dyr dyrt dyra |dyraste|dyrare|dyrast|
|
||||
V!vKoka: tal/a |talar|talade|talat|
|
||||
V!vSteka: lek/a leker |lekte|lekt|
|
||||
V!vBo: sy syr sydde
|
||||
@@ -69,9 +69,9 @@ oper
|
||||
nKikare : Str -> N ; -- kikare (kikaren, kikare, kikarna) ; utrum
|
||||
|
||||
-- Nouns used as functions need a preposition. The most common ones are "av",
|
||||
-- "på", and "till".
|
||||
-- "på", and "till". A preposition is a string.
|
||||
|
||||
mkFun : N -> Preposition -> Fun ;
|
||||
mkFun : N -> Str -> Fun ;
|
||||
funAv : N -> Fun ;
|
||||
funPaa : N -> Fun ;
|
||||
funTill : N -> Fun ;
|
||||
@@ -157,8 +157,14 @@ oper
|
||||
|
||||
-- Two-place verbs, and the special case with direct object.
|
||||
|
||||
mkTV : V -> Preposition -> TV ; -- tycka, om
|
||||
tvDir : V -> TV ; -- gilla
|
||||
mkTV : V -> Str -> TV ; -- tycka, om
|
||||
tvDir : V -> TV ; -- gilla
|
||||
|
||||
-- Ditransitive verbs.
|
||||
|
||||
mkV3 : V -> Str -> Str -> V3 ; -- prata, med, om
|
||||
v3Dir : V -> Str -> V3 ; -- ge,_,till
|
||||
v3DirDir : V -> V3 ; -- ge,_,_
|
||||
|
||||
-- The definitions should not bother the user of the API. So they are
|
||||
-- hidden from the document.
|
||||
@@ -288,5 +294,8 @@ oper
|
||||
mkPartV v p = {s = v.s ; s1 = p ; lock_V = <>} ;
|
||||
mkTV x y = mkTransVerb x y ** {lock_TV = <>} ;
|
||||
tvDir = \v -> mkTV v [] ;
|
||||
mkV3 x y z = mkDitransVerb x y z ** {lock_V3 = <>} ;
|
||||
v3Dir x y = mkV3 x [] y ;
|
||||
v3DirDir x = v3Dir x [] ;
|
||||
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user