16.12.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

Commit 15d930e0 authored by di68kap's avatar di68kap
Browse files

- MLW ergänzt

parent 553d94cf
......@@ -8,29 +8,29 @@ LEMMA facitergula
GRAMMATIK
nomen; -ae f.
-us, -i m.: -> { ibi 1}
-um, -i n.: -> { ibi 2}
-us, -i m.: {-> ibi 1}
-um, -i n.: {-> ibi 2}
SCHREIBWEISE
script.:
vizreg-: -> {ibi 3}
festregel(a): -> {ibi 4}
fezdregl(a): -> {ibi 5}
vizreg-: {-> ibi 3}
festregel(a): {-> ibi 4}
fezdregl(a): {-> ibi 5}
BEDEUTUNG
LAT pannus, faciale, sudarium -- DEU Gesichts-, Schweißtuch [usu liturg.: de re v. p. 32, 63]:
LAT pannus, faciale, sudarium -- DEU Gesichts-, Schweißtuch {usu liturg.: de re {-> eintrag/ibi X}}:
* Catal.: thes. Germ.; 28,11 (post 851) "-um III."
* Form.: Sangall.; {ibi 2} 39 p. 421,16 "munuscula ... direximus, hoc est palliolum ... ,
* Form.: Sangall.; {#ibi 2} 39 p. 421,16 "munuscula ... direximus, hoc est palliolum ... ,
-as duas."
* Catal.: thes. Germ.; 18,7 "-eterculi viginti quatuor".
* Libri: confrat. I; {ibi 1} app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata
* Libri: confrat. I; {#ibi 1} app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata
circumdari iussit pontifex."
* Catal.: thes. Germ. -> {ID extern}; {ibi 3} 76,15 "-rulae II"; 40,5 VI "vizregule"; 129a,5 "-sterculas
II."; {ibi 5} 24,8 "-itella X"; 114,8 VIII "fezdreglę"; 6,24 "fasciutercule VII";
{ibi 4} 92,6 "fascerculę tres"; 21,20 IIII "festregelę"
* Catal.: thes. Germ. {-> ID extern}; {#ibi 3} 76,15 "-rulae II"; 40,5 VI "vizregule"; 129a,5 "-sterculas
II."; {#ibi 5} 24,8 "-itella X"; 114,8 VIII "fezdreglę"; 6,24 "fasciutercule VII";
{#ibi 4} 92,6 "fascerculę tres"; 21,20 IIII "festregelę"
ZUSATZ saepe.
......
......@@ -3,7 +3,7 @@
# TODO: Vervollständigen!!!!
@ comment = /#.*/ # Kommentare beginnen mit '#' und reichen bis zum Zeilenende
@ comment = /(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)/ # Kommentare im C++ Stil
# ohne das Zeilenende zu beinhalten
@ whitespace = /[\t ]*/ # Zeilensprünge zählen nicht als Leerraum
@ literalws = right # Leerraum vor und nach Literalen wird automatisch entfernt
......@@ -150,28 +150,24 @@ SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
#### ZUSATZ an verschiedenen Stellen der Struktur ############################
Zusatz = "ZUSATZ" §{ [TR] zusatz_typ }+
zusatz_typ = "adde" | "al" | "sim." | "saepe" | "vel-rarius" | "vel" | EINZEILER
Zusatz = "{" §(FesterZusatz | GemischterZusatz | FreierZusatz) "}"
FesterZusatz = "adde" | "sape" | "persaepe"
GemischterZusatz = ( "usu" | "plur. sensu sing." ) FreierZusatz
FreierZusatz = { FREITEXT | VerweisKern | Verweis }+
Präfix = "PRÄFIX" §{ [TR] präfix_typ }+ ":"
präfix_typ = EINZEILER
#### BELEGE ##################################################################
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Präfix] (Verweis [Zitat]) | Zitat
Beleg = [Zusatz] (Verweis [Zitat]) | Zitat
Zitat = Quellenangabe
{ SEM [ZW] [Anker] [Präfix] <Stelle | Verweis>
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[TR] Zusatz] }
Quellenangabe = [Anker] < BelegQuelle | Verweis >
BelegQuelle = Autor DPP Werk
BelegText = /"/ MEHRZEILER §/"/~ ["."]
Verweis = "->" §Anker
Anker = "{" ZielID §"}"
ZielID = FREITEXT
Autor = EINZEILER
Werk = EINZEILER
Stelle = EINZEILER
......@@ -179,6 +175,20 @@ Datierung = EINZEILER
Edition = EINZEILER
#### VERWEISE (LINKS) ########################################################
Verweis = "{" VerweisKern "}"
VerweisKern = "->" §((alias "|" ("-" | URL)) | URL)
Anker = "{" "#" §ziel "}"
URL = [ ([protokoll] domäne /\//) | /\// ] { pfad /\// } ziel
alias = FREITEXT
protokoll = /\w+:\/\//
domäne = /\w+\.\w+(?:\.\w+)*/
pfad = /\w+/
ziel = /[\w=?.%&\[\] ]+/
#### GENERISCHE UND ATOMARE AUSDRÜCKE ########################################
NAMENS_ABKÜRZUNG = /[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
......
......@@ -55,7 +55,7 @@ class MLWGrammar(Grammar):
# TODO: Vervollständigen!!!!
@ comment = /#.*/ # Kommentare beginnen mit '#' und reichen bis zum Zeilenende
@ comment = /(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)/ # Kommentare im C++ Stil
# ohne das Zeilenende zu beinhalten
@ whitespace = /[\t ]*/ # Zeilensprünge zählen nicht als Leerraum
@ literalws = right # Leerraum vor und nach Literalen wird automatisch entfernt
......@@ -202,24 +202,24 @@ class MLWGrammar(Grammar):
#### ZUSATZ an verschiedenen Stellen der Struktur ############################
Zusatz = "ZUSATZ" §{ [TR] zusatz_typ }+
zusatz_typ = "adde" | "al" | "sim." | "saepe" | "vel-rarius" | "vel" | EINZEILER
Zusatz = "{" §(FesterZusatz | GemischterZusatz | FreierZusatz) "}"
FesterZusatz = "adde" | "sape" | "persaepe"
GemischterZusatz = ( "usu" | "plur. sensu sing." ) FreierZusatz
FreierZusatz = { FREITEXT | VerweisKern | Verweis }+
#### BELEGE ##################################################################
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = (Verweis [Zitat]) | Zitat
Zitat = Quellenangabe { SEM [ZW] [Anker] <Stelle | Verweis> [[ZW] BelegText] } [[TR] Zusatz]
Beleg = [Zusatz] (Verweis [Zitat]) | Zitat
Zitat = Quellenangabe
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[TR] Zusatz] }
Quellenangabe = [Anker] < BelegQuelle | Verweis >
BelegQuelle = Autor DPP Werk
BelegText = /"/ MEHRZEILER §/"/~ ["."]
Verweis = "->" §Anker
Anker = "{" ZielID §"}"
ZielID = FREITEXT
Autor = EINZEILER
Werk = EINZEILER
Stelle = EINZEILER
......@@ -227,6 +227,20 @@ class MLWGrammar(Grammar):
Edition = EINZEILER
#### VERWEISE (LINKS) ########################################################
Verweis = "{" VerweisKern "}"
VerweisKern = "->" §((alias "|" ("-" | URL)) | URL)
Anker = "{" "#" §ziel "}"
URL = [ ([protokoll] domäne /\//) | /\// ] { pfad /\// } ziel
alias = FREITEXT
protokoll = /\w+:\/\//
domäne = /\w+\.\w+(?:\.\w+)*/
pfad = /\w+/
ziel = /[\w=?.%&\[\] ]+/
#### GENERISCHE UND ATOMARE AUSDRÜCKE ########################################
NAMENS_ABKÜRZUNG = /[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
......@@ -296,9 +310,9 @@ class MLWGrammar(Grammar):
flexion = Forward()
genus = Forward()
wortart = Forward()
source_hash__ = "ddde3c1be13790163321ea72d6d5cf14"
source_hash__ = "d65adeb82b1c7685fe0dd447f2800dfb"
parser_initialization__ = "upon instantiation"
COMMENT__ = r'#.*'
COMMENT__ = r'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
WHITESPACE__ = r'[\t ]*'
WSP__ = mixin_comment(whitespace=WHITESPACE__, comment=COMMENT__)
wspL__ = ''
......@@ -342,22 +356,30 @@ class MLWGrammar(Grammar):
DEU_WORT.set(Alternative(DEU_GROSS, DEU_KLEIN, GROSSBUCHSTABE))
NAME = RE('[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+')
NAMENS_ABKÜRZUNG = RE('[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\\.')
ziel = RegExp('[\\w=?.%&\\[\\] ]+')
pfad = RegExp('\\w+')
domäne = RegExp('\\w+\\.\\w+(?:\\.\\w+)*')
protokoll = RegExp('\\w+://')
alias = Synonym(FREITEXT)
URL = Series(Option(Alternative(Series(Option(protokoll), domäne, RegExp('/')), RegExp('/'))), ZeroOrMore(Series(pfad, RegExp('/'))), ziel)
Anker = Series(Token("{"), Token("#"), ziel, Token("}"), mandatory=2)
VerweisKern = Series(Token("->"), Alternative(Series(alias, Token("|"), Alternative(Token("-"), URL)), URL), mandatory=1)
Verweis = Series(Token("{"), VerweisKern, Token("}"))
Edition = Synonym(EINZEILER)
Datierung = Synonym(EINZEILER)
Stelle = Synonym(EINZEILER)
Werk = Synonym(EINZEILER)
Autor = Synonym(EINZEILER)
ZielID = Synonym(FREITEXT)
Anker = Series(Token("{"), ZielID, Token("}"), mandatory=2)
Verweis = Series(Token("->"), Anker, mandatory=1)
BelegText = Series(RegExp('"'), MEHRZEILER, RE('"'), Option(Token(".")), mandatory=2)
BelegQuelle = Series(Autor, DPP, Werk)
Quellenangabe = Series(Option(Anker), SomeOf(BelegQuelle, Verweis))
Zitat = Series(Quellenangabe, ZeroOrMore(Series(SEM, Option(ZW), Option(Anker), SomeOf(Stelle, Verweis), Option(Series(Option(ZW), BelegText)))), Option(Series(Option(TR), Zusatz)))
Beleg = Alternative(Series(Verweis, Option(Zitat)), Zitat)
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)))))
Beleg = Alternative(Series(Option(Zusatz), Series(Verweis, Option(Zitat))), Zitat)
Belege = Series(Option(Token("*")), Beleg, ZeroOrMore(Series(Option(LZ), Token("*"), Beleg)))
zusatz_typ = Alternative(Token("adde"), Token("al"), Token("sim."), Token("saepe"), Token("vel-rarius"), Token("vel"), EINZEILER)
Zusatz.set(Series(Token("ZUSATZ"), OneOrMore(Series(Option(TR), zusatz_typ)), mandatory=1))
FreierZusatz = OneOrMore(Alternative(FREITEXT, VerweisKern, Verweis))
GemischterZusatz = Series(Alternative(Token("usu"), Token("plur. sensu sing.")), FreierZusatz)
FesterZusatz = Alternative(Token("adde"), Token("sape"), Token("persaepe"))
Zusatz.set(Series(Token("{"), Alternative(FesterZusatz, GemischterZusatz, FreierZusatz), Token("}"), mandatory=1))
SCHLUESSELWORT = Series(OneOrMore(Series(RE(''), RegExp('\\n'))), NegativeLookahead(ROEMISCHE_ZAHL), RegExp('[A-ZÄÖÜ]{3,}\\s+'))
GRI = Alternative(Token("GRIECHISCH"), Token("GRIECH"), Token("GRIE"), Token("GRI"))
DEU = Alternative(Token("DEUTSCH"), Token("DEU"))
......
......@@ -14,22 +14,29 @@ M1: """
M2: """
\# Kommentar"""
// Kommentar"""
M3: """
"""
M4: """
/* Kommentar
Kommentar fortsetzung */
"""
[fail:LEERZEILE]
F1: """
"""
F2: """
\# Kommentar
// Kommentar
\# Kommentar
// Kommentar
"""
......@@ -40,7 +47,7 @@ M1: """
M2: """
\# Kommentar
// Kommentar
"""
M3: """
......@@ -50,15 +57,15 @@ M3: """
M4: """
\# Kommentar
// Kommentar
\# Kommentar
// Kommentar
"""
M5: """ \#Kommentar
\# Kommentar
M5: """ //Kommentar
//Kommentar
\# Kommentar"""
// Kommentar"""
[fail:LÜCKE]
F1: " "
......@@ -67,24 +74,28 @@ F2: """
"""
F3: """
\# Kommentar"""
// Kommentar"""
F4: """ //Kommentar
// Kommentar
// Kommentar"""
F4: """ \#Kommentar
\# Kommentar
\# Kommentar"""
F5: """ //Kommentar
/* Kommentar
Kommentar */"""
[match:LZ]
M1: " "
M2: " # Kommentar"
M2: " // Kommentar"
M3: " "
M4: "# Kommentar"
M5: """# Kommentar
M4: "// Kommentar"
M5: """// Kommentar
"""
M6: """
\# Kommentar
// Kommentar
\# Kommentar
// Kommentar
"""
M7: """
......@@ -102,10 +113,10 @@ M1: """
"""
M2: """
\# Kommentar"""
// Kommentar"""
M3: """
\# Kommentar
// Kommentar
"""
M4: """
......@@ -122,10 +133,12 @@ M1: """
"""
M2: """
\# Kommentar"""
// Kommentar"""
[fail:ZW]
F1: """
"""
[fail:FREITEXT]
F1: """Text -> Verweis"""
\ No newline at end of file
......@@ -12,8 +12,8 @@
farcutergula"""
2: "fascitergula"
3: """fascitergula facietergula ZUSATZ sim."""
4: """fascitergula, facietergula, fascistergula ZUSATZ sim."""
3: """fascitergula facietergula {sim.}"""
4: """fascitergula, facietergula, fascistergula {sim.}"""
[fail:LemmaVarianten]
99: * fascitergula
......@@ -25,8 +25,7 @@
facietergula
facistergula
fascitercula
ZUSATZ sim.
{sim.}
GRAMMATIK
nomen; -ae f."""
......@@ -3,8 +3,8 @@
GRAMMATIK
nomen; -ae f.
-us, -i m.: -> {v. ibi 1}
-um, -i n.: -> {v. ibi 2}"""
-us, -i m.: {-> v. ibi 1}
-um, -i n.: {-> v. ibi 2}"""
[match:wortart]
1: """nomen"""
......@@ -22,8 +22,8 @@
[match:GrammatikVariante]
1: """-us, -i m.: -> {v. ibi 1}"""
2: """-um, -i n.: -> {v. ibi 2}"""
1: """-us, -i m.: {-> v. ibi 1}"""
2: """-um, -i n.: {-> v. ibi 2}"""
[match:FLEX]
1: """-us"""
......
......@@ -2,24 +2,24 @@
1: """
SCHREIBWEISE
script.:
vizreg-: -> {Verweis_003}
festregel(a): -> {Verweis_004}
fezdregl(a): -> {Verweis_005}"""
vizreg-: {-> Verweis_003}
festregel(a): {-> Verweis_004}
fezdregl(a): {-> Verweis_005}"""
2: """
SCHREIBWEISE
script.:
vizreg-: -> {ID_0023}
festregel(a): -> {v. ibi}
fezdregl(a): -> {v. ibi}"""
vizreg-: {-> ID_0023}
festregel(a): {-> v. ibi}
fezdregl(a): {-> v. ibi}"""
3: """
SCHREIBWEISE
script.:
hym-: -> {v. ibi. 1}
hym-: {-> v. ibi. 1}
em-: Chron.: Fred. 2,35sqq. capit. p. 43. 2,36 p. 60,10.
ym-: Chart.: Sangall. A 194.
impir-: -> {v. ibi. 2}"""
impir-: {-> v. ibi. 2}"""
[match:Besonderheit]
1: """script."""
......@@ -27,8 +27,8 @@
3: """festregel(a)"""
[match:Variante]
1: """vizreg-: -> {v. ibi 1}"""
2: """festregel(a): -> {v. ibi 2}"""
3: """fezdregl(a): -> {v. ibi 3}"""
1: """vizreg-: {-> v. ibi 1}"""
2: """festregel(a): {-> v. ibi 2}"""
3: """fezdregl(a): {-> v. ibi 3}"""
4: """em-: Chron.: Fred. 2,35sqq. capit. p. 43. 2,36 p. 60,10."""
5: """ym-: Chart.: Sangall. A 194."""
\ No newline at end of file
......@@ -9,10 +9,10 @@ M1: """
* Catal.: thes. Germ.; 76,15 "-rulae II."; 40,5 VI "vizregule."; 129a,5 "-sterculas
II."; 24,8 "-itella X."; 114,8 VIII "fezdreglę."; 6,24 "fasciutercule
VII."; 92,6 "fascerculę tres."; 21,20 IIII "festregelę"
ZUSATZ saepe."""
{saepe}"""
[match:Belege]
M1: """-> {v. ibi.} * Annal.: Plac. a. 1266 p. 516,21."""
M1: """{-> v. ibi.} * Annal.: Plac. a. 1266 p. 516,21."""
[match:Beleg]
M1: """Catal.: thes. Germ.; 28,11 (post 851) "-um III.""""
......@@ -21,11 +21,11 @@ M2: """Form.: Sangall.; 39 p. 421,16 "munuscula ... direximus, hoc est palliolum
M3: """Catal.: thes. Germ.; 18,7 "-eterculi viginti quatuor" """
M4: """Libri: confrat. I; app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata
circumdari iussit pontifex.""""
M5: """Catal.: thes. Germ. -> {ID Catal_thes_Germ}; 18,7 "-eterculi viginti quatuor" """
M6: """Catal.: thes. Germ. -> {ID 0023}; 76,15 "-rulae II"; 40,5 VI "vizregule"; 129a,5 "-sterculas
M5: """Catal.: thes. Germ. {-> ID Catal_thes_Germ}; 18,7 "-eterculi viginti quatuor" """
M6: """Catal.: thes. Germ. {-> ID 0023}; 76,15 "-rulae II"; 40,5 VI "vizregule"; 129a,5 "-sterculas
II."; 24,8 "-itella X"; 114,8 VIII "fezdreglę"; 6,24 "fasciutercule VII";
92,6 "fascerculę tres"; 21,20 IIII "festregelę"
ZUSATZ saepe."""
{saepe}"""
M7: """Ionas: Bob. Columb. 1,17 p. 185,9 quae (sc. ferae) ad imperium eius statim veniebant."""
[fail:Beleg]
......@@ -34,7 +34,7 @@ F2: """
AUTORIN """
[match:Zusatz]
M1: """ZUSATZ saepe."""
M1: """{saepe}"""
[match:Stelle]
M1: """app. A 6 p. 137,30 """
......
[match:protokoll]
M1: "https://"
M2: "http://"
[fail:protokoll]
F1: "https:"
F2: "http: //"
F3: "http:/"
[match:domäne]
M1: "badw.de"
M2: "www.badw.de"
[fail:domäne]
F1: "badw"
F2: "https://badw.de"
[match:ziel]
M1: "suche.html?id=448&tx_kesearch_pi1%5Bsword%5D=Fraunhofer&tx_kesearch_pi1"
M2: "suche.html?id=448&tx_kesearch_pi1[sword]=Fraunhofer&tx_kesearch_pi1"
M3: "ziel.html"
M4: "ziel"
M5: "ibi 1"
[fail:ziel]
F1: "verzeichnis/"
[match:URL]
M1: "https://badw.de/verzeichnis/ziel"
M2: "badw.de/verzeichnis/ziel"
M3: "badw.de/ziel"
M4: "verzeichnis/ziel"
M5: "ziel"
M6: "hauptverzeichnis/unterverzeichnis/zielseite.html"
M7: "ziel.html"
[fail:URL]
F1: "verzeichnis/"
F2: "badw.de/"
F3: "https://badw.de/verzeichnis/"
F4: "badw.de/verzeichnis/"
F5: "http:/badw.de/verzeichnis/ziel"
[match:Verweis]
M1: "{-> badw.de/ziel}"
M2: "{-> https://badw.de/MLW/fascitergula/ibi 3}"
M3: "{-> lokal}"
M4: "{-> linkname|linkziel}"
M5: "{-> v. ibi. al.|ibi 1}"
M6: "{-> ohne Ziel| - }"
[fail:Verweis]
F1: "{ziel}"
F2: "{-> ohne Ziel|}"
F3: "{-> | - }"
[match:Anker]
M1: "{# ziel}"
M2: "{#ziel}"
[fail:Anker]
F1: "{#badw.de/ziel}"
......@@ -68,7 +68,7 @@ Match-test "m2"
### Test-code:
# Kommentar
// Kommentar
### AST
(LEERZEILE
......@@ -78,7 +78,7 @@ Match-test "m2"
""
)
(:RE
"# Kommentar"
"// Kommentar"
)
)
......@@ -101,6 +101,37 @@ Match-test "m3"
)
)
Match-test "m4"
---------------
### Test-code:
/* Kommentar
Kommentar fortsetzung */
### CST
(LEERZEILE
(:RegExp
""
""
""
)
(:RE
(:Whitespace
"/* Kommentar"
""
"Kommentar fortsetzung */"
)
(:RegExp
""
""
)
)
)
Fail-test "f1"
--------------
......@@ -114,9 +145,9 @@ Fail-test "f2"
### Test-code:
# Kommentar
// Kommentar
# Kommentar
// Kommentar
......@@ -149,7 +180,7 @@ Match-test "m2"
### Test-code:
# Kommentar
// Kommentar
### AST
......@@ -162,7 +193,7 @@ Match-test "m2"
)
(:RE
(:Whitespace
"# Kommentar"
"// Kommentar"
)
(:RegExp
""
......@@ -199,9 +230,9 @@ Match-test "m4"
### Test-code:
# Kommentar
// Kommentar
# Kommentar