Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit e4813a41 authored by di68kap's avatar di68kap
Browse files

- MLW ergänzt...

parent 2b713018
LEMMA *facitergula LEMMA *facitergula
fascitergula, facietergula, facistergula, facitercula {sim.} fascitergula
facietergula
facistergula
facitercula {sim.}
GRAMMATIK GRAMMATIK
...@@ -18,8 +21,8 @@ SCHREIBWEISE ...@@ -18,8 +21,8 @@ SCHREIBWEISE
BEDEUTUNG BEDEUTUNG
LAT pannus, faciale, sudarium -- LAT pannus, faciale, sudarium
DEU Gesichts-, Schweißtuch {usu liturg.; de re v. {=> eintrag/ibi_X}}: DEU Gesichts-, Schweißtuch {usu liturg.; de re v. {=> eintrag/ibi_X}}
* Catal.: thes. Germ.; 28,11 (post 851) "-um III". * Catal.: thes. Germ.; 28,11 (post 851) "-um III".
* Form.: Sangall.; {#ibi_2} 39 p. 421,16 * Form.: Sangall.; {#ibi_2} 39 p. 421,16
...@@ -34,7 +37,8 @@ DEU Gesichts-, Schweißtuch {usu liturg.; de re v. {=> eintrag/ibi_X}}: ...@@ -34,7 +37,8 @@ DEU Gesichts-, Schweißtuch {usu liturg.; de re v. {=> eintrag/ibi_X}}:
BEDEUTUNG BEDEUTUNG
LAT capital, rica -- DEU Kopftuch: LAT capital, rica
DEU Kopftuch
* Transl.: Libor. I; 32 * Transl.: Libor. I; 32
"raptis feminarum -is (fa[s]citergiis {var. l.})." "raptis feminarum -is (fa[s]citergiis {var. l.})."
...@@ -42,3 +46,24 @@ LAT capital, rica -- DEU Kopftuch: ...@@ -42,3 +46,24 @@ LAT capital, rica -- DEU Kopftuch:
"nuditatem membrorum illius {puellae} tegere festinarunt fideles clerici et laici inprimis cum eorum -cula, dein vestibus solitis." "nuditatem membrorum illius {puellae} tegere festinarunt fideles clerici et laici inprimis cum eorum -cula, dein vestibus solitis."
AUTORIN Weber AUTORIN Weber
// Der folgende Teil wird bis auf die URLs automatisch generiert!
// Kann auch in eine eigene Datei ausgelagert werden.
STELLENVERZEICHNIS fascitergula
* Form.: Sangall.; 39 p. 421,16 {=> URL_1}
* Libri: confrat. I; app. A 6 p. 137,30 {-} // {-} bedeutet: keine URL vorhanden
* Catal.: thes. Germ.;
18,7 {=> URL_3}
28,11 (post 851) {=> URL_4}
76,15 {=> URL_5}
40,5 {=> URL_6}
129a,5 {=> URL_7}
24,8 {=> URL_8}
114,8 {=> URL_9}
6,24 {-}
92,6 {-}
21,20 IIII {=> URL_10}
...@@ -19,6 +19,7 @@ Artikel = [LZ] ...@@ -19,6 +19,7 @@ Artikel = [LZ]
[VerweisPosition] [VerweisPosition]
{ UnterArtikel } { UnterArtikel }
ArtikelVerfasser ArtikelVerfasser
[Stellenverzeichnis]
[LZ] DATEI_ENDE [LZ] DATEI_ENDE
...@@ -33,7 +34,7 @@ Lemma = [< klassisch | gesichert >] LemmaWort ...@@ -33,7 +34,7 @@ Lemma = [< klassisch | gesichert >] LemmaWort
LemmaWort = LAT_WORT LemmaWort = LAT_WORT
LemmaVarianten = LemmaVariante { [","] [ZW] LemmaVariante } LemmaVarianten = LemmaVariante { [";" | ","] [ZW] LemmaVariante } [ ABS Zusatz ]
LemmaVariante = LAT_WORT [Zusatz] LemmaVariante = LAT_WORT [Zusatz]
...@@ -120,7 +121,7 @@ BedeutungsQualifikation = Zusatz # "[" Gegenstand DPP (Verweis | EINZEILER) §"] ...@@ -120,7 +121,7 @@ BedeutungsQualifikation = Zusatz # "[" Gegenstand DPP (Verweis | EINZEILER) §"]
BelegPosition = ZWW ["BELEGE" [LZ]] Belege BelegPosition = ZWW ["BELEGE" [LZ]] Belege
#### VERWEIS-POSITION ##################################################### #### VERWEIS-POSITION ########################################################
VerweisPosition = ZWW "VERWEISE" VerweisPosition = ZWW "VERWEISE"
...@@ -136,9 +137,12 @@ ArtikelVerfasser = ZWW ("AUTORIN" | "AUTOR") Name ...@@ -136,9 +137,12 @@ ArtikelVerfasser = ZWW ("AUTORIN" | "AUTOR") Name
Name = { NAME | NAMENS_ABKÜRZUNG }+ Name = { NAME | NAMENS_ABKÜRZUNG }+
#### STELLENVERWEISE ######################################################### #### STELLENVERZEICHNIS ######################################################
# TODO: Syntax für Stellenverweise Stellenverzeichnis = ZWW "STELLENVERZEICHNIS" [LemmaWort] ZWW Verweisliste
Verweisliste = { [LZ] "*" Stellenverweis }
Stellenverweis = BelegQuelle { [ABS] Stelle (NullVerweis | Verweis) }
NullVerweis = "{" "-" "}"
#### Schlüsselwörter ######################################################### #### Schlüsselwörter #########################################################
...@@ -150,7 +154,6 @@ GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI" ...@@ -150,7 +154,6 @@ GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/ SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
#### ZUSATZ an verschiedenen Stellen der Struktur ############################ #### ZUSATZ an verschiedenen Stellen der Struktur ############################
Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}" }+ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}" }+
...@@ -163,10 +166,10 @@ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "} ...@@ -163,10 +166,10 @@ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}
#### BELEGE ################################################################## #### BELEGE ##################################################################
Belege = ["*"] Beleg { [LZ] "*" Beleg } Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Zusatz] (Verweis [Zitat]) | Zitat ["."] Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Zitat = Quellenangabe Zitat = Quellenangabe
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis> { SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[TR] Zusatz] } [[ZW] BelegText] [[LZ] Zusatz] }
Quellenangabe = [Anker] < BelegQuelle | Verweis > Quellenangabe = [Anker] < BelegQuelle | Verweis >
BelegQuelle = Autor DPP Werk BelegQuelle = Autor DPP Werk
...@@ -208,7 +211,8 @@ DEU_KLEIN = /(?!-)[a-zäöüßę_\-]+/~ ...@@ -208,7 +211,8 @@ DEU_KLEIN = /(?!-)[a-zäöüßę_\-]+/~
LAT_WORT = /(?!-)[a-z|\-_]+/~ LAT_WORT = /(?!-)[a-z|\-_]+/~
LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" ) LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" )
GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~ GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~
ZAHL = /[\d_]+/~ ZAHL = /[\d]+/~
SEITENZAHL = /[\d]+(?:\^(?:(?:\{[\d\w.]+\})|\w))?/~ # Zahl mit optionale folgendem hochgestelltem Buchstaben oder Text
ROEMISCHE_ZAHL = /(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\w])/~ 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 ::
...@@ -217,7 +221,7 @@ TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)/~ # Satzeichen bis au ...@@ -217,7 +221,7 @@ TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)/~ # Satzeichen bis au
BUCHSTABENFOLGE = /\w+/~ BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~ ZEICHENFOLGE = /[\w()-]+/~
# EINZEILER = /[\w()-. \t]+/~ # EINZEILER = /[\w()-. \t]+/~
TEXTELEMENT = DEU_WORT | ZAHL | ROEMISCHE_ZAHL TEXTELEMENT = DEU_WORT | SEITENZAHL | ROEMISCHE_ZAHL
EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+ EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+
FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+ FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+
MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+ MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+
...@@ -243,4 +247,3 @@ FORTSETZUNG = !(ZWW /[^:\n]+[:]/) ...@@ -243,4 +247,3 @@ FORTSETZUNG = !(ZWW /[^:\n]+[:]/)
DATEI_ENDE = !/./ DATEI_ENDE = !/./
NIEMALS = /(?!.)/ NIEMALS = /(?!.)/
DUMMY = "EBNF-Grammatik an dieser Stelle noch nicht definiert!"
...@@ -71,6 +71,7 @@ class MLWGrammar(Grammar): ...@@ -71,6 +71,7 @@ class MLWGrammar(Grammar):
[VerweisPosition] [VerweisPosition]
{ UnterArtikel } { UnterArtikel }
ArtikelVerfasser ArtikelVerfasser
[Stellenverzeichnis]
[LZ] DATEI_ENDE [LZ] DATEI_ENDE
...@@ -85,7 +86,7 @@ class MLWGrammar(Grammar): ...@@ -85,7 +86,7 @@ class MLWGrammar(Grammar):
LemmaWort = LAT_WORT LemmaWort = LAT_WORT
LemmaVarianten = LemmaVariante { [","] [ZW] LemmaVariante } LemmaVarianten = LemmaVariante { [";" | ","] [ZW] LemmaVariante } [ ABS Zusatz ]
LemmaVariante = LAT_WORT [Zusatz] LemmaVariante = LAT_WORT [Zusatz]
...@@ -172,7 +173,7 @@ class MLWGrammar(Grammar): ...@@ -172,7 +173,7 @@ class MLWGrammar(Grammar):
BelegPosition = ZWW ["BELEGE" [LZ]] Belege BelegPosition = ZWW ["BELEGE" [LZ]] Belege
#### VERWEIS-POSITION ##################################################### #### VERWEIS-POSITION ########################################################
VerweisPosition = ZWW "VERWEISE" VerweisPosition = ZWW "VERWEISE"
...@@ -188,9 +189,12 @@ class MLWGrammar(Grammar): ...@@ -188,9 +189,12 @@ class MLWGrammar(Grammar):
Name = { NAME | NAMENS_ABKÜRZUNG }+ Name = { NAME | NAMENS_ABKÜRZUNG }+
#### STELLENVERWEISE ######################################################### #### STELLENVERZEICHNIS ######################################################
# TODO: Syntax für Stellenverweise Stellenverzeichnis = ZWW "STELLENVERZEICHNIS" [LemmaWort] ZWW Verweisliste
Verweisliste = { [LZ] "*" Stellenverweis }
Stellenverweis = BelegQuelle { [ABS] Stelle (NullVerweis | Verweis) }
NullVerweis = "{" "-" "}"
#### Schlüsselwörter ######################################################### #### Schlüsselwörter #########################################################
...@@ -202,7 +206,6 @@ class MLWGrammar(Grammar): ...@@ -202,7 +206,6 @@ class MLWGrammar(Grammar):
SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/ SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
#### ZUSATZ an verschiedenen Stellen der Struktur ############################ #### ZUSATZ an verschiedenen Stellen der Struktur ############################
Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}" }+ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}" }+
...@@ -215,10 +218,10 @@ class MLWGrammar(Grammar): ...@@ -215,10 +218,10 @@ class MLWGrammar(Grammar):
#### BELEGE ################################################################## #### BELEGE ##################################################################
Belege = ["*"] Beleg { [LZ] "*" Beleg } Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Zusatz] (Verweis [Zitat]) | Zitat ["."] Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Zitat = Quellenangabe Zitat = Quellenangabe
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis> { SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[TR] Zusatz] } [[ZW] BelegText] [[LZ] Zusatz] }
Quellenangabe = [Anker] < BelegQuelle | Verweis > Quellenangabe = [Anker] < BelegQuelle | Verweis >
BelegQuelle = Autor DPP Werk BelegQuelle = Autor DPP Werk
...@@ -260,7 +263,8 @@ class MLWGrammar(Grammar): ...@@ -260,7 +263,8 @@ class MLWGrammar(Grammar):
LAT_WORT = /(?!-)[a-z|\-_]+/~ LAT_WORT = /(?!-)[a-z|\-_]+/~
LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" ) LAT_WORT_ERW = LAT_WORT | ( "(" LAT_WORT ")" )
GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~ GROSSSCHRIFT = /(?!-)[A-ZÄÖÜ_\-]+/~
ZAHL = /[\d_]+/~ ZAHL = /[\d]+/~
SEITENZAHL = /[\d]+(?:\^(?:(?:\{[\d\w.]+\})|\w))?/~ # Zahl mit optionale folgendem hochgestelltem Buchstaben oder Text
ROEMISCHE_ZAHL = /(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\w])/~ 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 ::
...@@ -269,7 +273,7 @@ class MLWGrammar(Grammar): ...@@ -269,7 +273,7 @@ class MLWGrammar(Grammar):
BUCHSTABENFOLGE = /\w+/~ BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~ ZEICHENFOLGE = /[\w()-]+/~
# EINZEILER = /[\w()-. \t]+/~ # EINZEILER = /[\w()-. \t]+/~
TEXTELEMENT = DEU_WORT | ZAHL | ROEMISCHE_ZAHL TEXTELEMENT = DEU_WORT | SEITENZAHL | ROEMISCHE_ZAHL
EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+ EINZEILER = { TEXTELEMENT | TEIL_SATZZEICHEN }+
FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+ FREITEXT = { TEXTELEMENT | SATZZEICHEN | GROSSSCHRIFT }+
MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+ MEHRZEILER = { FREITEXT | /\s+(?=[\w,;:.\(\)\-])/ }+
...@@ -294,8 +298,6 @@ class MLWGrammar(Grammar): ...@@ -294,8 +298,6 @@ class MLWGrammar(Grammar):
DATEI_ENDE = !/./ DATEI_ENDE = !/./
NIEMALS = /(?!.)/ NIEMALS = /(?!.)/
DUMMY = "EBNF-Grammatik an dieser Stelle noch nicht definiert!"
""" """
DEU_WORT = Forward() DEU_WORT = Forward()
FREITEXT = Forward() FREITEXT = Forward()
...@@ -303,24 +305,24 @@ class MLWGrammar(Grammar): ...@@ -303,24 +305,24 @@ class MLWGrammar(Grammar):
Kategorien = Forward() Kategorien = Forward()
LAT_WORT = Forward() LAT_WORT = Forward()
LZ = Forward() LZ = Forward()
LemmaWort = Forward()
ROEMISCHE_ZAHL = Forward() ROEMISCHE_ZAHL = Forward()
SATZZEICHEN = Forward() SATZZEICHEN = Forward()
SEITENZAHL = Forward()
TEIL_SATZZEICHEN = Forward() TEIL_SATZZEICHEN = Forward()
TEXTELEMENT = Forward() TEXTELEMENT = Forward()
ZAHL = Forward()
ZWW = Forward() ZWW = Forward()
Zusatz = Forward() Zusatz = Forward()
flexion = Forward() flexion = Forward()
genus = Forward() genus = Forward()
wortart = Forward() wortart = Forward()
source_hash__ = "cf6864469af6da5c73aae7ea82cdceef" source_hash__ = "5acd793ecc09621740b44d8005c673d0"
parser_initialization__ = "upon instantiation" parser_initialization__ = "upon instantiation"
COMMENT__ = r'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)' COMMENT__ = r'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
WHITESPACE__ = r'[\t ]*' WHITESPACE__ = r'[\t ]*'
WSP__ = mixin_comment(whitespace=WHITESPACE__, comment=COMMENT__) WSP__ = mixin_comment(whitespace=WHITESPACE__, comment=COMMENT__)
wspL__ = '' wspL__ = ''
wspR__ = WSP__ wspR__ = WSP__
DUMMY = Token("EBNF-Grammatik an dieser Stelle noch nicht definiert!")
NIEMALS = RegExp('(?!.)') NIEMALS = RegExp('(?!.)')
DATEI_ENDE = NegativeLookahead(RegExp('.')) DATEI_ENDE = NegativeLookahead(RegExp('.'))
FORTSETZUNG = NegativeLookahead(Series(ZWW, RegExp('[^:\\n]+[:]'))) FORTSETZUNG = NegativeLookahead(Series(ZWW, RegExp('[^:\\n]+[:]')))
...@@ -340,13 +342,14 @@ class MLWGrammar(Grammar): ...@@ -340,13 +342,14 @@ class MLWGrammar(Grammar):
MEHRZEILER = OneOrMore(Alternative(FREITEXT, RegExp('\\s+(?=[\\w,;:.\\(\\)\\-])'))) MEHRZEILER = OneOrMore(Alternative(FREITEXT, RegExp('\\s+(?=[\\w,;:.\\(\\)\\-])')))
FREITEXT.set(OneOrMore(Alternative(TEXTELEMENT, SATZZEICHEN, GROSSSCHRIFT))) FREITEXT.set(OneOrMore(Alternative(TEXTELEMENT, SATZZEICHEN, GROSSSCHRIFT)))
EINZEILER = OneOrMore(Alternative(TEXTELEMENT, TEIL_SATZZEICHEN)) EINZEILER = OneOrMore(Alternative(TEXTELEMENT, TEIL_SATZZEICHEN))
TEXTELEMENT.set(Alternative(DEU_WORT, ZAHL, ROEMISCHE_ZAHL)) TEXTELEMENT.set(Alternative(DEU_WORT, SEITENZAHL, ROEMISCHE_ZAHL))
ZEICHENFOLGE = RE('[\\w()-]+') ZEICHENFOLGE = RE('[\\w()-]+')
BUCHSTABENFOLGE = RE('\\w+') BUCHSTABENFOLGE = RE('\\w+')
TEIL_SATZZEICHEN.set(RE('(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)')) TEIL_SATZZEICHEN.set(RE('(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)'))
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])')) ROEMISCHE_ZAHL.set(RE('(?=[MDCLXVI])M*(C[MD]|D?C*)(X[CL]|L?X*)(I[XV]|V?I*)(?=[^\\w])'))
ZAHL.set(RE('[\\d_]+')) SEITENZAHL.set(RE('[\\d]+(?:\\^(?:(?:\\{[\\d\\w.]+\\})|\\w))?'))
ZAHL = RE('[\\d]+')
GROSSSCHRIFT.set(RE('(?!-)[A-ZÄÖÜ_\\-]+')) GROSSSCHRIFT.set(RE('(?!-)[A-ZÄÖÜ_\\-]+'))
LAT_WORT_ERW = Alternative(LAT_WORT, Series(Token("("), LAT_WORT, Token(")"))) LAT_WORT_ERW = Alternative(LAT_WORT, Series(Token("("), LAT_WORT, Token(")")))
LAT_WORT.set(RE('(?!-)[a-z|\\-_]+')) LAT_WORT.set(RE('(?!-)[a-z|\\-_]+'))
...@@ -376,8 +379,8 @@ class MLWGrammar(Grammar): ...@@ -376,8 +379,8 @@ class MLWGrammar(Grammar):
BelegText = Series(RegExp('"'), ZeroOrMore(Alternative(MEHRZEILER, Zusatz)), RE('"'), Option(Token(".")), mandatory=2) BelegText = Series(RegExp('"'), ZeroOrMore(Alternative(MEHRZEILER, Zusatz)), RE('"'), Option(Token(".")), mandatory=2)
BelegQuelle = Series(Autor, DPP, Werk) BelegQuelle = Series(Autor, DPP, Werk)
Quellenangabe = Series(Option(Anker), SomeOf(BelegQuelle, Verweis)) Quellenangabe = Series(Option(Anker), SomeOf(BelegQuelle, Verweis))
Zitat = Series(Quellenangabe, ZeroOrMore(Series(SEM, Option(ZW), Option(Anker), Option(Zusatz), SomeOf(Stelle, Verweis), Option(Series(Option(ZW), BelegText)), Option(Series(Option(TR), Zusatz))))) Zitat = Series(Quellenangabe, ZeroOrMore(Series(SEM, Option(ZW), Option(Anker), Option(Zusatz), SomeOf(Stelle, Verweis), Option(Series(Option(ZW), BelegText)), Option(Series(Option(LZ), Zusatz)))))
Beleg = Alternative(Series(Option(Zusatz), Series(Verweis, Option(Zitat))), Series(Zitat, Option(Token(".")))) Beleg = Series(Option(Zusatz), Alternative(Series(Verweis, Option(Zitat)), Zitat), Option(Series(ABS, Zusatz)), Option(Token(".")))
Belege = Series(Option(Token("*")), Beleg, ZeroOrMore(Series(Option(LZ), Token("*"), Beleg))) Belege = Series(Option(Token("*")), Beleg, ZeroOrMore(Series(Option(LZ), Token("*"), Beleg)))
FreierZusatz = OneOrMore(Alternative(FREITEXT, VerweisKern, Verweis)) FreierZusatz = OneOrMore(Alternative(FREITEXT, VerweisKern, Verweis))
GemischterZusatz = Series(Alternative(Token("usu"), Token("plur. sensu sing.")), FreierZusatz) GemischterZusatz = Series(Alternative(Token("usu"), Token("plur. sensu sing.")), FreierZusatz)
...@@ -388,6 +391,10 @@ class MLWGrammar(Grammar): ...@@ -388,6 +391,10 @@ class MLWGrammar(Grammar):
GRI = Alternative(Token("GRIECHISCH"), Token("GRIECH"), Token("GRIE"), Token("GRI")) GRI = Alternative(Token("GRIECHISCH"), Token("GRIECH"), Token("GRIE"), Token("GRI"))
DEU = Alternative(Token("DEUTSCH"), Token("DEU")) DEU = Alternative(Token("DEUTSCH"), Token("DEU"))
LAT = Alternative(Token("LATEINISCH"), Token("LAT")) LAT = Alternative(Token("LATEINISCH"), Token("LAT"))
NullVerweis = Series(Token("{"), Token("-"), Token("}"))
Stellenverweis = Series(BelegQuelle, ZeroOrMore(Series(Option(ABS), Stelle, Alternative(NullVerweis, Verweis))))
Verweisliste = ZeroOrMore(Series(Option(LZ), Token("*"), Stellenverweis))
Stellenverzeichnis = Series(ZWW, Token("STELLENVERZEICHNIS"), Option(LemmaWort), ZWW, Verweisliste)
Name = OneOrMore(Alternative(NAME, NAMENS_ABKÜRZUNG)) Name = OneOrMore(Alternative(NAME, NAMENS_ABKÜRZUNG))
ArtikelVerfasser = Series(ZWW, Alternative(Token("AUTORIN"), Token("AUTOR")), Name) ArtikelVerfasser = Series(ZWW, Alternative(Token("AUTORIN"), Token("AUTOR")), Name)
UnterArtikel = Series(ZWW, Token("UNTER-ARTIKEL")) UnterArtikel = Series(ZWW, Token("UNTER-ARTIKEL"))
...@@ -435,13 +442,13 @@ class MLWGrammar(Grammar): ...@@ -435,13 +442,13 @@ class MLWGrammar(Grammar):
Grammatik = Series(wortart, ABS, flexion, Option(genus), mandatory=1) Grammatik = Series(wortart, ABS, flexion, 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(Token(",")), Option(ZW), LemmaVariante))) LemmaVarianten = Series(LemmaVariante, ZeroOrMore(Series(Option(Alternative(Token(";"), Token(","))), Option(ZW), LemmaVariante)), Option(Series(ABS, Zusatz)))
LemmaWort = Synonym(LAT_WORT) LemmaWort.set(Synonym(LAT_WORT))
gesichert = Token("$") gesichert = Token("$")
klassisch = Token("*") klassisch = Token("*")
Lemma = Series(Option(SomeOf(klassisch, gesichert)), LemmaWort) Lemma = Series(Option(SomeOf(klassisch, gesichert)), LemmaWort)
LemmaPosition = Series(Option(ABS), Token("LEMMA"), Option(LZ), Lemma, TR, Option(LemmaVarianten), GrammatikPosition, Option(Zusatz), mandatory=3) LemmaPosition = Series(Option(ABS), Token("LEMMA"), Option(LZ), Lemma, TR, Option(LemmaVarianten), GrammatikPosition, Option(Zusatz), mandatory=3)
Artikel = Series(Option(LZ), OneOrMore(LemmaPosition), Option(EtymologiePosition), Option(ArtikelKopf), BedeutungsPosition, Option(VerweisPosition), ZeroOrMore(UnterArtikel), ArtikelVerfasser, Option(LZ), DATEI_ENDE, mandatory=1) Artikel = Series(Option(LZ), OneOrMore(LemmaPosition), Option(EtymologiePosition), Option(ArtikelKopf), BedeutungsPosition, Option(VerweisPosition), ZeroOrMore(UnterArtikel), ArtikelVerfasser, Option(Stellenverzeichnis), Option(LZ), DATEI_ENDE, mandatory=1)
root__ = Artikel root__ = Artikel
def get_grammar() -> MLWGrammar: def get_grammar() -> MLWGrammar:
...@@ -498,6 +505,7 @@ MLW_AST_transformation_table = { ...@@ -498,6 +505,7 @@ MLW_AST_transformation_table = {
"Zusatz": [], "Zusatz": [],
"ArtikelVerfasser": [], "ArtikelVerfasser": [],
"Name": [], "Name": [],
"Stelle": [reduce_single_child],
"SW_LAT": [replace_or_reduce], "SW_LAT": [replace_or_reduce],
"SW_DEU": [replace_or_reduce], "SW_DEU": [replace_or_reduce],
"SW_GRIECH": [replace_or_reduce], "SW_GRIECH": [replace_or_reduce],
......
...@@ -142,3 +142,11 @@ F1: """ ...@@ -142,3 +142,11 @@ F1: """
[fail:FREITEXT] [fail:FREITEXT]
F1: """Text -> Verweis""" F1: """Text -> Verweis"""
[match:SEITENZAHL]
M1: "123"
M2: "123^b"
M3: "4^{capit.}"
\ No newline at end of file
...@@ -32,6 +32,11 @@ M9: """Arbeo: Emm.; 16 p. 49,17 "ex imperio principis ... in ospiti sui scuriam ...@@ -32,6 +32,11 @@ M9: """Arbeo: Emm.; 16 p. 49,17 "ex imperio principis ... in ospiti sui scuriam
{episcopus} {persaepe} {v. et {=> p. 1407, 57|ziel}}""" {episcopus} {persaepe} {v. et {=> p. 1407, 57|ziel}}"""
M10:"""Arbeo: Emm.; 16 p. 49,17 "ex imperio principis ... in ospiti sui scuriam ... deductus est" M10:"""Arbeo: Emm.; 16 p. 49,17 "ex imperio principis ... in ospiti sui scuriam ... deductus est"
{episcopus;; persaepe;; v. et {=> p. 1407, 57|ziel}}""" {episcopus;; persaepe;; v. et {=> p. 1407, 57|ziel}}"""
M11:"""Otto Frising.: gest.;
1,24 p. 37,12
"Romanorum principem adeunt apocrisiarii imperatoris Constantinopolitani tam
confederationis vinculum ... inter duo imperia, Hesperiae videlicet et orientis,
renovare cupientes quam {eqs.}" {al}."""
[fail:Beleg] [fail:Beleg]
F1: "* nächster Beleg" F1: "* nächster Beleg"
...@@ -43,6 +48,7 @@ M1: """{saepe}""" ...@@ -43,6 +48,7 @@ M1: """{saepe}"""
[match:Stelle] [match:Stelle]
M1: """app. A 6 p. 137,30 """ M1: """app. A 6 p. 137,30 """
M2: """5 p. 976^A"""
[fail:Werk] [fail:Werk]
......
[match:Stellenverzeichnis]
M1: """
STELLENVERZEICHNIS fascitergula
* Form.: Sangall.; 39 p. 421,16 {=> URL_1}
* Libri: confrat. I; app. A 6 p. 137,30 {-} // {-} bedeutet: keine URL vorhanden
* Catal.: thes. Germ.;
18,7 {=> URL_3}
28,11 (post 851) {=> URL_4}
76,15 {=> URL_5}
40,5 {=> URL_6}
129a,5 {=> URL_7}
24,8 {=> URL_8}
114,8 {=> URL_9}
6,24 {-}
92,6 {-}
21,20 IIII {=> URL_10}"""
...@@ -646,3 +646,41 @@ Fail-test "f1" ...@@ -646,3 +646,41 @@ Fail-test "f1"
### Test-code: ### Test-code:
Text -> Verweis Text -> Verweis
Test of parser: "SEITENZAHL"
============================
Match-test "m1"
---------------
### Test-code:
123
### AST
(SEITENZAHL
"123"
)
Match-test "m2"
---------------
### Test-code:
123^b
### AST
(SEITENZAHL
"123^b"
)
Match-test "m3"
---------------
### Test-code:
4^{capit.}
### AST
(SEITENZAHL
"4^{capit.}"
)
\ No newline at end of file
...@@ -36,7 +36,7 @@ from MLWCompiler import get_grammar, get_transformer ...@@ -36,7 +36,7 @@ from MLWCompiler import get_grammar, get_transformer
with toolkit.logging(True): with toolkit.logging(True):
error_report = testing.grammar_suite('grammar_tests', get_grammar, get_transformer, error_report = testing.grammar_suite('grammar_tests', get_grammar, get_transformer,
fn_patterns=['*_test*'], fn_patterns=['08_test*'],
verbose=True) verbose=True)
print(error_report) print(error_report)
print(error_report[:error_report.find('\n')]) print(error_report[:error_report.find('\n')])
......
Markdown is supported
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