Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
badw-it
DHParser
Commits
c04f969e
Commit
c04f969e
authored
Dec 18, 2017
by
di68kap
Browse files
- MLW ergänzt...
parent
cfa4f59a
Changes
5
Hide whitespace changes
Inline
Side-by-side
examples/MLW/Beispiele/imperium/imperium.mlw
View file @
c04f969e
...
...
@@ -209,7 +209,7 @@ BEDEUTUNG
UUU_BEDEUTUNG in univ.:
* Chron.: Fred.; 2,62 p. 86,32 "quare ... veniens de imperio non laeteris (sc. Belisarius)?"
* Chron.: Fred.; 2,62 p. 86,32 "quare ... veniens de imperio non laeteris (sc. Belisarius)?"
;
3,18 p. 100,18 "Chlotechildis cum ... conperisset adventum Aridio revertentem ab imperio {eqs.}"
* Rhythm.:; 51,9,1 "imperii filia. al."
* Ludus: de Antichr.; p. 12^{med.}
...
...
examples/MLW/MLW.ebnf
View file @
c04f969e
...
...
@@ -108,10 +108,10 @@ U5Bedeutung = { ZWW "UUUUU_BEDEUTUNG" [LZ] §UntersteBedeutung }+
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = { EINZEILER [LZ]
}
[BedeutungsQualifikation] §":"
Bedeutungskategorie = { EINZEILER [LZ] [BedeutungsQualifikation]
[LZ] }
§":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|ZW> DeutscherAusdruck }
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|
";"|
ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|
";"|
ZW> DeutscherAusdruck }
LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
...
...
@@ -202,21 +202,21 @@ 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_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
§
")")
LAT_WORT_ERW = LAT_WORT | (
[
"("
]
LAT_WORT
[
")"
]
)
GROSSSCHRIFT = /(?!--)[A-ZÄÖÜ_\-]+/~
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])/~
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`
‘
]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`
‘
]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`
''‘’?
]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`
''‘’?
]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~
...
...
examples/MLW/MLWCompiler.py
View file @
c04f969e
...
...
@@ -160,10 +160,10 @@ class MLWGrammar(Grammar):
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = { EINZEILER [LZ]
}
[BedeutungsQualifikation] §":"
Bedeutungskategorie = { EINZEILER [LZ] [BedeutungsQualifikation]
[LZ] }
§":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|ZW> DeutscherAusdruck }
LateinischeBedeutung = LAT [LZ] LateinischerAusdruck { <","|
";"|
ZW> LateinischerAusdruck }
DeutscheBedeutung = DEU [LZ] DeutscherAusdruck { <","|
";"|
ZW> DeutscherAusdruck }
LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
...
...
@@ -254,21 +254,21 @@ class MLWGrammar(Grammar):
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
DEU_WORT_ERW = DEU_WORT | ("(" DEU_WORT
§
")")
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
§
")")
LAT_WORT_ERW = LAT_WORT | (
[
"("
]
LAT_WORT
[
")"
]
)
GROSSSCHRIFT = /(?!--)[A-ZÄÖÜ_\-]+/~
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])/~
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`
‘
]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`
‘
]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`
''‘’?
]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`
''‘’?
]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~
...
...
@@ -315,7 +315,7 @@ class MLWGrammar(Grammar):
flexion
=
Forward
()
genus
=
Forward
()
wortart
=
Forward
()
source_hash__
=
"2
c0516a46fa68896294ceaaf72917ded
"
source_hash__
=
"2
81baae30880effd61f69fe6920192f8
"
parser_initialization__
=
"upon instantiation"
COMMENT__
=
r
'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
WHITESPACE__
=
r
'[\t ]*'
...
...
@@ -344,20 +344,20 @@ class MLWGrammar(Grammar):
TEXTELEMENT
.
set
(
Alternative
(
DEU_WORT
,
SEITENZAHL
,
ROEMISCHE_ZAHL
))
ZEICHENFOLGE
=
RE
(
'[
\\
w()-]+'
)
BUCHSTABENFOLGE
=
RE
(
'
\\
w+'
)
TEIL_SATZZEICHEN
.
set
(
RE
(
'
(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`
‘]'
))
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])'
))
SEITENZAHL
.
set
(
RE
(
'[
\\
d]+(?:
\\
^(?:(?:
\\
{[
\\
d
\\
w.]+
\\
})|
\\
w))?'
))
ZAHL
=
RE
(
'[
\\
d]+'
)
GROSSSCHRIFT
.
set
(
RE
(
'(?!--)[A-ZÄÖÜ_
\\
-]+'
))
LAT_WORT_ERW
=
Alternative
(
LAT_WORT
,
Series
(
Token
(
"("
),
LAT_WORT
,
Token
(
")"
)
,
mandatory
=
2
))
LAT_WORT_ERW
=
Alternative
(
LAT_WORT
,
Series
(
Option
(
Token
(
"("
)
)
,
LAT_WORT
,
Option
(
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
(
")"
)
,
mandatory
=
2
))
DEU_WORT_ERW
=
Alternative
(
DEU_WORT
,
Series
(
Option
(
Token
(
"("
)
)
,
DEU_WORT
,
Option
(
Token
(
")"
)
)
))
DEU_WORT
.
set
(
Alternative
(
DEU_GROSS
,
DEU_KLEIN
,
GROSSBUCHSTABE
))
NAME
=
RE
(
'[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+'
)
NAMENS_ABKÜRZUNG
=
RE
(
'[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]
\\
.'
)
...
...
@@ -402,10 +402,10 @@ class MLWGrammar(Grammar):
BedeutungsQualifikation
=
Synonym
(
Zusatz
)
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
)))
DeutscheBedeutung
=
Series
(
DEU
,
Option
(
LZ
),
DeutscherAusdruck
,
ZeroOrMore
(
Series
(
SomeOf
(
Token
(
","
),
Token
(
";"
),
ZW
),
DeutscherAusdruck
)))
LateinischeBedeutung
=
Series
(
LAT
,
Option
(
LZ
),
LateinischerAusdruck
,
ZeroOrMore
(
Series
(
SomeOf
(
Token
(
","
),
Token
(
";"
),
ZW
),
LateinischerAusdruck
)))
Interpretamente
=
Series
(
LateinischeBedeutung
,
Alternative
(
Token
(
"--"
),
LZ
),
DeutscheBedeutung
,
Option
(
Token
(
":"
)),
mandatory
=
2
)
Bedeutungskategorie
=
Series
(
ZeroOrMore
(
Series
(
EINZEILER
,
Option
(
LZ
)
))
,
Option
(
BedeutungsQualifikation
),
Token
(
":"
),
mandatory
=
2
)
Bedeutungskategorie
=
Series
(
ZeroOrMore
(
Series
(
EINZEILER
,
Option
(
LZ
),
Option
(
BedeutungsQualifikation
),
Option
(
LZ
))),
Token
(
":"
),
mandatory
=
1
)
UntersteBedeutung
=
Series
(
Interpretamente
,
Option
(
BelegPosition
))
Bedeutung
=
Series
(
Alternative
(
Interpretamente
,
Bedeutungskategorie
),
Option
(
BelegPosition
))
U5Bedeutung
=
OneOrMore
(
Series
(
ZWW
,
Token
(
"UUUUU_BEDEUTUNG"
),
Option
(
LZ
),
UntersteBedeutung
,
mandatory
=
3
))
...
...
examples/MLW/grammar_tests/05_test_bedeutung.ini
View file @
c04f969e
...
...
@@ -23,6 +23,10 @@ F1: """capital, rica -- Kopftuch:
*
Transl.:
Libor.
II
; 20 "nuditatem membrorum illius (puellae) tegere festinarunt fideles
clerici
et
laici
inprimis
cum
eorum
-cula,
dein
vestibus
solitis."
"""
[match:Bedeutungskategorie]
M1:
"""de
Karolinorum
vel
Francorum
sive
sacro
Romano(rum)
imperio
q.
d.
(‘Karolinger-,
Frankenreich
bzw.
sog.
Heiliges
Römisches
Reich
{de
re
v.
LexMA.
IV.
{=>
p.
2025sqq.|URL}}):"""
[match:Interpretamente]
M1:
"""LAT
capital,
rica
--
DEU
Kopftuch:"""
M2:
"""LAT
capital,
rica
...
...
@@ -39,4 +43,4 @@ M2: """LATEINISCH capital, rica"""
[match:DeutscheBedeutung]
M1:
"""DEU
Gesichts-,
Schweißtuch
{usu
liturg.:
de
re
v.
p.
32,
63}"""
M2:
"""DEUTSCH
Kopftuch"""
M3:
"""Gefolge
(des
Kaisers
; spectat ad militiam)"""
examples/MLW/grammar_tests/08_test_belege.ini
View file @
c04f969e
...
...
@@ -54,3 +54,6 @@ M2: """5 p. 976^A"""
[fail:Werk]
F1:
"""Fred.
2,35sqq.
capit.
p.
43.
2,36
p.
60,10.
ym-"""
[match:BelegText]
M1:
'"quare
...
veniens
de
imperio
non
laeteris
(sc.
Belisarius)?"'
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment