Commit 13309219 authored by di68kap's avatar di68kap
Browse files

- MLW Dokumentation

parent bb00ba15
...@@ -43,7 +43,7 @@ LemmaVariante = LAT_WORT [Zusatz] # Ist eine Lemma immer ein einzelnes Wor ...@@ -43,7 +43,7 @@ LemmaVariante = LAT_WORT [Zusatz] # Ist eine Lemma immer ein einzelnes Wor
GrammatikPosition = ZWW "GRAMMATIK" [LZ] §Grammatik { ABS GrammatikVariante } GrammatikPosition = ZWW "GRAMMATIK" [LZ] §Grammatik { ABS GrammatikVariante }
Grammatik = wortart §ABS flexion [genus] Grammatik = wortart §ABS flexion [[";"] genus]
wortart = nomen | verb | adverb | adjektiv | praeposition wortart = nomen | verb | adverb | adjektiv | praeposition
nomen = "nomen" | "n." nomen = "nomen" | "n."
...@@ -62,7 +62,8 @@ maskulinum = "maskulinum" | "m." ...@@ -62,7 +62,8 @@ maskulinum = "maskulinum" | "m."
femininum = "femininum" | "f." femininum = "femininum" | "f."
neutrum = "neutrum" | "n." neutrum = "neutrum" | "n."
GrammatikVariante = [wortart ABS] flexion [genus] DPP Beleg { FORTSETZUNG Beleg } # Beleg { SEM Beleg }
GrammatikVariante = [wortart ABS] flexion [[";"] genus] DPP Beleg { FORTSETZUNG Beleg } # Beleg { SEM Beleg }
......
...@@ -102,7 +102,7 @@ class MLWGrammar(Grammar): ...@@ -102,7 +102,7 @@ class MLWGrammar(Grammar):
GrammatikPosition = ZWW "GRAMMATIK" [LZ] §Grammatik { ABS GrammatikVariante } GrammatikPosition = ZWW "GRAMMATIK" [LZ] §Grammatik { ABS GrammatikVariante }
Grammatik = wortart §ABS flexion [genus] Grammatik = wortart §ABS flexion [";"] [genus]
wortart = nomen | verb | adverb | adjektiv | praeposition wortart = nomen | verb | adverb | adjektiv | praeposition
nomen = "nomen" | "n." nomen = "nomen" | "n."
...@@ -121,7 +121,8 @@ class MLWGrammar(Grammar): ...@@ -121,7 +121,8 @@ class MLWGrammar(Grammar):
femininum = "femininum" | "f." femininum = "femininum" | "f."
neutrum = "neutrum" | "n." neutrum = "neutrum" | "n."
GrammatikVariante = [wortart ABS] flexion [genus] DPP Beleg { FORTSETZUNG Beleg } # Beleg { SEM Beleg }
GrammatikVariante = [wortart ABS] flexion [";"] [genus] DPP Beleg { FORTSETZUNG Beleg } # Beleg { SEM Beleg }
...@@ -258,8 +259,6 @@ class MLWGrammar(Grammar): ...@@ -258,8 +259,6 @@ class MLWGrammar(Grammar):
ziel = PFAD_NAME # /[\w=?.%&\[\] ]+/ ziel = PFAD_NAME # /[\w=?.%&\[\] ]+/
#### GENERISCHE UND ATOMARE AUSDRÜCKE ######################################## #### GENERISCHE UND ATOMARE AUSDRÜCKE ########################################
PFAD_NAME = /[\w=?.%&\[\] ]+/ PFAD_NAME = /[\w=?.%&\[\] ]+/
...@@ -327,7 +326,7 @@ class MLWGrammar(Grammar): ...@@ -327,7 +326,7 @@ class MLWGrammar(Grammar):
flexion = Forward() flexion = Forward()
genus = Forward() genus = Forward()
wortart = Forward() wortart = Forward()
source_hash__ = "d2e7f9b37c45e9df1e67ccf382641f36" source_hash__ = "85e451ba51497e7812801dc7a7062bf2"
parser_initialization__ = "upon instantiation" parser_initialization__ = "upon instantiation"
COMMENT__ = r'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)' COMMENT__ = r'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
WHITESPACE__ = r'[\t ]*' WHITESPACE__ = r'[\t ]*'
...@@ -450,7 +449,7 @@ class MLWGrammar(Grammar): ...@@ -450,7 +449,7 @@ class MLWGrammar(Grammar):
EtymologieBesonderheit = Synonym(EINZEILER) EtymologieBesonderheit = Synonym(EINZEILER)
EtymologieVariante = Alternative(LAT, Series(GRI, Option(EtymologieBesonderheit), Option(Series(Token("ETYM"), Etymologie)), DPP, Beleg)) EtymologieVariante = Alternative(LAT, Series(GRI, Option(EtymologieBesonderheit), Option(Series(Token("ETYM"), Etymologie)), DPP, Beleg))
EtymologiePosition = Series(ZWW, Token("ETYMOLOGIE"), Option(LZ), OneOrMore(EtymologieVariante)) EtymologiePosition = Series(ZWW, Token("ETYMOLOGIE"), Option(LZ), OneOrMore(EtymologieVariante))
GrammatikVariante = Series(Option(Series(wortart, ABS)), flexion, Option(genus), DPP, Beleg, ZeroOrMore(Series(FORTSETZUNG, Beleg))) GrammatikVariante = Series(Option(Series(wortart, ABS)), flexion, Option(Token(";")), Option(genus), DPP, Beleg, ZeroOrMore(Series(FORTSETZUNG, Beleg)))
neutrum = Alternative(Token("neutrum"), Token("n.")) neutrum = Alternative(Token("neutrum"), Token("n."))
femininum = Alternative(Token("femininum"), Token("f.")) femininum = Alternative(Token("femininum"), Token("f."))
maskulinum = Alternative(Token("maskulinum"), Token("m.")) maskulinum = Alternative(Token("maskulinum"), Token("m."))
...@@ -465,7 +464,7 @@ class MLWGrammar(Grammar): ...@@ -465,7 +464,7 @@ class MLWGrammar(Grammar):
verb = Alternative(Token("verb"), Token("v.")) verb = Alternative(Token("verb"), Token("v."))
nomen = Alternative(Token("nomen"), Token("n.")) nomen = Alternative(Token("nomen"), Token("n."))
wortart.set(Alternative(nomen, verb, adverb, adjektiv, praeposition)) wortart.set(Alternative(nomen, verb, adverb, adjektiv, praeposition))
Grammatik = Series(wortart, ABS, flexion, Option(genus), mandatory=1) Grammatik = Series(wortart, ABS, flexion, Option(Token(";")), Option(genus), mandatory=1)
GrammatikPosition = Series(ZWW, Token("GRAMMATIK"), Option(LZ), Grammatik, ZeroOrMore(Series(ABS, GrammatikVariante)), mandatory=3) GrammatikPosition = Series(ZWW, Token("GRAMMATIK"), Option(LZ), Grammatik, ZeroOrMore(Series(ABS, GrammatikVariante)), mandatory=3)
LemmaVariante = Series(LAT_WORT, Option(Zusatz)) LemmaVariante = Series(LAT_WORT, Option(Zusatz))
LemmaVarianten = Series(LemmaVariante, ZeroOrMore(Series(Option(Alternative(Token(";"), Token(","))), Option(ZW), LemmaVariante)), Option(Series(ABS, Zusatz))) LemmaVarianten = Series(LemmaVariante, ZeroOrMore(Series(Option(Alternative(Token(";"), Token(","))), Option(ZW), LemmaVariante)), Option(Series(ABS, Zusatz)))
......
MLW Notation
=============
Im folgenden wird die vereinfachte Notation für MLW-Artikel beschrieben.
Die vereinfachte Notation erlaubt es einen Artikel mit einem Text-Editor
einzugeben und dann automatisch nach XML zu übersetzen.
Um die Beschreibung einfach zu halten, wird im Folgenden der Standardfall
eines MLW-Artikels beschrieben. Sonderfälle, die strukturelle Abweichungen
beinhalten können, werden später erklärt.
Grobstruktur
------------
Jeder Artikel besteht aus einer Folge von Beschreibungsblöcken,
sogenannten "Positionen", die jeweils durch
ein vollständig großgeschriebenes Schlüsselwort, wie z.B. "BEDEUTUNG",
eingeleit. Ein Block endet immer dort, wo der nächste Artikelteil
anfängt. (Eine Ausnahme bilden Unterbedeutungsblöcke, die ineinander
verschachtelt sein können und immer dort aufhören, wo ein neuer Artikelteil
derselben oder einer niedrigeren Ebene beginnt.)
Die Abfolge der Blöcke sieht so aus:
LEMMA
GRAMMATIK
[ETYMOLOGIE]
[SCHREIBWEISE]
[STRUKTUR]
[GEBRAUCH]
[METRIK]
[VERWECHSELBAR]
BEDEUTUNG
UNTER_BEDEUTUNG
.
.
.
.
.
.
VERWEISE
AUTORIN
Die Blöcke in eckigen Klammern bilden den Artikelkopf. Sie sind optional,
d.h. sie dürfen vorkommen, müssen aber nicht, und ihre Reihenfolge ist beliebig.
Mit Ausnahme der Blöcke im Artikelkopf hat jeder dieser Blöcke jeweils eine
eigene Feinstruktur. Die Blöcke im Artikelkopf haben alle ein- und dieselbe
Feinstruktur.
Feinstruktur
------------
Im folgenden wird die Feinstruktur der einzelnen Positionen beschrieben.
Der Einfachheit halber werden zunächst nur die Standardfälle dargestellt.
### LEMMA-Position
Die Lemmaposition wird durch das Schlüsselword LEMMA eingeleitet, gefolgt von
dem möglicherweise gesternten Lemmawort. Durch Zeilenwechsel getrennt
können darauf mehrere Lemmavarianten folgen, die immer vollständig
ausgeschrieben werden müssen. (Die Abkürzungen werden vom Computer
automatisch generiert.) Zum Schluss kann, wiederum durch eine Leerzeile
getrennt, noch ein Zusatzhinweis des Bearbeiters oder der Bearbeiterin
folgen.
Beispiel:
LEMMA *facitergula
fascitergula
facietergula
facistergula
facitercula
{sim.}
Die zusätzliche Leerzeile zur deutlicheren optischen Trennung von Lemmawort
und Lemmavarianten ist nicht zwingend und kann auch weggelassen werden,
ebenso wie die Einrückung der Lemmavarianten und des Zusatzes.
Zusätze müssen dadurch kenntlich gemacht werden, dass sie in geschweifte
Klammern eingeschlossen werden. (Ohne die geschweiften Klammern könnte der
Computer nicht mit Sicherheit erkennen, dass es sich um einen Zusatz handelt.)
Das allgemeine Format für die LEMMA-Angabe sieht so aus:
LEMMA [*]Lemmawort
[Lemmavariante 1]
[Lemmavariante 2]
.
.
.
{Zusatz}
### GRAMMATIK-Position
Die Grammatik-Position wird durch das Schlüsselwort "GRAMMATIK" eingeleitet.
Darauf folgt die Wortart, die Angabe der Flexion und - bei Nomen - der Genus.
Wortart und Flexion müssen durch ein Semikolon getrennt werden. Zwischen
Flexion und Genus genügt ein Leerzeichen.
Die Flexion wird abgekürzt mit führendem Spiegelstrich angegen, ggf. kann es
mehrere solcher Angaben geben, die durch Komma getrennt sind (z.B. "-us, -i").
Der Genus kann in abgekürzter Form ("f.") oder in ausgeschriebener Form
("femininum") angegeben werden.
Wie schon beim Lemma können in der Grammatik-Position mehrere
Grammatik-Varianten folgen. Bei den Grammatik-Varianten wird keine Wortart
mehr angegeben, sondern lediglich die Flexion und ggf. der Genus.
Nach der Angabe einer Grammatikvariante folgen, abgetrennt durch einen Doppelpunkt
*immer* ein oder mehrere Belege. Bei den Belegen kann es sich immer um einen
einfachen Verweis handeln, oder um direkte Belege mit Werk, Stellenangabe und
ggf. wörtlichem Zitat. Folgen mehrere Belege, so müssen sie durch einen Stern
"*" eingeleitet werden.
Verweise werden wie Zusätze mit geschweiften Klammern umschlossen, wobei direkt
nach der öffnenden Klammer ein Pfleilsymbol ("=>") steht, auf das die Zielmarke folgt.
(Näheres siehe unten).
Beispiel:
GRAMMATIK
nomen; -ae f.
-us, -i m.: {=> ibi_1}
-um, -i n.: {=> ibi_2}
Die allgemeine Form lautet:
GRAMMATIK Wortart; Flexion [Genus]
Flexion [Genus]: Beleg [* Beleg] ...
.
.
.
### Artikelkopf-Positionen
Alle Positionen im Artikelkopf (Etymologie-Position, Schreibweisen-Position,
Struktur-Position, Gebrauchs-Position, Metrik-Position,
Verwechselungs-Position) sind nach demselben Schema aufgebaut.
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment