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===