Commit b36a79ad authored by di68kap's avatar di68kap
Browse files

- MLW ergänzt

parent d3ad3d2e
LEMMA facitergula
fascitergula
facietergula
facistergula
facitercula
fascitergula, facietergula, facistergula, facitercula
ZUSATZ sim.
......@@ -23,7 +20,7 @@ SCHREIBWEISE
BEDEUTUNG
pannus, faciale, sudarium -- Gesichts-, Schweißtuch [usu liturg.; de re v. p. 32, 63]:
LAT pannus, faciale, sudarium -- DEU Gesichts-, Schweißtuch [usu liturg.: de re v. p. 32, 63]:
* Catal.: thes. Germ.; 28,11 (post 851) "-um III."
* Form.: Sangall.; {ibi 2} 39 p. 421,16 "munuscula ... direximus, hoc est palliolum ... ,
......@@ -38,7 +35,7 @@ pannus, faciale, sudarium -- Gesichts-, Schweißtuch [usu liturg.; de re v. p. 3
BEDEUTUNG
capital, rica -- Kopftuch:
LAT capital, rica -- DEU Kopftuch:
* Transl.: Libor. I; 32 "raptis feminarum -is (fa[s]citergiis var. l.)."
* Transl.: Libor. II; 20 "nuditatem membrorum illius (puellae) tegere festinarunt fideles
......
# TODO: Schreibe Skript um die Anführungsstriche in imperium.mlw hinzu zu fügen
m = re.search('\*.*\d\s*(.*\n)', imperium)
......@@ -35,7 +35,7 @@ BEDEUTUNG
UNTER_UNTER_BEDEUTUNG in univ.:
BELEGE
* Leg.: Burgund. Rom. 38,1 si quis ... nullo metu aut imperio ad pacta venire conpellitur, sed libera voluntate pactum inisse cognuscitur eqs.
* Ionas: Bob. Co­lumb. 1,17 p. 185,9 quae (sc. ferae) ad imperium eius statim veniebant.
* Ionas: Bob. Columb. 1,17 p. 185,9 quae (sc. ferae) ad imperium eius statim veniebant.
* Lex: Baiuv. 1,10 hoc (sc. lex) per inperium regis vel iudicis fiat.
* Arbeo: Emm. 16 p. 49,17 ex imperio principis ... in ospiti sui scuriam ... deductus est episcopus. persaepe. v. et p. 1407, 57.
......@@ -54,8 +54,7 @@ BEDEUTUNG
BEDEUTUNG
LATEINISCH potestas, dominatio, dicio
DEUTSCH Macht, Herrschaft(sgewalt; plur. sensu sing. : v. ibi. al.)
DEUTSCH Macht, Herrschaft, Herrschaftsgewalt [plur. sensu sing. : -> { v. ibi. al. }]
UNTER_BEDEUTUNG proprie:
......@@ -69,8 +68,7 @@ BEDEUTUNG
* Chart.: Mekl. 783 quo (tempore) ... dominus Iohannes gubernavit eiusdem imperium civitatis. al. v. et p. 1402, 47.
UNTER_UNTER_BEDEUTUNG
LATEINISCH imperatorum (regum, ducum : v. ibi. al.)
UNTER_UNTER_BEDEUTUNG imperatorum [regum, ducum : -> { v. ibi. al. }]:
UUU_BEDEUTUNG usu communi:
BELEGE
......
......@@ -33,7 +33,7 @@ Lemma = [< klassisch | gesichert >] LemmaWort
LemmaWort = LAT_WORT
LemmaVarianten = LemmaVariante { [TR] LemmaVariante }
LemmaVarianten = LemmaVariante { [","] [ZW] LemmaVariante }
[[TR] Zusatz]
LemmaVariante = LAT_WORT
......@@ -100,25 +100,25 @@ Gegenstand = EINZEILER
#### BEDEUTUNGS-POSITION #####################################################
BedeutungsPosition = { ZWW "BEDEUTUNG" [LZ] §Bedeutung [U1Bedeutung] }+
U1Bedeutung = { ZWW ("U_BEDEUTUNG" | "UNTERBEDEUTUNG") [LZ] §Bedeutung [U2Bedeutung] }+
U2Bedeutung = { ZWW ("UU_BEDEUTUNG" | "UNTERUNTERBEDEUTUNG") [LZ] §Bedeutung [U3Bedeutung] }+
U1Bedeutung = { ZWW ("U_BEDEUTUNG" | "UNTER_BEDEUTUNG") [LZ] §Bedeutung [U2Bedeutung] }+
U2Bedeutung = { ZWW ("UU_BEDEUTUNG" | "UNTER_UNTER_BEDEUTUNG") [LZ] §Bedeutung [U3Bedeutung] }+
U3Bedeutung = { ZWW "UUU_BEDEUTUNG" [LZ] §Bedeutung [U4Bedeutung] }+
U4Bedeutung = { ZWW "UUUU_BEDEUTUNG" [LZ] §Bedeutung [U5Bedeutung] }+
U5Bedeutung = { ZWW "UUUUU_BEDEUTUNG" [LZ] §UntersteBedeutung }+
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = EINZEILER §":" [LZ]
Interpretamente = LateinischeBedeutung [LZ] §DeutscheBedeutung
LateinischeBedeutung = [LZ] LateinischerAusdruck { <","|ZW> LateinischerAusdruck }
DeutscheBedeutung = [LZ] DeutscherAusdruck { <","|ZW> DeutscherAusdruck }
Bedeutungskategorie = EINZEILER [[LZ] BedeutungsQualifikation] §":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|ZW> DeutscherAusdruck }
LateinischerAusdruck = LAT_WORT { //~ LAT_WORT } [/\s*/ BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT { //~ DEU_WORT } [/\s*/ BedeutungsQualifikation]
LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
BedeutungsQualifikation = "[" EINZEILER { <SEM|ZW> EINZEILER } §"]"
BedeutungsQualifikation = "[" Gegenstand DPP (Verweis | EINZEILER) §"]"
BelegPosition = ZWW "BELEGE" ZWW Belege
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
#### VERWEIS-POSITION #####################################################
......@@ -181,37 +181,39 @@ NAMENS_ABKÜRZUNG = /[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
DEU_WORT_ERW = DEU_WORT | ( "(" DEU_WORT ")" )
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-]+/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
DEU_KLEIN = /(?!-)[a-zäöüßę_\-]+/~
LAT_WORT = /(?!-)[a-z|\-_]+/~
LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" )
GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~
ZAHL = /[\d_]+/~
ROEMISCHE_ZAHL = /(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\w])/~
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|[.()\[\]\-]+)/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~
# EINZEILER = /[\w()-. \t]+/~
TEXTELEMENT = DEU_WORT | ZAHL | ROEMISCHE_ZAHL
EINZEILER = { TEXTELEMENT | /(?!->)[.()\-]+/~ | /,(?!,)/~ }+
EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+
FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+
MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+
TR = ABS | LZ # (beliebiger) Trenner
ABS = /\s*;;?\s*/ | ZWW # Abschluss (durch Semikolon oder Zeilenwechsel)
# ZW = /\n/~ # Zeilenwechsel
LZ = /\s+/ # Leerzeichen oder -zeilen
LZ = { COMMENT__ | /\s+/ }+ # Leerzeichen oder -zeilen
DPP = /::?/~ # Doppelpunkt als Trenner
SEM = /;;?/~ # Semikolon als Trenner
ZW = !LÜCKE ZEILENSPRUNG # Zeilenwechsel, aber keine Leerzeile(n)
ZWW = ZEILENSPRUNG [ LEERRAUM ] # mindestens ein Zeilenwechsel
LÜCKE = KOMMENTARZEILEN LEERZEILE [LEERRAUM] # Leerraum mit mindestens einer echten Leerzeile
LEERRAUM = { COMMENT__ | /\s+/ }+ # beliebiger horizontaler oder vertikaler Leerraum
ZWW = ZEILENSPRUNG [ LZ ] # mindestens ein Zeilenwechsel
LÜCKE = KOMMENTARZEILEN LEERZEILE [LZ] # Leerraum mit mindestens einer echten Leerzeile
LEERZEILE = /[ \t]*(?:\n[ \t]*)+\n/ ~/\n?/ # eine oder mehrere echte LEERZEILEN
RZS = /\s*?\n|$/ # Rückwärtiger Zeilensprung oder Textanfang
......
......@@ -85,7 +85,7 @@ class MLWGrammar(Grammar):
LemmaWort = LAT_WORT
LemmaVarianten = LemmaVariante { [TR] LemmaVariante }
LemmaVarianten = LemmaVariante { [","] [ZW] LemmaVariante }
[[TR] Zusatz]
LemmaVariante = LAT_WORT
......@@ -152,25 +152,25 @@ class MLWGrammar(Grammar):
#### BEDEUTUNGS-POSITION #####################################################
BedeutungsPosition = { ZWW "BEDEUTUNG" [LZ] §Bedeutung [U1Bedeutung] }+
U1Bedeutung = { ZWW ("U_BEDEUTUNG" | "UNTERBEDEUTUNG") [LZ] §Bedeutung [U2Bedeutung] }+
U2Bedeutung = { ZWW ("UU_BEDEUTUNG" | "UNTERUNTERBEDEUTUNG") [LZ] §Bedeutung [U3Bedeutung] }+
U1Bedeutung = { ZWW ("U_BEDEUTUNG" | "UNTER_BEDEUTUNG") [LZ] §Bedeutung [U2Bedeutung] }+
U2Bedeutung = { ZWW ("UU_BEDEUTUNG" | "UNTER_UNTER_BEDEUTUNG") [LZ] §Bedeutung [U3Bedeutung] }+
U3Bedeutung = { ZWW "UUU_BEDEUTUNG" [LZ] §Bedeutung [U4Bedeutung] }+
U4Bedeutung = { ZWW "UUUU_BEDEUTUNG" [LZ] §Bedeutung [U5Bedeutung] }+
U5Bedeutung = { ZWW "UUUUU_BEDEUTUNG" [LZ] §UntersteBedeutung }+
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = EINZEILER §":" [LZ]
Interpretamente = LateinischeBedeutung [LZ] §DeutscheBedeutung
Bedeutungskategorie = EINZEILER [[LZ] BedeutungsQualifikation] §":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|ZW> DeutscherAusdruck }
LateinischerAusdruck = LAT_WORT { //~ LAT_WORT } [/\s*/ BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT { //~ DEU_WORT } [/\s*/ BedeutungsQualifikation]
LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
BedeutungsQualifikation = "[" EINZEILER { <SEM|ZW> EINZEILER } §"]"
BedeutungsQualifikation = "[" Gegenstand DPP (Verweis | EINZEILER) §"]"
BelegPosition = ZWW "BELEGE" ZWW Belege
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
#### VERWEIS-POSITION #####################################################
......@@ -233,37 +233,39 @@ class MLWGrammar(Grammar):
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
DEU_WORT_ERW = DEU_WORT | ( "(" DEU_WORT ")" )
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-]+/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
DEU_KLEIN = /(?!-)[a-zäöüßę_\-]+/~
LAT_WORT = /(?!-)[a-z|\-_]+/~
LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" )
GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~
ZAHL = /[\d_]+/~
ROEMISCHE_ZAHL = /(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\w])/~
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|[.()\[\]\-]+)/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~
# EINZEILER = /[\w()-. \t]+/~
TEXTELEMENT = DEU_WORT | ZAHL | ROEMISCHE_ZAHL
EINZEILER = { TEXTELEMENT | /(?!->)[.()\-]+/~ | /,(?!,)/~ }+
EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+
FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+
MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+
TR = ABS | LZ # (beliebiger) Trenner
ABS = /\s*;;?\s*/ | ZWW # Abschluss (durch Semikolon oder Zeilenwechsel)
# ZW = /\n/~ # Zeilenwechsel
LZ = /\s+/ # Leerzeichen oder -zeilen
LZ = { COMMENT__ | /\s+/ }+ # Leerzeichen oder -zeilen
DPP = /::?/~ # Doppelpunkt als Trenner
SEM = /;;?/~ # Semikolon als Trenner
ZW = !LÜCKE ZEILENSPRUNG # Zeilenwechsel, aber keine Leerzeile(n)
ZWW = ZEILENSPRUNG [ LEERRAUM ] # mindestens ein Zeilenwechsel
LÜCKE = KOMMENTARZEILEN LEERZEILE [LEERRAUM] # Leerraum mit mindestens einer echten Leerzeile
LEERRAUM = { COMMENT__ | /\s+/ }+ # beliebiger horizontaler oder vertikaler Leerraum
ZWW = ZEILENSPRUNG [ LZ ] # mindestens ein Zeilenwechsel
LÜCKE = KOMMENTARZEILEN LEERZEILE [LZ] # Leerraum mit mindestens einer echten Leerzeile
LEERZEILE = /[ \t]*(?:\n[ \t]*)+\n/ ~/\n?/ # eine oder mehrere echte LEERZEILEN
RZS = /\s*?\n|$/ # Rückwärtiger Zeilensprung oder Textanfang
......@@ -280,9 +282,13 @@ class MLWGrammar(Grammar):
DEU_WORT = Forward()
FREITEXT = Forward()
GROSSSCHRIFT = Forward()
Gegenstand = Forward()
Kategorien = Forward()
LAT_WORT = Forward()
LZ = Forward()
ROEMISCHE_ZAHL = Forward()
SATZZEICHEN = Forward()
TEIL_SATZZEICHEN = Forward()
TEXTELEMENT = Forward()
ZAHL = Forward()
ZWW = Forward()
......@@ -290,7 +296,7 @@ class MLWGrammar(Grammar):
flexion = Forward()
genus = Forward()
wortart = Forward()
source_hash__ = "3791f32280610295f3748a8a0ed0aa4b"
source_hash__ = "ddde3c1be13790163321ea72d6d5cf14"
parser_initialization__ = "upon instantiation"
COMMENT__ = r'#.*'
WHITESPACE__ = r'[\t ]*'
......@@ -306,31 +312,33 @@ class MLWGrammar(Grammar):
ZEILENSPRUNG = RE('[ \\t]*\\n')
RZS = RegExp('\\s*?\\n|$')
LEERZEILE = Series(RegExp('[ \\t]*(?:\\n[ \\t]*)+\\n'), RE('\\n?', wR='', wL=WSP__))
LEERRAUM = OneOrMore(Alternative(RegExp(COMMENT__), RegExp('\\s+')))
LÜCKE = Series(KOMMENTARZEILEN, LEERZEILE, Option(LEERRAUM))
ZWW.set(Series(ZEILENSPRUNG, Option(LEERRAUM)))
LÜCKE = Series(KOMMENTARZEILEN, LEERZEILE, Option(LZ))
ZWW.set(Series(ZEILENSPRUNG, Option(LZ)))
ZW = Series(NegativeLookahead(LÜCKE), ZEILENSPRUNG)
SEM = RE(';;?')
DPP = RE('::?')
LZ = RegExp('\\s+')
LZ.set(OneOrMore(Alternative(RegExp(COMMENT__), RegExp('\\s+'))))
ABS = Alternative(RegExp('\\s*;;?\\s*'), ZWW)
TR = Alternative(ABS, LZ)
MEHRZEILER = OneOrMore(Alternative(FREITEXT, RegExp('\\s+(?=[\\w,;:.\\(\\)\\-])')))
FREITEXT.set(OneOrMore(Alternative(TEXTELEMENT, SATZZEICHEN, GROSSSCHRIFT)))
EINZEILER = OneOrMore(Alternative(TEXTELEMENT, RE('(?!->)[.()\\-]+'), RE(',(?!,)')))
EINZEILER = OneOrMore(Alternative(TEXTELEMENT, TEIL_SATZZEICHEN))
TEXTELEMENT.set(Alternative(DEU_WORT, ZAHL, ROEMISCHE_ZAHL))
ZEICHENFOLGE = RE('[\\w()-]+')
BUCHSTABENFOLGE = RE('\\w+')
SATZZEICHEN.set(RE('(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|[.()\\[\\]\\-]+)'))
TEIL_SATZZEICHEN.set(RE('(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)'))
SATZZEICHEN.set(RE('(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\\[\\]]+)'))
ROEMISCHE_ZAHL.set(RE('(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\\w])'))
ZAHL.set(RE('[\\d_]+'))
GROSSSCHRIFT.set(RE('(?!-)[A-ZÄÖÜ_\\-]+'))
LAT_WORT = RE('(?!-)[a-z|\\-_]+')
LAT_WORT_ERW = Alternative(LAT_WORT, Series(Token("("), LAT_WORT, Token(")")))
LAT_WORT.set(RE('(?!-)[a-z|\\-_]+'))
DEU_KLEIN = RE('(?!-)[a-zäöüßę_\\-]+')
GRI_BUCHSTABE = RegExp('[αβγδεζηθικλμνξοπρςστυφχψω]')
KLEINBUCHSTABE = RE('[a-zäöü](?=[ \\t\\n])')
GROSSBUCHSTABE = RE('[A-ZÄÖÜ](?=[ \\t\\n])')
DEU_GROSS = RE('[A-ZÄÖÜ][a-zäöüßę_\\-]+')
DEU_WORT_ERW = Alternative(DEU_WORT, Series(Token("("), DEU_WORT, Token(")")))
DEU_WORT.set(Alternative(DEU_GROSS, DEU_KLEIN, GROSSBUCHSTABE))
NAME = RE('[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+')
NAMENS_ABKÜRZUNG = RE('[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\\.')
......@@ -358,23 +366,23 @@ class MLWGrammar(Grammar):
ArtikelVerfasser = Series(ZWW, Alternative(Token("AUTORIN"), Token("AUTOR")), Name)
UnterArtikel = Series(ZWW, Token("UNTER-ARTIKEL"))
VerweisPosition = Series(ZWW, Token("VERWEISE"))
BelegPosition = Series(ZWW, Token("BELEGE"), ZWW, Belege)
BedeutungsQualifikation = Series(Token("["), EINZEILER, ZeroOrMore(Series(SomeOf(SEM, ZW), EINZEILER)), Token("]"), mandatory=3)
DeutscherAusdruck = Series(DEU_WORT, ZeroOrMore(Series(RE(''), DEU_WORT)), Option(Series(RegExp('\\s*'), BedeutungsQualifikation)))
LateinischerAusdruck = Series(LAT_WORT, ZeroOrMore(Series(RE(''), LAT_WORT)), Option(Series(RegExp('\\s*'), BedeutungsQualifikation)))
BelegPosition = Series(ZWW, Option(Series(Token("BELEGE"), Option(LZ))), Belege)
BedeutungsQualifikation = Series(Token("["), Gegenstand, DPP, Alternative(Verweis, EINZEILER), Token("]"), mandatory=4)
DeutscherAusdruck = Series(DEU_WORT_ERW, ZeroOrMore(Series(RE(''), DEU_WORT_ERW)), Option(Series(Option(LZ), BedeutungsQualifikation)))
LateinischerAusdruck = Series(LAT_WORT_ERW, ZeroOrMore(Series(RE(''), LAT_WORT_ERW)), Option(Series(Option(LZ), BedeutungsQualifikation)))
DeutscheBedeutung = Series(DEU, Option(LZ), DeutscherAusdruck, ZeroOrMore(Series(SomeOf(Token(","), ZW), DeutscherAusdruck)))
LateinischeBedeutung = Series(LAT, Option(LZ), LateinischerAusdruck, ZeroOrMore(Series(SomeOf(Token(","), ZW), LateinischerAusdruck)))
Interpretamente = Series(LateinischeBedeutung, Option(LZ), DeutscheBedeutung, mandatory=2)
Bedeutungskategorie = Series(EINZEILER, Token(":"), Option(LZ), mandatory=1)
Interpretamente = Series(LateinischeBedeutung, Alternative(Token("--"), LZ), DeutscheBedeutung, Option(Token(":")), mandatory=2)
Bedeutungskategorie = Series(EINZEILER, Option(Series(Option(LZ), BedeutungsQualifikation)), Token(":"), mandatory=2)
UntersteBedeutung = Series(Interpretamente, Option(BelegPosition))
Bedeutung = Series(Alternative(Interpretamente, Bedeutungskategorie), Option(BelegPosition))
U5Bedeutung = OneOrMore(Series(ZWW, Token("UUUUU_BEDEUTUNG"), Option(LZ), UntersteBedeutung, mandatory=3))
U4Bedeutung = OneOrMore(Series(ZWW, Token("UUUU_BEDEUTUNG"), Option(LZ), Bedeutung, Option(U5Bedeutung), mandatory=3))
U3Bedeutung = OneOrMore(Series(ZWW, Token("UUU_BEDEUTUNG"), Option(LZ), Bedeutung, Option(U4Bedeutung), mandatory=3))
U2Bedeutung = OneOrMore(Series(ZWW, Alternative(Token("UU_BEDEUTUNG"), Token("UNTERUNTERBEDEUTUNG")), Option(LZ), Bedeutung, Option(U3Bedeutung), mandatory=3))
U1Bedeutung = OneOrMore(Series(ZWW, Alternative(Token("U_BEDEUTUNG"), Token("UNTERBEDEUTUNG")), Option(LZ), Bedeutung, Option(U2Bedeutung), mandatory=3))
U2Bedeutung = OneOrMore(Series(ZWW, Alternative(Token("UU_BEDEUTUNG"), Token("UNTER_UNTER_BEDEUTUNG")), Option(LZ), Bedeutung, Option(U3Bedeutung), mandatory=3))
U1Bedeutung = OneOrMore(Series(ZWW, Alternative(Token("U_BEDEUTUNG"), Token("UNTER_BEDEUTUNG")), Option(LZ), Bedeutung, Option(U2Bedeutung), mandatory=3))
BedeutungsPosition = OneOrMore(Series(ZWW, Token("BEDEUTUNG"), Option(LZ), Bedeutung, Option(U1Bedeutung), mandatory=3))
Gegenstand = Synonym(EINZEILER)
Gegenstand.set(Synonym(EINZEILER))
Variante = Series(NegativeLookahead(KATEGORIENZEILE), Gegenstand, DPP, Belege)
Varianten = Series(Variante, ZeroOrMore(Series(ZWW, Variante)))
Besonderheit = Synonym(EINZEILER)
......@@ -401,7 +409,7 @@ class MLWGrammar(Grammar):
Grammatik = Series(wortart, ABS, flexion, Option(genus), mandatory=1)
GrammatikPosition = Series(ZWW, Token("GRAMMATIK"), Option(LZ), Grammatik, ZeroOrMore(Series(ABS, GrammatikVariante)), mandatory=3)
LemmaVariante = Synonym(LAT_WORT)
LemmaVarianten = Series(LemmaVariante, ZeroOrMore(Series(Option(TR), LemmaVariante)), Option(Series(Option(TR), Zusatz)))
LemmaVarianten = Series(LemmaVariante, ZeroOrMore(Series(Option(Token(",")), Option(ZW), LemmaVariante)), Option(Series(Option(TR), Zusatz)))
LemmaWort = Synonym(LAT_WORT)
gesichert = Token("$")
klassisch = Token("*")
......
......@@ -74,7 +74,7 @@ F4: """ \#Kommentar
\# Kommentar"""
[match:LEERRAUM]
[match:LZ]
M1: " "
M2: " # Kommentar"
M3: " "
......@@ -93,7 +93,7 @@ M7: """
"""
[fail:LEERRAUM]
[fail:LZ]
F1: "X"
......
......@@ -13,6 +13,7 @@
2: "fascitergula"
3: """fascitergula facietergula ZUSATZ sim."""
4: """fascitergula, facietergula, fascistergula ZUSATZ sim."""
[fail:LemmaVarianten]
99: * fascitergula
......
[match:BedeutungsPosition]
M1: """
BEDEUTUNG
LAT pannus, faciale, sudarium
DEU Gesichts-, Schweißtuch [usu liturg.; de re v. p. 32, 63]"""
DEU Gesichts-, Schweißtuch [usu liturg.: de re v. p. 32, 63]:"""
[match:Bedeutung]
M1: """LAT capital, rica
DEU Kopftuch
M1: """LAT capital, rica -- DEU Kopftuch:
BELEGE
* Transl.: Libor. I; 32 "raptis feminarum -is (fa[s]citergiis var. l.)."
* Transl.: Libor. II; 20 "nuditatem membrorum illius (puellae) tegere festinarunt fideles
clerici et laici inprimis cum eorum -cula, dein vestibus solitis.""""
M2: """in univ.:
* Leg.: Burgund. Rom. 38,1 si quis ... nullo metu aut imperio ad pacta venire conpellitur, sed libera voluntate pactum inisse cognuscitur eqs.
* Ionas: Bob. Columb. 1,17 p. 185,9 quae (sc. ferae) ad imperium eius statim veniebant.
* Lex: Baiuv. 1,10 hoc (sc. lex) per inperium regis vel iudicis fiat.
* Arbeo: Emm. 16 p. 49,17 ex imperio principis ... in ospiti sui scuriam ... deductus est episcopus. persaepe. v. et p. 1407, 57."""
[fail:Bedeutung]
F1: """capital, rica -- Kopftuch:
* Transl.: Libor. I; 32 "raptis feminarum -is (fa[s]citergiis var. l.)."
* Transl.: Libor. II; 20 "nuditatem membrorum illius (puellae) tegere festinarunt fideles
clerici et laici inprimis cum eorum -cula, dein vestibus solitis." """
[match:Interpretamente]
M1: """LAT capital, rica
DEU Kopftuch"""
M1: """LAT capital, rica -- DEU Kopftuch:"""
M2: """LAT capital, rica
DEU Kopftuch:"""
M3: """LAT capital, rica -- DEU Kopftuch"""
[fail:Interpretamente]
F1: """capital, rica -- DEU Kopftuch:"""
[match:LateinischeBedeutung]
M1: """LAT pannus, faciale, sudarium"""
M2: """LAT capital, rica"""
M2: """LATEINISCH capital, rica"""
[match:DeutscheBedeutung]
M1: """DEU Gesichts-,
Schweißtuch [usu liturg.; de re v. p. 32, 63]"""
M2: """DEU Kopftuch"""
M1: """DEU Gesichts-, Schweißtuch [usu liturg.: de re v. p. 32, 63]"""
M2: """DEUTSCH Kopftuch"""
[match:BelegPosition]
M1: """
BELEGE
* Catal.: thes. Germ.; 28,11 (post 851) "-um III"
* Form.: Sangall.; 39 p. 421,16 "munuscula ... direximus, hoc est palliolum ... ,
-as duas."
......@@ -27,6 +26,7 @@ M6: """Catal.: thes. Germ. -> {ID 0023}; 76,15 "-rulae II"; 40,5 VI "vizregule";
II."; 24,8 "-itella X"; 114,8 VIII "fezdreglę"; 6,24 "fasciutercule VII";
92,6 "fascerculę tres"; 21,20 IIII "festregelę"
ZUSATZ saepe."""
M7: """Ionas: Bob. Columb. 1,17 p. 185,9 quae (sc. ferae) ad imperium eius statim veniebant."""
[fail:Beleg]
F1: "* nächster Beleg"
......
......@@ -222,7 +222,7 @@ Match-test "m4"
)
)
)
(LEERRAUM
(LZ
(:RegExp
""
""
......@@ -308,8 +308,8 @@ Fail-test "f4"
# Kommentar
Test of parser: "LEERRAUM"
==========================
Test of parser: "LZ"
====================
Match-test "m1"
......@@ -319,7 +319,7 @@ Match-test "m1"
### AST
(LEERRAUM
(LZ
(:RegExp
" "
)
......@@ -332,7 +332,7 @@ Match-test "m2"
# Kommentar
### AST
(LEERRAUM
(LZ
(:RegExp
" "
)
......@@ -348,7 +348,7 @@ Match-test "m3"
### AST
(LEERRAUM
(LZ
(:RegExp
" "
)
......@@ -361,7 +361,7 @@ Match-test "m4"
# Kommentar
### AST
(LEERRAUM
(LZ
(:RegExp
"# Kommentar"
)
......@@ -375,7 +375,7 @@ Match-test "m5"
### AST
(LEERRAUM
(LZ
(:RegExp
"# Kommentar"
)
......@@ -397,7 +397,7 @@ Match-test "m6"
### AST
(LEERRAUM
(LZ
(:RegExp
""
""
......@@ -430,7 +430,7 @@ Match-test "m7"
### AST
(LEERRAUM
(LZ
(:RegExp
""
""
......@@ -506,7 +506,7 @@ Match-test "m3"
"# Kommentar"
)
)
(LEERRAUM
(LZ
(:RegExp
""
""
......@@ -531,7 +531,7 @@ Match-test "m4"
""
)
)
(LEERRAUM
(LZ
(:RegExp
""
""
......
......@@ -50,7 +50,7 @@ Match-test "1"
)
(:ZeroOrMore
(:Series
(ZWW
(ZW
(ZEILENSPRUNG
(:RegExp
""
......@@ -65,7 +65,7 @@ Match-test "1"
)
)
(:Series
(ZWW
(ZW
(ZEILENSPRUNG
(:RegExp
""
......@@ -80,7 +80,7 @@ Match-test "1"
)
)
(:Series
(ZWW
(ZW
(ZEILENSPRUNG
(:RegExp
""
......@@ -151,6 +151,69 @@ Match-test "3"
)
)
Match-test "4"
--------------
### Test-code:
fascitergula, facietergula, fascistergula ZUSATZ sim.
### AST
(LemmaVarianten
(LAT_WORT
(:RegExp
"fascitergula"
)
)
(:ZeroOrMore
(:Series
(:Token
(:RegExp
","
)
(:Whitespace
" "
)
)
(LAT_WORT
(:RegExp
"facietergula"
)
)
)
(:Series
(:Token
(:RegExp
","
)
(:Whitespace
" "
)
)
(LAT_WORT
(:RegExp
"fascistergula"
)
(:Whitespace
" "
)
)
)
)
(Zusatz
(:Token