From a02731acc42ad083f4f9897060c2c843f0b8a584 Mon Sep 17 00:00:00 2001
From: aarne
Date: Wed, 25 Jan 2006 13:58:50 +0000
Subject: [PATCH] howto document updated
---
lib/resource-1.0/doc/German.dot | 110 +++++++++++++++++++++++
lib/resource-1.0/doc/Resource-HOWTO.html | 86 ++++++++++--------
lib/resource-1.0/doc/Resource-HOWTO.txt | 11 +++
3 files changed, 169 insertions(+), 38 deletions(-)
create mode 100644 lib/resource-1.0/doc/German.dot
diff --git a/lib/resource-1.0/doc/German.dot b/lib/resource-1.0/doc/German.dot
new file mode 100644
index 000000000..2927af446
--- /dev/null
+++ b/lib/resource-1.0/doc/German.dot
@@ -0,0 +1,110 @@
+digraph {
+
+size = "12,12" ;
+
+LangGer [style = "dashed", shape = "box", URL = "LangGer.gf"];
+LangGer -> NounGer [style = "solid"];
+LangGer -> VerbGer [style = "solid"];
+LangGer -> ConjunctionGer [style = "solid"];
+LangGer -> StructuralGer [style = "solid"];
+LangGer -> LexiconGer [style = "solid"];
+LangGer -> Lang [arrowhead = "empty", style = "dashed"];
+
+Lang [style = "solid", shape = "ellipse", URL = "Lang.gf"];
+Lang -> Noun [style = "solid"];
+Lang -> Verb [style = "solid"];
+Lang -> Conjunction [style = "solid"];
+Lang -> Structural [style = "solid"];
+Lang -> Lexicon [style = "solid"];
+
+NounGer [style = "dashed", shape = "box", URL = "NounGer.gf"];
+NounGer -> CatGer [style = "solid"];
+NounGer -> ResGer [style = "dotted"];
+NounGer -> Prelude [style = "dotted"];
+NounGer -> Noun [arrowhead = "empty", style = "dashed"];
+
+Noun [style = "solid", shape = "ellipse", URL = "Noun.gf"];
+Noun -> Cat [style = "solid"];
+
+VerbGer [style = "dashed", shape = "box", URL = "VerbGer.gf"];
+VerbGer -> CatGer [style = "solid"];
+VerbGer -> Prelude [style = "dotted"];
+VerbGer -> ResGer [style = "dotted"];
+VerbGer -> Verb [arrowhead = "empty", style = "dashed"];
+
+Verb [style = "solid", shape = "ellipse", URL = "Verb.gf"];
+Verb -> Cat [style = "solid"];
+
+ConjunctionGer [style = "dashed", shape = "box", URL = "ConjunctionGer.gf"];
+ConjunctionGer -> CatGer [style = "solid"];
+ConjunctionGer -> ResGer [style = "dotted"];
+ConjunctionGer -> Coordination [style = "dotted"];
+ConjunctionGer -> Prelude [style = "dotted"];
+ConjunctionGer -> Conjunction [arrowhead = "empty", style = "dashed"];
+
+Conjunction [style = "solid", shape = "ellipse", URL = "Conjunction.gf"];
+Conjunction -> Cat [style = "solid"];
+
+Coordination [style = "dashed", shape = "ellipse", URL = "Coordination.gf"];
+Coordination -> Prelude [style = "dotted"];
+
+StructuralGer [style = "dashed", shape = "box", URL = "StructuralGer.gf"];
+StructuralGer -> CatGer [style = "solid"];
+StructuralGer -> MorphoGer [style = "dotted"];
+StructuralGer -> Prelude [style = "dotted"];
+StructuralGer -> Structural [arrowhead = "empty", style = "dashed"];
+
+Structural [style = "solid", shape = "ellipse", URL = "Structural.gf"];
+Structural -> Cat [style = "solid"];
+
+LexiconGer [style = "dashed", shape = "box", URL = "LexiconGer.gf"];
+LexiconGer -> CatGer [style = "solid"];
+LexiconGer -> Prelude [style = "dotted"];
+LexiconGer -> ParadigmsGer [style = "dotted"];
+LexiconGer -> Lexicon [arrowhead = "empty", style = "dashed"];
+
+Lexicon [style = "solid", shape = "ellipse", URL = "Lexicon.gf"];
+Lexicon -> Cat [style = "solid"];
+
+ParadigmsGer [style = "dashed", shape = "ellipse", URL = "ParadigmsGer.gf"];
+ParadigmsGer -> Predef [style = "dotted"];
+ParadigmsGer -> Prelude [style = "dotted"];
+ParadigmsGer -> MorphoGer [style = "dotted"];
+ParadigmsGer -> CatGer [style = "dotted"];
+
+CatGer [style = "dashed", shape = "box", URL = "CatGer.gf"];
+CatGer -> TenseX [style = "solid"];
+CatGer -> ResGer [style = "dotted"];
+CatGer -> Prelude [style = "dotted"];
+CatGer -> Cat [arrowhead = "empty", style = "dashed"];
+
+Cat [style = "solid", shape = "ellipse", URL = "Cat.gf"];
+Cat -> Tense [style = "solid"];
+
+TenseX [style = "dashed", shape = "box", URL = "TenseX.gf"];
+TenseX -> ParamX [style = "dotted"];
+TenseX -> Tense [arrowhead = "empty", style = "dashed"];
+
+Tense [style = "solid", shape = "ellipse", URL = "Tense.gf"];
+
+MorphoGer [style = "dashed", shape = "ellipse", URL = "MorphoGer.gf"];
+MorphoGer -> ResGer [style = "solid"];
+MorphoGer -> Prelude [style = "dotted"];
+MorphoGer -> Predef [style = "dotted"];
+
+ResGer [style = "dashed", shape = "ellipse", URL = "ResGer.gf"];
+ResGer -> ParamGer [style = "solid"];
+ResGer -> Prelude [style = "dotted"];
+
+ParamGer [style = "dashed", shape = "ellipse", URL = "ParamGer.gf"];
+ParamGer -> ParamX [style = "solid"];
+
+ParamX [style = "dashed", shape = "ellipse", URL = "ParamX.gf"];
+ParamX -> Prelude [style = "dotted"];
+
+Prelude [style = "dashed", shape = "ellipse", URL = "Prelude.gf"];
+Prelude -> Predef [style = "dotted"];
+
+Predef [style = "dashed", shape = "ellipse", URL = "Predef.gf"];
+
+}
diff --git a/lib/resource-1.0/doc/Resource-HOWTO.html b/lib/resource-1.0/doc/Resource-HOWTO.html
index 2dc7e144f..88837fbdd 100644
--- a/lib/resource-1.0/doc/Resource-HOWTO.html
+++ b/lib/resource-1.0/doc/Resource-HOWTO.html
@@ -7,7 +7,7 @@
Resource grammar writing HOWTO
Author: Aarne Ranta <aarne (at) cs.chalmers.se>
-Last update: Wed Jan 25 14:52:10 2006
+Last update: Wed Jan 25 14:58:45 2006
@@ -19,32 +19,33 @@ Last update: Wed Jan 25 14:52:10 2006
Phrase category modules
Infrastructure modules
Lexical modules
+ A reduced API
- Phases of the work
+ Phases of the work
- Inside grammar modules
+ Inside grammar modules
- Lexicon extension
+ Lexicon extension
- Writing an instance of parametrized resource grammar implementation
- Parametrizing a resource grammar implementation
+ Writing an instance of parametrized resource grammar implementation
+ Parametrizing a resource grammar implementation
@@ -166,8 +167,17 @@ application grammars are likely to use the resource in different ways for
different languages.
-Phases of the work
+A reduced API
+
+If you want to experiment with a small subset of the resource API first,
+try out the module
+Syntax
+explained in the
+GF Tutorial.
+
+Phases of the work
+
Putting up a directory
Unless you are writing an instance of a parametrized implementation
@@ -246,7 +256,7 @@ as e.g. VerbGer.
-
+
The develop-test cycle
The real work starts now. The order in which the Phrase modules
@@ -311,7 +321,7 @@ follow soon. (You will found out that these explanations involve
a rational reconstruction of the live process! Among other things, the
API was changed during the actual process to make it more intuitive.)
-
+
Resource modules used
These modules will be written by you.
@@ -336,7 +346,7 @@ package.
Predefined: general-purpose operations with hard-coded definitions
-
+
Morphology and lexicon
When the implementation of Test is complete, it is time to
@@ -416,7 +426,7 @@ These constants are defined in terms of parameter types and constructors
in ResGer and MorphoGer, which modules are are not
visible to the application grammarian.
-
+
Lock fields
An important difference between MorphoGer and
@@ -463,7 +473,7 @@ in her hidden definitions of constants in Paradigms. For instance,
-- mkAdv s = {s = s ; lock_Adv = <>} ;
-
+
Lexicon construction
The lexicon belonging to LangGer consists of two modules:
@@ -483,20 +493,20 @@ the coverage of the paradigms gets thereby tested and that the
use of the paradigms in BasicGer gives a good set of examples for
those who want to build new lexica.
-
+
Inside grammar modules
So far we just give links to the implementations of each API.
More explanation iś to follow - but many detail implementation tricks
are only found in the cooments of the modules.
-
+
The category system
-
+
Phrase category modules
-
+
Resource modules
-
+
Lexicon
-
-Lexicon extension
+Lexicon extension
+
The irregularity lexicon
It may be handy to provide a separate module of irregular
@@ -541,7 +551,7 @@ few hundred perhaps. Building such a lexicon separately also
makes it less important to cover everything by the
worst-case paradigms (mkV etc).
-
+
Lexicon extraction from a word list
You can often find resources such as lists of
@@ -576,7 +586,7 @@ When using ready-made word lists, you should think about
coyright issues. Ideally, all resource grammar material should
be provided under GNU General Public License.
-
+
Lexicon extraction from raw text data
This is a cheap technique to build a lexicon of thousands
@@ -584,7 +594,7 @@ of words, if text data is available in digital format.
See the Functional Morphology
homepage for details.
-
+
Extending the resource grammar API
Sooner or later it will happen that the resource grammar API
@@ -593,7 +603,7 @@ that it does not include idiomatic expressions in a given language.
The solution then is in the first place to build language-specific
extension modules. This chapter will deal with this issue.
-
+
Writing an instance of parametrized resource grammar implementation
Above we have looked at how a resource implementation is built by
@@ -611,7 +621,7 @@ use parametrized modules. The advantages are
In this chapter, we will look at an example: adding Italian to
the Romance family.
-
+
Parametrizing a resource grammar implementation
This is the most demanding form of resource grammar writing.
diff --git a/lib/resource-1.0/doc/Resource-HOWTO.txt b/lib/resource-1.0/doc/Resource-HOWTO.txt
index ceac5bc43..25e7c40a6 100644
--- a/lib/resource-1.0/doc/Resource-HOWTO.txt
+++ b/lib/resource-1.0/doc/Resource-HOWTO.txt
@@ -119,6 +119,17 @@ different languages.
+===A reduced API===
+
+If you want to experiment with a small subset of the resource API first,
+try out the module
+[Syntax http://www.cs.chalmers.se/~aarne/GF/doc/tutorial/resource/Syntax.gf]
+explained in the
+[GF Tutorial http://www.cs.chalmers.se/~aarne/GF/doc/tutorial/gf-tutorial2.html].
+
+
+
+
==Phases of the work==
===Putting up a directory===