forked from GitHub/gf-core
more shallow grs
This commit is contained in:
@@ -33,6 +33,12 @@ oper
|
|||||||
nounY : Str -> CommonNoun = \fl ->
|
nounY : Str -> CommonNoun = \fl ->
|
||||||
mkNoun (fl + "y") (fl + "ies") (fl + "y's") (fl + "ies'") ;
|
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
|
--3 Proper names
|
||||||
--
|
--
|
||||||
-- Regular proper names are inflected with "'s" in the genitive.
|
-- Regular proper names are inflected with "'s" in the genitive.
|
||||||
@@ -174,6 +180,13 @@ oper
|
|||||||
verbP3y : Str -> VerbP3 = \cr ->
|
verbP3y : Str -> VerbP3 = \cr ->
|
||||||
mkVerbP3 (cr + "y") (cr + "ies") (cr + "ied") (cr + "ied") ;
|
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" ;
|
verbP3Have = mkVerbP3 "have" "has" "had" "had" ;
|
||||||
|
|
||||||
verbP3Do = mkVerbP3 "do" "does" "did" "done" ;
|
verbP3Do = mkVerbP3 "do" "does" "did" "done" ;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
-- expressions of basic categories: nouns, adjectives, verbs.
|
-- expressions of basic categories: nouns, adjectives, verbs.
|
||||||
--
|
--
|
||||||
-- Closed categories (determiners, pronouns, conjunctions) are
|
-- 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
|
-- The main difference with $MorphoEng.gf$ is that the types
|
||||||
-- referred to are compiled resource grammar types. We have moreover
|
-- referred to are compiled resource grammar types. We have moreover
|
||||||
@@ -148,6 +148,12 @@ oper
|
|||||||
|
|
||||||
tvPartReg : Str -> Str -> Str -> TV ; -- get, along, with
|
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
|
-- The definitions should not bother the user of the API. So they are
|
||||||
-- hidden from the document.
|
-- hidden from the document.
|
||||||
--.
|
--.
|
||||||
@@ -239,4 +245,7 @@ oper
|
|||||||
tvDir = \v -> mkTV v [] ;
|
tvDir = \v -> mkTV v [] ;
|
||||||
tvGenDir = \s -> tvDir (vGen s) ;
|
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 ;
|
Verb ;
|
||||||
TV ;
|
TV ;
|
||||||
Adj ;
|
Adj ;
|
||||||
|
N ;
|
||||||
Noun ;
|
Noun ;
|
||||||
CN ;
|
CN ;
|
||||||
NP ;
|
NP ;
|
||||||
|
PN ;
|
||||||
Adv ;
|
Adv ;
|
||||||
Prep ;
|
Prep ;
|
||||||
|
|
||||||
@@ -48,7 +50,9 @@ abstract Shallow = {
|
|||||||
PrepNP : Prep -> NP -> Adv ;
|
PrepNP : Prep -> NP -> Adv ;
|
||||||
PrepNoun : CN -> Prep -> NP -> CN ;
|
PrepNoun : CN -> Prep -> NP -> CN ;
|
||||||
CNNoun : Noun -> CN ;
|
CNNoun : Noun -> CN ;
|
||||||
|
NounN : N -> Noun ;
|
||||||
DefNP, IndefNP, EveryNP, AllNP : CN -> NP ;
|
DefNP, IndefNP, EveryNP, AllNP : CN -> NP ;
|
||||||
|
UsePN : PN -> NP ;
|
||||||
|
|
||||||
PossessPrep : Prep ;
|
PossessPrep : Prep ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,11 @@ incomplete concrete ShallowI of Shallow = open (Resource = Resource) in {
|
|||||||
Verb = Resource.V ;
|
Verb = Resource.V ;
|
||||||
TV = Resource.TV ;
|
TV = Resource.TV ;
|
||||||
Adj = Resource.Adj1 ;
|
Adj = Resource.Adj1 ;
|
||||||
|
N = Resource.N ;
|
||||||
Noun = Resource.CN ;
|
Noun = Resource.CN ;
|
||||||
CN = Resource.CN ;
|
CN = Resource.CN ;
|
||||||
NP = Resource.NP ;
|
NP = Resource.NP ;
|
||||||
|
PN = Resource.PN ;
|
||||||
Adv = Resource.AdV ;
|
Adv = Resource.AdV ;
|
||||||
Det = Resource.Det ;
|
Det = Resource.Det ;
|
||||||
Prep = Resource.Prep ;
|
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 ;
|
ModNoun a n = Resource.ModAdj (Resource.AdjP1 a) n ;
|
||||||
PrepNP = Resource.PrepNP ;
|
PrepNP = Resource.PrepNP ;
|
||||||
PrepNoun f p x = Resource.AdvCN f (Resource.PrepNP p x) ;
|
PrepNoun f p x = Resource.AdvCN f (Resource.PrepNP p x) ;
|
||||||
|
NounN = Resource.UseN ;
|
||||||
CNNoun n = n ;
|
CNNoun n = n ;
|
||||||
|
|
||||||
AllNP = Resource.DetNP (Resource.AllNumDet Resource.NoNum) ;
|
AllNP = Resource.DetNP (Resource.AllNumDet Resource.NoNum) ;
|
||||||
EveryNP = Resource.DetNP Resource.EveryDet ;
|
EveryNP = Resource.DetNP Resource.EveryDet ;
|
||||||
DefNP = Resource.DefOneNP ;
|
DefNP = Resource.DefOneNP ;
|
||||||
IndefNP = Resource.IndefOneNP ;
|
IndefNP = Resource.IndefOneNP ;
|
||||||
|
UsePN = Resource.UsePN ;
|
||||||
|
|
||||||
PossessPrep = Resource.PossessPrep ;
|
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
|
nKikare : Str -> N ; -- kikare (kikaren, kikare, kikarna) ; utrum
|
||||||
|
|
||||||
-- Nouns used as functions need a preposition. The most common ones are "av",
|
-- 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 ;
|
funAv : N -> Fun ;
|
||||||
funPaa : N -> Fun ;
|
funPaa : N -> Fun ;
|
||||||
funTill : N -> Fun ;
|
funTill : N -> Fun ;
|
||||||
@@ -157,8 +157,14 @@ oper
|
|||||||
|
|
||||||
-- Two-place verbs, and the special case with direct object.
|
-- Two-place verbs, and the special case with direct object.
|
||||||
|
|
||||||
mkTV : V -> Preposition -> TV ; -- tycka, om
|
mkTV : V -> Str -> TV ; -- tycka, om
|
||||||
tvDir : V -> TV ; -- gilla
|
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
|
-- The definitions should not bother the user of the API. So they are
|
||||||
-- hidden from the document.
|
-- hidden from the document.
|
||||||
@@ -288,5 +294,8 @@ oper
|
|||||||
mkPartV v p = {s = v.s ; s1 = p ; lock_V = <>} ;
|
mkPartV v p = {s = v.s ; s1 = p ; lock_V = <>} ;
|
||||||
mkTV x y = mkTransVerb x y ** {lock_TV = <>} ;
|
mkTV x y = mkTransVerb x y ** {lock_TV = <>} ;
|
||||||
tvDir = \v -> mkTV v [] ;
|
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