Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
badw-it
DHParser
Commits
1f237326
Commit
1f237326
authored
Dec 19, 2017
by
di68kap
Browse files
- MLW: Verbesserung der Grammatik (MLW.ebnf)
parent
e45f01a4
Changes
6
Show whitespace changes
Inline
Side-by-side
examples/MLW/Beispiele/imperium/imperium.mlw
View file @
1f237326
...
@@ -232,7 +232,7 @@ BEDEUTUNG
...
@@ -232,7 +232,7 @@ BEDEUTUNG
UNTER_UNTER_BEDEUTUNG
UNTER_UNTER_BEDEUTUNG
LATEINISCH comitatus (imperatoris)
LATEINISCH comitatus (imperatoris)
DEUTSCH Gefolge
(
des Kaisers
;
spectat ad militiam
)
DEUTSCH Gefolge
, Gefolge
des Kaisers
{
spectat ad militiam
}
* Nith.: hist.; 1,4 p. 5,21
* Nith.: hist.; 1,4 p. 5,21
"imperator una cum omni, quod habebat, imperio, tres reges filiique eius adversus
"imperator una cum omni, quod habebat, imperio, tres reges filiique eius adversus
...
...
examples/MLW/MLW.ebnf
View file @
1f237326
...
@@ -109,18 +109,17 @@ U5Bedeutung = { ZWW "UUUUU_BEDEUTUNG" [LZ] §UntersteBedeutung }+
...
@@ -109,18 +109,17 @@ U5Bedeutung = { ZWW "UUUUU_BEDEUTUNG" [LZ] §UntersteBedeutung }+
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = { EINZEILER [LZ] [Zusatz] [LZ] } §":"
Bedeutungskategorie = { EINZEILER [LZ] [Zusatz] [LZ] } §":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] [Zusatz] LateinischerAusdruck
Interpretamente = LateinischeBedeutung (LZ | " " | "--") §DeutscheBedeutung [":"]
DeutscheBedeutung = DEU [LZ] [Zusatz] DeutscherAusdruck
LateinischeBedeutung = LAT [ZW] LateinischerAusdruck { "," LateinischerAusdruck }
LateinischerAusdruck = LAT_WORT { [ZW] ((/[,;]?/~ [ZW] (LAT_WORT | ("(" LateinischerAusdruck ")")))
DeutscheBedeutung = DEU [ZW] DeutscherAusdruck { "," DeutscherAusdruck }
| Zusatz) }
LateinischerAusdruck = { <(LAT_WORT | "(" { LAT_WORT }+ ")") [Zusatz]> }+
DeutscherAusdruck = DEU_WORT { [ZW] ((/[,;]?/~ [ZW] (DEU_WORT | ("(" DeutscherAusdruck")")))
DeutscherAusdruck = { <(DEU_WORT | "(" { DEU_WORT }+ ")") [Zusatz]> }+
| Zusatz) }
LAT = "LATEINISCH" | "LAT"
# LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DEU = "DEUTSCH" | "DEU"
# DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
# LateinischerAusdruck = LAT_WORT [[LZ] BedeutungsQualifikation]
# DeutscherAusdruck = DEU_WORT [[LZ] BedeutungsQualifikation]
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
...
@@ -149,15 +148,6 @@ Stellenverweis = BelegQuelle { [ABS] Stelle (NullVerweis | Verweis) }
...
@@ -149,15 +148,6 @@ Stellenverweis = BelegQuelle { [ABS] Stelle (NullVerweis | Verweis) }
NullVerweis = "{" "-" "}"
NullVerweis = "{" "-" "}"
#### Schlüsselwörter #########################################################
LAT = "LATEINISCH" | "LAT"
DEU = "DEUTSCH" | "DEU"
GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
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 } "}" }+
...
@@ -171,16 +161,14 @@ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}
...
@@ -171,16 +161,14 @@ Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Zitat = Quellenangabe
Zitat = Quellenangabe { SEM [ZW] BelegStelle }
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[LZ] Zusatz] }
Quellenangabe = [<Anker | Zusatz>] < BelegQuelle | Verweis >
Quellenangabe = [<Anker | Zusatz>] < BelegQuelle | Verweis >
BelegQuelle = Autor §DPP [Werk] &SEM
BelegQuelle = Autor §DPP [Werk] &SEM
BelegStelle = [<Anker | Zusatz>] (Stelle [[ZW] BelegText] | Verweis) [[ZW] Zusatz]
BelegText = /"/ { MEHRZEILER | Zusatz } §/"/~ ["."]
BelegText = /"/ { MEHRZEILER | Zusatz } §/"/~ ["."]
Autor = EINZEILER
[<Anker | Verweis | Zusatz>]
Autor = EINZEILER
Werk =
<
EINZEILER
[<Anker | Verweis | Zusatz>]>
Werk = EINZEILER
Stelle = EINZEILER
Stelle = EINZEILER
Datierung = EINZEILER
Datierung = EINZEILER
Edition = EINZEILER
Edition = EINZEILER
...
@@ -206,18 +194,17 @@ NAMENS_ABKÜRZUNG = /[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
...
@@ -206,18 +194,17 @@ NAMENS_ABKÜRZUNG = /[A-ZÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
# DEU_WORT_ERW = DEU_WORT | (["("] DEU_WORT [")"])
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-.]+/~
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-.]+/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
DEU_KLEIN = /(?!--)[a-zäöüßęõ_\-.]+/~
DEU_KLEIN = /(?!--)[a-zäöüßęõ_\-.]+/~
LAT_WORT = /(?!--)[a-z|\-_.]+/~
LAT_WORT = /(?!--)[a-z|\-_.]+/~
# 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
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])/~
SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`''‘’?]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`''‘’?]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
...
...
examples/MLW/MLWCompiler.py
View file @
1f237326
...
@@ -161,18 +161,17 @@ class MLWGrammar(Grammar):
...
@@ -161,18 +161,17 @@ class MLWGrammar(Grammar):
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
Bedeutung = (Interpretamente | Bedeutungskategorie) [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
UntersteBedeutung = Interpretamente [BelegPosition]
Bedeutungskategorie = { EINZEILER [LZ] [Zusatz] [LZ] } §":"
Bedeutungskategorie = { EINZEILER [LZ] [Zusatz] [LZ] } §":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] [Zusatz] LateinischerAusdruck
Interpretamente = LateinischeBedeutung (LZ | " " | "--") §DeutscheBedeutung [":"]
DeutscheBedeutung = DEU [LZ] [Zusatz] DeutscherAusdruck
LateinischeBedeutung = LAT [ZW] LateinischerAusdruck { "," LateinischerAusdruck }
LateinischerAusdruck = LAT_WORT { [ZW] ((/[,;]?/~ [ZW] (LAT_WORT | ("(" LateinischerAusdruck ")")))
DeutscheBedeutung = DEU [ZW] DeutscherAusdruck { "," DeutscherAusdruck }
| Zusatz) }
LateinischerAusdruck = { <(LAT_WORT | "(" { LAT_WORT }+ ")") [Zusatz]> }+
DeutscherAusdruck = DEU_WORT { [ZW] ((/[,;]?/~ [ZW] (DEU_WORT | ("(" DeutscherAusdruck")")))
DeutscherAusdruck = { <(DEU_WORT | "(" { DEU_WORT }+ ")") [Zusatz]> }+
| Zusatz) }
LAT = "LATEINISCH" | "LAT"
# LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
DEU = "DEUTSCH" | "DEU"
# DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
# LateinischerAusdruck = LAT_WORT [[LZ] BedeutungsQualifikation]
# DeutscherAusdruck = DEU_WORT [[LZ] BedeutungsQualifikation]
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
...
@@ -201,15 +200,6 @@ class MLWGrammar(Grammar):
...
@@ -201,15 +200,6 @@ class MLWGrammar(Grammar):
NullVerweis = "{" "-" "}"
NullVerweis = "{" "-" "}"
#### Schlüsselwörter #########################################################
LAT = "LATEINISCH" | "LAT"
DEU = "DEUTSCH" | "DEU"
GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
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 } "}" }+
...
@@ -223,16 +213,14 @@ class MLWGrammar(Grammar):
...
@@ -223,16 +213,14 @@ class MLWGrammar(Grammar):
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Zitat = Quellenangabe
Zitat = Quellenangabe { SEM [ZW] BelegStelle }
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[LZ] Zusatz] }
Quellenangabe = [<Anker | Zusatz>] < BelegQuelle | Verweis >
Quellenangabe = [<Anker | Zusatz>] < BelegQuelle | Verweis >
BelegQuelle = Autor §DPP [Werk] &SEM
BelegQuelle = Autor §DPP [Werk] &SEM
BelegStelle = [<Anker | Zusatz>] (Stelle [[ZW] BelegText] | Verweis) [[ZW] Zusatz]
BelegText = /"/ { MEHRZEILER | Zusatz } §/"/~ ["."]
BelegText = /"/ { MEHRZEILER | Zusatz } §/"/~ ["."]
Autor = EINZEILER
[<Anker | Verweis | Zusatz>]
Autor = EINZEILER
Werk =
<
EINZEILER
[<Anker | Verweis | Zusatz>]>
Werk = EINZEILER
Stelle = EINZEILER
Stelle = EINZEILER
Datierung = EINZEILER
Datierung = EINZEILER
Edition = EINZEILER
Edition = EINZEILER
...
@@ -258,18 +246,17 @@ class MLWGrammar(Grammar):
...
@@ -258,18 +246,17 @@ class MLWGrammar(Grammar):
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
NAME = /[A-ZÄÖÜÁÀÓÒÚÙÂÔÛ][a-zäöüßáàâóòôúùû]+/~
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
DEU_WORT = DEU_GROSS | DEU_KLEIN | GROSSBUCHSTABE
# DEU_WORT_ERW = DEU_WORT | (["("] DEU_WORT [")"])
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-.]+/~
DEU_GROSS = /[A-ZÄÖÜ][a-zäöüßę_\-.]+/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
GROSSBUCHSTABE = /[A-ZÄÖÜ](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
KLEINBUCHSTABE = /[a-zäöü](?=[ \t\n])/~
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
GRI_BUCHSTABE = /[αβγδεζηθικλμνξοπρςστυφχψω]/
DEU_KLEIN = /(?!--)[a-zäöüßęõ_\-.]+/~
DEU_KLEIN = /(?!--)[a-zäöüßęõ_\-.]+/~
LAT_WORT = /(?!--)[a-z|\-_.]+/~
LAT_WORT = /(?!--)[a-z|\-_.]+/~
# 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
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])/~
SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`''‘’?]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()\[\]]+)|[`''‘’?]/~ # div. Satzzeichen, aber keine doppelten ,, ;; oder ::
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
TEIL_SATZZEICHEN = /(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]/~ # Satzeichen bis auf Doppelpunkt ":", Semikolon ";" und eckige Klammern
...
@@ -303,12 +290,10 @@ class MLWGrammar(Grammar):
...
@@ -303,12 +290,10 @@ class MLWGrammar(Grammar):
NIEMALS = /(?!.)/
NIEMALS = /(?!.)/
"""
"""
DEU_WORT
=
Forward
()
DEU_WORT
=
Forward
()
DeutscherAusdruck
=
Forward
()
FREITEXT
=
Forward
()
FREITEXT
=
Forward
()
GROSSSCHRIFT
=
Forward
()
GROSSSCHRIFT
=
Forward
()
Kategorien
=
Forward
()
Kategorien
=
Forward
()
LZ
=
Forward
()
LZ
=
Forward
()
LateinischerAusdruck
=
Forward
()
LemmaWort
=
Forward
()
LemmaWort
=
Forward
()
ROEMISCHE_ZAHL
=
Forward
()
ROEMISCHE_ZAHL
=
Forward
()
SATZZEICHEN
=
Forward
()
SATZZEICHEN
=
Forward
()
...
@@ -320,7 +305,7 @@ class MLWGrammar(Grammar):
...
@@ -320,7 +305,7 @@ class MLWGrammar(Grammar):
flexion
=
Forward
()
flexion
=
Forward
()
genus
=
Forward
()
genus
=
Forward
()
wortart
=
Forward
()
wortart
=
Forward
()
source_hash__
=
"
464ddc02bebdae51c3aef3bbee12f79
3"
source_hash__
=
"
d202980f0e4a3730229a6772c9dfc37
3"
parser_initialization__
=
"upon instantiation"
parser_initialization__
=
"upon instantiation"
COMMENT__
=
r
'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
COMMENT__
=
r
'(?:\/\/.*)|(?:\/\*(?:.|\n)*?\*\/)'
WHITESPACE__
=
r
'[\t ]*'
WHITESPACE__
=
r
'[\t ]*'
...
@@ -351,6 +336,7 @@ class MLWGrammar(Grammar):
...
@@ -351,6 +336,7 @@ class MLWGrammar(Grammar):
BUCHSTABENFOLGE
=
RE
(
'
\\
w+'
)
BUCHSTABENFOLGE
=
RE
(
'
\\
w+'
)
TEIL_SATZZEICHEN
.
set
(
RE
(
"(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]"
))
TEIL_SATZZEICHEN
.
set
(
RE
(
"(?!->)(?:(?:,(?!,))|(?:-(?!-))|[.()]+)|[`''‘’?]"
))
SATZZEICHEN
.
set
(
RE
(
"(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()
\\
[
\\
]]+)|[`''‘’?]"
))
SATZZEICHEN
.
set
(
RE
(
"(?!->)(?:(?:,(?!,))|(?:;(?!;))|(?::(?!:))|(?:-(?!-))|[.()
\\
[
\\
]]+)|[`''‘’?]"
))
SCHLUESSELWORT
=
Series
(
OneOrMore
(
Series
(
RE
(
''
),
RegExp
(
'
\\
n'
))),
NegativeLookahead
(
ROEMISCHE_ZAHL
),
RegExp
(
'[A-ZÄÖÜ]{3,}
\\
s+'
))
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])'
))
SEITENZAHL
.
set
(
RE
(
'[
\\
d]+(?:
\\
^(?:(?:
\\
{[
\\
d
\\
w.]+
\\
})|
\\
w))?'
))
SEITENZAHL
.
set
(
RE
(
'[
\\
d]+(?:
\\
^(?:(?:
\\
{[
\\
d
\\
w.]+
\\
})|
\\
w))?'
))
ZAHL
=
RE
(
'[
\\
d]+'
)
ZAHL
=
RE
(
'[
\\
d]+'
)
...
@@ -376,12 +362,13 @@ class MLWGrammar(Grammar):
...
@@ -376,12 +362,13 @@ class MLWGrammar(Grammar):
Edition
=
Synonym
(
EINZEILER
)
Edition
=
Synonym
(
EINZEILER
)
Datierung
=
Synonym
(
EINZEILER
)
Datierung
=
Synonym
(
EINZEILER
)
Stelle
=
Synonym
(
EINZEILER
)
Stelle
=
Synonym
(
EINZEILER
)
Werk
=
AllOf
(
EINZEILER
,
Option
(
SomeOf
(
Anker
,
Verweis
,
Zusatz
))
)
Werk
=
Synonym
(
EINZEILER
)
Autor
=
S
eries
(
EINZEILER
,
Option
(
SomeOf
(
Anker
,
Verweis
,
Zusatz
))
)
Autor
=
S
ynonym
(
EINZEILER
)
BelegText
=
Series
(
RegExp
(
'"'
),
ZeroOrMore
(
Alternative
(
MEHRZEILER
,
Zusatz
)),
RE
(
'"'
),
Option
(
Token
(
"."
)),
mandatory
=
2
)
BelegText
=
Series
(
RegExp
(
'"'
),
ZeroOrMore
(
Alternative
(
MEHRZEILER
,
Zusatz
)),
RE
(
'"'
),
Option
(
Token
(
"."
)),
mandatory
=
2
)
BelegStelle
=
Series
(
Option
(
SomeOf
(
Anker
,
Zusatz
)),
Alternative
(
Series
(
Stelle
,
Option
(
Series
(
Option
(
ZW
),
BelegText
))),
Verweis
),
Option
(
Series
(
Option
(
ZW
),
Zusatz
)))
BelegQuelle
=
Series
(
Autor
,
DPP
,
Option
(
Werk
),
Lookahead
(
SEM
),
mandatory
=
1
)
BelegQuelle
=
Series
(
Autor
,
DPP
,
Option
(
Werk
),
Lookahead
(
SEM
),
mandatory
=
1
)
Quellenangabe
=
Series
(
Option
(
SomeOf
(
Anker
,
Zusatz
)),
SomeOf
(
BelegQuelle
,
Verweis
))
Quellenangabe
=
Series
(
Option
(
SomeOf
(
Anker
,
Zusatz
)),
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
(
LZ
),
Zusatz
))
)))
Zitat
=
Series
(
Quellenangabe
,
ZeroOrMore
(
Series
(
SEM
,
Option
(
ZW
),
BelegStelle
)))
Beleg
=
Series
(
Option
(
Zusatz
),
Alternative
(
Series
(
Verweis
,
Option
(
Zitat
)),
Zitat
),
Option
(
Series
(
ABS
,
Zusatz
)),
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
))
...
@@ -389,10 +376,6 @@ class MLWGrammar(Grammar):
...
@@ -389,10 +376,6 @@ class MLWGrammar(Grammar):
FesterZusatz
=
Alternative
(
Token
(
"adde"
),
Token
(
"sape"
),
Token
(
"persaepe"
))
FesterZusatz
=
Alternative
(
Token
(
"adde"
),
Token
(
"sape"
),
Token
(
"persaepe"
))
EinzelnerZusatz
=
Alternative
(
FesterZusatz
,
GemischterZusatz
,
FreierZusatz
)
EinzelnerZusatz
=
Alternative
(
FesterZusatz
,
GemischterZusatz
,
FreierZusatz
)
Zusatz
.
set
(
OneOrMore
(
Series
(
Token
(
"{"
),
NegativeLookahead
(
Alternative
(
Token
(
"=>"
),
Token
(
"#"
))),
EinzelnerZusatz
,
ZeroOrMore
(
Series
(
Token
(
";;"
),
EinzelnerZusatz
)),
Token
(
"}"
),
mandatory
=
2
)))
Zusatz
.
set
(
OneOrMore
(
Series
(
Token
(
"{"
),
NegativeLookahead
(
Alternative
(
Token
(
"=>"
),
Token
(
"#"
))),
EinzelnerZusatz
,
ZeroOrMore
(
Series
(
Token
(
";;"
),
EinzelnerZusatz
)),
Token
(
"}"
),
mandatory
=
2
)))
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"
))
LAT
=
Alternative
(
Token
(
"LATEINISCH"
),
Token
(
"LAT"
))
NullVerweis
=
Series
(
Token
(
"{"
),
Token
(
"-"
),
Token
(
"}"
))
NullVerweis
=
Series
(
Token
(
"{"
),
Token
(
"-"
),
Token
(
"}"
))
Stellenverweis
=
Series
(
BelegQuelle
,
ZeroOrMore
(
Series
(
Option
(
ABS
),
Stelle
,
Alternative
(
NullVerweis
,
Verweis
))))
Stellenverweis
=
Series
(
BelegQuelle
,
ZeroOrMore
(
Series
(
Option
(
ABS
),
Stelle
,
Alternative
(
NullVerweis
,
Verweis
))))
Verweisliste
=
ZeroOrMore
(
Series
(
Option
(
LZ
),
Token
(
"*"
),
Stellenverweis
))
Verweisliste
=
ZeroOrMore
(
Series
(
Option
(
LZ
),
Token
(
"*"
),
Stellenverweis
))
...
@@ -402,11 +385,14 @@ class MLWGrammar(Grammar):
...
@@ -402,11 +385,14 @@ class MLWGrammar(Grammar):
UnterArtikel
=
Series
(
ZWW
,
Token
(
"UNTER-ARTIKEL"
))
UnterArtikel
=
Series
(
ZWW
,
Token
(
"UNTER-ARTIKEL"
))
VerweisPosition
=
Series
(
ZWW
,
Token
(
"VERWEISE"
))
VerweisPosition
=
Series
(
ZWW
,
Token
(
"VERWEISE"
))
BelegPosition
=
Series
(
ZWW
,
Option
(
Series
(
Token
(
"BELEGE"
),
Option
(
LZ
))),
Belege
)
BelegPosition
=
Series
(
ZWW
,
Option
(
Series
(
Token
(
"BELEGE"
),
Option
(
LZ
))),
Belege
)
DeutscherAusdruck
.
set
(
Series
(
DEU_WORT
,
ZeroOrMore
(
Series
(
Option
(
ZW
),
Alternative
(
Series
(
RE
(
'[,;]?'
),
Option
(
ZW
),
Alternative
(
DEU_WORT
,
Series
(
Token
(
"("
),
DeutscherAusdruck
,
Token
(
")"
)))),
Zusatz
)))))
GRI
=
Alternative
(
Token
(
"GRIECHISCH"
),
Token
(
"GRIECH"
),
Token
(
"GRIE"
),
Token
(
"GRI"
))
LateinischerAusdruck
.
set
(
Series
(
LAT_WORT
,
ZeroOrMore
(
Series
(
Option
(
ZW
),
Alternative
(
Series
(
RE
(
'[,;]?'
),
Option
(
ZW
),
Alternative
(
LAT_WORT
,
Series
(
Token
(
"("
),
LateinischerAusdruck
,
Token
(
")"
)))),
Zusatz
)))))
DEU
=
Alternative
(
Token
(
"DEUTSCH"
),
Token
(
"DEU"
))
DeutscheBedeutung
=
Series
(
DEU
,
Option
(
LZ
),
Option
(
Zusatz
),
DeutscherAusdruck
)
LAT
=
Alternative
(
Token
(
"LATEINISCH"
),
Token
(
"LAT"
))
LateinischeBedeutung
=
Series
(
LAT
,
Option
(
LZ
),
Option
(
Zusatz
),
LateinischerAusdruck
)
DeutscherAusdruck
=
OneOrMore
(
AllOf
(
Alternative
(
DEU_WORT
,
Series
(
Token
(
"("
),
OneOrMore
(
DEU_WORT
),
Token
(
")"
))),
Option
(
Zusatz
)))
Interpretamente
=
Series
(
LateinischeBedeutung
,
Alternative
(
Token
(
"--"
),
LZ
),
DeutscheBedeutung
,
Option
(
Token
(
":"
)),
mandatory
=
2
)
LateinischerAusdruck
=
OneOrMore
(
AllOf
(
Alternative
(
LAT_WORT
,
Series
(
Token
(
"("
),
OneOrMore
(
LAT_WORT
),
Token
(
")"
))),
Option
(
Zusatz
)))
DeutscheBedeutung
=
Series
(
DEU
,
Option
(
ZW
),
DeutscherAusdruck
,
ZeroOrMore
(
Series
(
Token
(
","
),
DeutscherAusdruck
)))
LateinischeBedeutung
=
Series
(
LAT
,
Option
(
ZW
),
LateinischerAusdruck
,
ZeroOrMore
(
Series
(
Token
(
","
),
LateinischerAusdruck
)))
Interpretamente
=
Series
(
LateinischeBedeutung
,
Alternative
(
LZ
,
Token
(
" "
),
Token
(
"--"
)),
DeutscheBedeutung
,
Option
(
Token
(
":"
)),
mandatory
=
2
)
Bedeutungskategorie
=
Series
(
ZeroOrMore
(
Series
(
EINZEILER
,
Option
(
LZ
),
Option
(
Zusatz
),
Option
(
LZ
))),
Token
(
":"
),
mandatory
=
1
)
Bedeutungskategorie
=
Series
(
ZeroOrMore
(
Series
(
EINZEILER
,
Option
(
LZ
),
Option
(
Zusatz
),
Option
(
LZ
))),
Token
(
":"
),
mandatory
=
1
)
UntersteBedeutung
=
Series
(
Interpretamente
,
Option
(
BelegPosition
))
UntersteBedeutung
=
Series
(
Interpretamente
,
Option
(
BelegPosition
))
Bedeutung
=
Series
(
Alternative
(
Interpretamente
,
Bedeutungskategorie
),
Option
(
BelegPosition
))
Bedeutung
=
Series
(
Alternative
(
Interpretamente
,
Bedeutungskategorie
),
Option
(
BelegPosition
))
...
...
examples/MLW/VERALTET/MLW_V2.ebnf
0 → 100644
View file @
1f237326
# EBNF-Syntax für MLW-Artikel
# TODO: Vervollständigen!!!!
@ 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
##############################################################################
Artikel = [LZ]
§{ LemmaPosition }+
[EtymologiePosition]
[ArtikelKopf]
BedeutungsPosition
[VerweisPosition]
{ UnterArtikel }
ArtikelVerfasser
[Stellenverzeichnis]
[LZ] DATEI_ENDE
#### LEMMA-POSITION ##########################################################
LemmaPosition = [ABS] "LEMMA" [LZ] §Lemma TR [LemmaVarianten]
GrammatikPosition [Zusatz]
Lemma = [< klassisch | gesichert >] LemmaWort
klassisch = "*"
gesichert = "$" # TODO: Noch fragen: Welches Zeichen?
LemmaWort = LAT_WORT
LemmaVarianten = LemmaVariante { [";" | ","] [ZW] LemmaVariante } [ ABS Zusatz ]
LemmaVariante = LAT_WORT [Zusatz]
## GRAMMATIK-POSITION ##
GrammatikPosition = ZWW "GRAMMATIK" [LZ] §Grammatik { ABS GrammatikVariante }
Grammatik = wortart §ABS flexion [genus]
wortart = "nomen" | "n."
| "verb" | "v."
| "adverb" | "adv."
| "adjektiv" | "adj."
| "praeposition" | "praep."
flexion = deklination | konjugation
deklination = FLEX ["," FLEX]
konjugation = FLEX
FLEX = /-?[a-z]+/~
genus = "maskulinum" | "m."
| "femininum" | "f."
| "neutrum" | "n."
GrammatikVariante = [wortart ABS] flexion [genus] DPP Beleg { FORTSETZUNG Beleg } # Beleg { SEM Beleg }
#### ETYMOLOGIE-POSITION #####################################################
EtymologiePosition = ZWW "ETYMOLOGIE" [LZ] { EtymologieVariante }+
EtymologieVariante = LAT | GRI [EtymologieBesonderheit] ["ETYM" Etymologie] DPP Beleg
EtymologieBesonderheit = EINZEILER
Etymologie = EINZEILER
#### ARTIKEL-KOPF ############################################################
ArtikelKopf = < SchreibweisenPosition
| StrukturPosition
| GebrauchPosition
| MetrikPosition
| VerwechselungPosition >
SchreibweisenPosition = ZWW "SCHREIBWEISE" Position
StrukturPosition = ZWW "STRUKTUR" Position
GebrauchPosition = ZWW "GEBRAUCH" Position
MetrikPosition = ZWW "METRIK" Position
VerwechselungPosition = ZWW "VERWECHSELBAR" Position
## ARTIKELKOPF POSITIONEN ##
Position = [LZ] §Kategorien
Kategorien = Kategorie { ZWW Kategorie }
Kategorie = Besonderheit §DPP [LZ] ( Varianten | Kategorien )
Besonderheit = EINZEILER
Varianten = Variante { ZWW Variante }
Variante = !KATEGORIENZEILE Gegenstand DPP Belege
Gegenstand = EINZEILER
#### BEDEUTUNGS-POSITION #####################################################
BedeutungsPosition = { ZWW "BEDEUTUNG" [LZ] §Bedeutung [U1Bedeutung] }+
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] [Zusatz] [LZ] } §":"
Interpretamente = LateinischeBedeutung ("--"| LZ) §DeutscheBedeutung [":"]
LateinischeBedeutung = LAT [LZ] [Zusatz] LateinischerAusdruck
DeutscheBedeutung = DEU [LZ] [Zusatz] DeutscherAusdruck
LateinischerAusdruck = LAT_WORT { [ZW] ((/[,;]?/~ [ZW] (LAT_WORT | ("(" LateinischerAusdruck ")")))
| Zusatz) }
DeutscherAusdruck = DEU_WORT { [ZW] ((/[,;]?/~ [ZW] (DEU_WORT | ("(" DeutscherAusdruck")")))
| Zusatz) }
# LateinischerAusdruck = LAT_WORT_ERW { //~ LAT_WORT_ERW } [[LZ] BedeutungsQualifikation]
# DeutscherAusdruck = DEU_WORT_ERW { //~ DEU_WORT_ERW } [[LZ] BedeutungsQualifikation]
# LateinischerAusdruck = LAT_WORT [[LZ] BedeutungsQualifikation]
# DeutscherAusdruck = DEU_WORT [[LZ] BedeutungsQualifikation]
BelegPosition = ZWW ["BELEGE" [LZ]] Belege
#### VERWEIS-POSITION ########################################################
VerweisPosition = ZWW "VERWEISE"
#### UNTER-ARTIKEL ###########################################################
UnterArtikel = ZWW "UNTER-ARTIKEL"
#### AUTOR/AUTORIN ###########################################################
ArtikelVerfasser = ZWW ("AUTORIN" | "AUTOR") §Name
Name = { NAME | NAMENS_ABKÜRZUNG | "unbekannt" }+
#### STELLENVERZEICHNIS ######################################################
Stellenverzeichnis = ZWW "STELLENVERZEICHNIS" [LemmaWort] ZWW Verweisliste
Verweisliste = { [LZ] "*" Stellenverweis }
Stellenverweis = BelegQuelle { [ABS] Stelle (NullVerweis | Verweis) }
NullVerweis = "{" "-" "}"
#### Schlüsselwörter #########################################################
LAT = "LATEINISCH" | "LAT"
DEU = "DEUTSCH" | "DEU"
GRI = "GRIECHISCH" | "GRIECH" | "GRIE" | "GRI"
SCHLUESSELWORT = { //~ /\n/ }+ !ROEMISCHE_ZAHL /[A-ZÄÖÜ]{3,}\s+/
#### ZUSATZ an verschiedenen Stellen der Struktur ############################
Zusatz = { "{" !("=>" | "#") §EinzelnerZusatz { ";;" EinzelnerZusatz } "}" }+
EinzelnerZusatz = FesterZusatz | GemischterZusatz | FreierZusatz
FesterZusatz = "adde" | "sape" | "persaepe"
GemischterZusatz = ( "usu" | "plur. sensu sing." ) FreierZusatz
FreierZusatz = { FREITEXT | VerweisKern | Verweis }+
#### BELEGE ##################################################################
Belege = ["*"] Beleg { [LZ] "*" Beleg }
Beleg = [Zusatz] ((Verweis [Zitat]) | Zitat) [ABS Zusatz] ["."]
Zitat = Quellenangabe
{ SEM [ZW] [Anker] [Zusatz] <Stelle | Verweis>
[[ZW] BelegText] [[LZ] Zusatz] }
Quellenangabe = [<Anker | Zusatz>] < BelegQuelle | Verweis >
BelegQuelle = Autor §DPP [Werk] &SEM
BelegText = /"/ { MEHRZEILER | Zusatz } §/"/~ ["."]
Autor = EINZEILER [<Anker | Verweis | Zusatz>]
Werk = <EINZEILER [<Anker | Verweis | Zusatz>]>
Stelle = EINZEILER
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ÄÖÜÁÀÂÓÒÔÚÙÛ]\./~
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]+/~
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
BUCHSTABENFOLGE = /\w+/~
ZEICHENFOLGE = /[\w()-]+/~
TEXTELEMENT = DEU_WORT | SEITENZAHL | ROEMISCHE_ZAHL
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 = { COMMENT__ | /\s+/ }+ # Leerzeichen oder -zeilen
DPP = /::?/~ # Doppelpunkt als Trenner
SEM = /;;?/~ # Semikolon als Trenner
ZW = !LÜCKE ZEILENSPRUNG # Zeilenwechsel, aber keine Leerzeile(n)
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
ZEILENSPRUNG = /[ \t]*\n/~
KOMMENTARZEILEN = { /[ \t]*\n?[ \t]*/ COMMENT__ } # echte Kommentarzeilen
KATEGORIENZEILE = /[^:\n]+[:][ \t]*\n/ # Kategorienzeilen enthalten genau einen Doppelpunkt am Ende der Zeile
FORTSETZUNG = !(ZWW /[^:\n]+[:]/)
DATEI_ENDE = !/./
NIEMALS = /(?!.)/
examples/MLW/grammar_tests/05_test_bedeutung.ini
View file @
1f237326
...
@@ -43,5 +43,5 @@ M2: """LATEINISCH capital, rica"""
...
@@ -43,5 +43,5 @@ M2: """LATEINISCH capital, rica"""
[match:DeutscheBedeutung]
[match:DeutscheBedeutung]
M1:
"""DEU
Gesichts-,
Schweißtuch
{usu
liturg.:
de
re
v.
p.
32,
63}"""
M1:
"""DEU
Gesichts-,
Schweißtuch
{usu
liturg.:
de
re
v.
p.
32,
63}"""
M2:
"""DEUTSCH
Kopftuch"""
M2:
"""DEUTSCH
Kopftuch"""
M3:
"""DEU
Gefolge
(des
Kaisers
;
spectat ad militiam
)
"""
M3:
"""DEU
Gefolge,
Gefolge
(des
Kaisers
)
{
spectat
ad
militiam
}
"""
M4:
"""DEUTSCH
Wille,
(willkürlicher)
Beschluss"""
M4:
"""DEUTSCH
Wille,
(willkürlicher)
Beschluss"""
examples/MLW/grammar_tests/08_test_belege.ini
View file @
1f237326
...
@@ -21,8 +21,8 @@ M2: """Form.: Sangall.; 39 p. 421,16 "munuscula ... direximus, hoc est palliolum
...
@@ -21,8 +21,8 @@ M2: """Form.: Sangall.; 39 p. 421,16 "munuscula ... direximus, hoc est palliolum
M3:
"""Catal.:
thes.
Germ.
; 18,7 "-eterculi viginti quatuor" """
M3:
"""Catal.:
thes.
Germ.
; 18,7 "-eterculi viginti quatuor" """
M4:
"""Libri:
confrat.
I
; app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata
M4:
"""Libri:
confrat.
I
; app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata