Commit bd69138e authored by di68kap's avatar di68kap
Browse files

-Example for MLW: "facitergula" as DSL + started MLW.ebnf

parent 8b6d6785
......@@ -457,9 +457,7 @@ class ParserRoot:
ZOMBIE_PARSER = Parser() # zombie object to avoid distinction of cases
# for the Node.parser variable
RE_WSPC = Parser(WHITESPACE_KEYWORD) # Dummy Parser for comments that were captured
# by an RE Parser via the `comment`-parameter
# by an RE Parser via the `comment`-parameter
##############################################################################
......@@ -1162,7 +1160,7 @@ class EBNFGrammar(ParserRoot):
symbol : /\w+/~ # e.g. expression, factor, parameter_list
literal : /"(?:[^"]|\\")*?"/~ # e.g. "(", '+', 'while'
| /'(?:[^']|\\')*?'/~ # whitespace surrounding literals will be ignored tacitly.
| /'(?:[^']|\\')*?'/~ # whitespace following literals will be ignored tacitly.
regexp : /~?\/(?:[^\/]|(?<=\\)\/)*\/~?/~ # e.g. /\w+/, ~/#.*(?:\n|$)/~
# '~' is a whitespace-marker, if present leading or trailing
# whitespace of a regular expression will be ignored tacitly.
......
# EBNF-Grammar in EBNF
@ comment = /#.*(?:\n|$)/ # comments start with '#' and eat all chars upto and including '\n'
@ comment = /#.*(?:\n|$)/ # comments start with '#' and eat all chars up to and including '\n'
@ whitespace = /\s*/ # whitespace includes linefeed
@ literalws = right # trailing whitespace of literals will be ignored tacitly
......@@ -29,7 +29,7 @@ oneormore = "<" expression §">"
symbol = /(?!\d)\w+/~ # e.g. expression, factor, parameter_list
literal = /"(?:[^"]|\\")*?"/~ # e.g. "(", '+', 'while'
| /'(?:[^']|\\')*?'/~ # whitespace surrounding literals will be ignored tacitly.
| /'(?:[^']|\\')*?'/~ # whitespace following literals will be ignored tacitly.
regexp = /~?\/(?:[^\/]|(?<=\\)\/)*\/~?/~ # e.g. /\w+/, ~/#.*(?:\n|$)/~
# '~' is a whitespace-marker, if present leading or trailing
# whitespace of a regular expression will be ignored tacitly.
......
# EBNF-Syntax für MLW-Artikel
@ comment = /#.*(?:\n|$)/ # Kommentare beginnen mit '#' und reichen bis zum Zeilenende
@ whitespace = /\s*/ # Auch Zeilenspränge zählen als Leerraum
@ literalws = both # Leerraum vor und nach Literalen wird automatisch entfernt
Artikel = [LEER]
§LemmaPosition [ArtikelKopf] §BedeutungsPosition
[LEER] DATEI_ENDE
#### LEMMA-POSITION ##########################################################
LemmaPosition = "LEMMA" §Lemma [LemmaVarianten] §GrammatikPosition
Lemma = [_tll] WORT_KLEIN
_tll = "*"
LemmaVarianten = "VARIANTEN" §LVariante { "," §LVariante } [";" §LVZusatz]
LVariante = ~/(?:[a-z]|-)+/~ # Buchstabenfolge mit Trennzeichen "-"
LVZusatz = "sim."
#### GRAMMATIK-POSITION ######################################################
GrammatikPosition = "GRAMMATIK" §_wortart §";" §Flexionen [_genus] [GrammatikVarianten] ["."]
_wortart = "nomen" | "n." |
"verb" | "v." |
"adverb" | "adv." |
"adjektiv" | "adj."
GrammatikVarianten = "(" §GVariante { ";" §GVariante } §")"
GVariante = Flexionen [_genus] ":" Beleg
Flexionen = Flexion { "," §Flexion }
Flexion = /-*[a-z]+/~
_genus = "maskulinum" | "m." |
"femininum" | "f." |
"neutrum" | "n."
#### ARTIKEL-KOPF ############################################################
ArtikelKopf = SchreibweisenPosition
SchreibweisenPosition = { "SCHREIBWEISE" §SWTyp ":" §SWVariante { "," §SWVariante} }
SWTyp = "script."
SWVariante = Schreibweise ":" Beleg
Schreibweise = "vizreg-" | "festregel(a)" | "fezdregel(a)" | "fat-"
#### BEDEUTUNGS-POSITION #####################################################
BedeutungsPosition = { "BEDEUTUNG" Bedeutung }
Bedeutung = Interpretamente | Bedeutungskategorie
Interpretatmente = LateinischeBedeutung DeutscheBedeutung [Belege]
LateinischeBedeutung = "LAT" /(?:(?![A-ZÄÖÜ][A-ZÄÖÜ]).)+/~
DeutscheBedeutung = "DEU" /(?:(?![A-ZÄÖÜ][A-ZÄÖÜ]).)+/~
Belege = "BELEGE" { "* " EinBeleg }
EinBeleg = /(?:(?!(?:(?:BEDEUTUNG)|\*).)+/~
Beleg = Verweis
Verweis = ~/>>\w+/~
VerweisZiel = ~/<\w+/>/~
#### MISZELLANEEN ############################################################
WORT = /[A-ZÄÖÜ]*[a-zäöüÄÜÖß]+/~
WORT_KLEIN = /[a-z]+/~
GROSSSCHRIFT = /[A-ZÄÖÜ]+/~
LEER = /\s*/
DATEI_ENDE = !/./
NIEMALS = /(?!.)/
\ No newline at end of file
# EBNF-Syntax für MLW-Artikel
@ comment = /#.*(?:\n|$)/ # Kommentare beginnen mit '#' und reichen bis zum Zeilenende
@ whitespace = /\s*/ # Auch Zeilenspränge zählen als Leerraum
@ literalws = both # Leerraum vor und nach Literalen wird automatisch entfernt
Artikel = LemmaPosition ArtikelKopf BedeutungsPosition
LemmaPosition = Lemma [ LemmaVarianten ] §"," GrammatikPosition
Lemma = { _tll | _gesichert } /[a-z]+/~
_tll = "*"
_gesichert = NIEMALS # Zeichenfolge noch nicht festgelegt
LemmaVarianten = "(" LVariante { "," LVariante } [LVZusatz] ")"
LVariante = ~/(?:[a-z]|-)+/~ # Buchstabenfolge mit Trennzeichen "-"
LVZusatz = _typ
_typ = "sim." # | "sim..."
LEER = [~//]
DATEI_ENDE = !/./
NIEMALS = /(?!.)/
# EBNF-Syntax für MLW-Artikel
@ comment = /#.*(?:\n|$)/ # Kommentare beginnen mit '#' und reichen bis zum Zeilenende
@ whitespace = /\s*/ # Auch Zeilenspränge zählen als Leerraum
@ literalws = both # Leerraum vor und nach Literalen wird automatisch entfernt
Artikel = [LEER]
§LemmaPosition [ArtikelKopf] §BedeutungsPosition
[LEER] DATEI_ENDE
#### LEMMA-POSITION ##########################################################
LemmaPosition = "LEMMA" §Lemma [LemmaVarianten] §GrammatikPosition
Lemma = [_tll] /[a-z]+/~
_tll = "*"
LemmaVarianten = "(" §LVariante { "," §LVariante } [LVZusatz] §")"
LVariante = ~/(?:[a-z]|-)+/~ # Buchstabenfolge mit Trennzeichen "-"
LVZusatz = _typ
_typ = "sim." # | "sim..."
#### GRAMMATIK-POSITION ######################################################
GrammatikPosition = "GRAMMATIK" §_wortart §";" §Flexionen [_genus] [GrammatikVarianten] ["."]
_wortart = "nomen" | "n." |
"verb" | "v." |
"adverb" | "adv." |
"adjektiv" | "adj."
GrammatikVarianten = "(" §GVariante { ";" §GVariante } §")"
GVariante = Flexionen [_genus] ":" Beleg
Flexionen = Flexion { "," Flexion }
Flexion = ~/-[a-z]+/~
_genus = "maskulinum" | "m." |
"femininum" | "f." |
"neutrum" | "n."
#### ARTIKEL-KOPF ############################################################
ArtikelKopf = SchreibweisenPosition
SchreibweisenPosition = { "SCHREIBWEISE" §SWTyp ":" { " " §SWVariante }+ }+
SWTyp = "script."
SWVariante = Schreibweise ":" Beleg
#### BEDEUTUNGS-POSITION #####################################################
Beleg = Verweis
Verweis = ~/>\w+/~
VerweisZiel = ~/<\w+/>/~
#### MISZELLANEEN ############################################################
LEER = ~//
DATEI_ENDE = !/./
NIEMALS = /(?!.)/
\ No newline at end of file
LEMMA *facitergula
VARIANTEN
fasc-itergula,
fac-iet-ergula,
fac-ist-ergula,
fa-rcu-tergula;
sim.
GRAMMATIK
nomen; -ar f.;
-us, -i m.: >>beleg_id_1;
-um, -i n.: >>beleg_id_2
SCHREIBWEISE
script:
vizreg-: >>beleg_id_3,
festregel(a): >>beleg_id_4,
fezdregl(a): >>beleg_id5
BEDEUTUNG
LAT pannus, faciale, sudarium
DEU Gesichts-, Schweißtuch [usu liturg.; de re v. p. 32, 63]
BELEGE
* Catal. thes. Germ. 28,11 (post 851) -um III.
* Form. Sangall. 39 p. 421,16 "munuscula ... direximus, hoc est palliolum ... ,
-as duas."
* Catal. thes. Germ. 18,7 "-eterculi viginti quatuor".
* Libri confrat. I app. A 6 p. 137,30 "pulpitum ... -a cocco imaginata
circumdari iussit pontifex."
* Catal. thes. Germ. 76,15 -rulae II. 40,5 VI vizregule. 129a,5 -sterculas
II. 24,8 -itella X. 114,8 VIII fezdregle. 6,24 fasciutercule
VII. 92,6 fascercule tres. 21,20 IIII festregele.
ZUSATZ saepe.
BEDEUTUNG
LAT capital, rica
DEU Kopftuch
BELEGE
* Transl. Libor. I 32 raptis feminarum -is (fa[s]citergiis var. l.).
* II 20 nuditatem membrorum illius (puellae) tegere festinarunt fideles
clerici et laici inprimis cum eorum -cula, dein vestibus solitis.
AUTORIN Weber
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