Commit fc2dd901 authored by di68kap's avatar di68kap

- MLW.css hinzugefügt

parent 219a2661
......@@ -109,8 +109,10 @@ if __name__ == "__main__":
file_name, log_dir = sys.argv[2], 'LOGS'
result, errors, ast = compile_src(file_name, log_dir)
if errors:
cwd = os.getcwd()
rel_path = file_name[len(cwd):] if file_name.startswith(cwd) else file_name
for error in errors:
print(error)
print(rel_path + ':' + str(error))
sys.exit(1)
else:
print(result.as_xml() if isinstance(result, Node) else result)
......
......@@ -63,17 +63,15 @@ class Error:
def __str__(self):
prefix = ''
if self.line > 0:
prefix = "line: %s, column: %s, " % \
("%4i" % self.line if self.line >= 0 else ' ???',
"%3i" % self.column if self.column >= 0 else '???')
return prefix + "%s: %s" % (self.level_str, self.message)
prefix = "%i:%i: " % (max(self.line, 0), max(self.column, 0))
return prefix + "%s: %s" % (self.severity, self.message)
def __repr__(self):
return 'Error("%s", %s, %i, %i, %i, %i)' \
% (self.message, repr(self.code), self.pos, self.orig_pos, self.line, self.column)
@property
def level_str(self):
def severity(self):
"""Returns a string representation of the error level, e.g. "warning"."""
return "Warning" if is_warning(self.code) else "Error"
......
......@@ -67,7 +67,7 @@ __all__ = ('TransformationDict',
'remove_last',
'remove_whitespace',
'remove_empty',
'remove_empty_anonymous',
'remove_anonymous_empty',
'remove_expendables',
'remove_brackets',
'remove_infix_operator',
......@@ -558,19 +558,22 @@ def is_token(context: List[Node], tokens: AbstractSet[str] = frozenset()) -> boo
"""Checks whether the last node in the context is has `ptype == TOKEN_PTYPE`
and it's content without leading or trailing whitespace child-nodes
matches one of the given tokens. If no tokens are given, any token is a match.
If only ":" is given all anonymous tokens but no other tokens are a match.
"""
def stripped(nd: Node) -> str:
# assert node.parser.ptype == TOKEN_PTYPE
if nd.children:
i, k = 0, len(nd.children)
while i < len(nd.children) and nd.children[i] == WHITESPACE_PTYPE:
while i < len(nd.children) and nd.children[i].parser.ptype == WHITESPACE_PTYPE:
i += 1
while k > 0 and nd.children[k-1] == WHITESPACE_PTYPE:
while k > 0 and nd.children[k-1].parser.ptype == WHITESPACE_PTYPE:
k -= 1
return "".join(child.content for child in node.children[i:k])
return nd.content
node = context[-1]
return node.parser.ptype == TOKEN_PTYPE and (not tokens or stripped(node) in tokens)
return (node.parser.ptype == TOKEN_PTYPE
and ((not tokens or stripped(node) in tokens)
or (not node.parser.name and len(tokens) == 1 and ":" in tokens)))
@transformation_factory(AbstractSet[str])
......@@ -693,7 +696,7 @@ def remove_children_if(context: List[Node], condition: Callable):
remove_whitespace = remove_children_if(is_whitespace) # partial(remove_children_if, condition=is_whitespace)
remove_empty = remove_children_if(is_empty)
remove_empty_anonymous = remove_children_if(lambda ctx: is_empty(ctx) and is_anonymous(ctx))
remove_anonymous_empty = remove_children_if(lambda ctx: is_empty(ctx) and is_anonymous(ctx))
remove_expendables = remove_children_if(is_expendable) # partial(remove_children_if, condition=is_expendable)
remove_first = apply_if(keep_children(slice(1, None)), lambda ctx: len(ctx[-1].children) > 1)
remove_last = apply_if(keep_children(slice(None, -1)), lambda ctx: len(ctx[-1].children) > 1)
......
Lemma {
display:block;
font-weight:bold;
margin-bottom:0.5rem;
}
LemmaVarianten {
display:block;
color:darkgrey;
}
GrammatikPosition, SchreibweisenPosition, StrukturPosition, GebrauchsPosition,
MetrikPosition, VerwechselungsPosition, BedeutungsPosition {
display:block;
margin-top:0.5em;
}
Kategorie {
display:block;
}
Besonderheit, Gegenstand {
font-style: italic;
}
Besonderheit:after, Gegenstand:after {
content: ": "
}
Grammatik {
display: block;
margin-bottom:0.5rem;
}
GrammatikVariante {
display: block;
}
FLEX + FLEX:before {
content: ", ";
}
LemmaVariante {
}
LemmaVariante + LemmaVariante:before {
content: ", ";
}
Bedeutung {
display:block;
margin-top:0.5em;
}
Interpretamente {
display: block;
}
LateinischerAusdruck, DeutscherAusdruck {
font-weight: bold;
}
LateinischerAusdruck + LateinischerAusdruck:before,
DeutscherAusdruck + DeutscherAusdruck:before {
content: ", "
}
LateinischeBedeutung + DeutscheBedeutung:before {
content: " -- "
}
BelegQuelle {
font-variant:small-caps;
}
Stelle {
}
BelegText {
color: darkgoldenrod;
}
BelegText:before {
content:"“";
}
BelegText:after {
content:"”";
}
Zusatz {
font-style: italic;
}
Verweis {
color: blue;
}
pfad:after {
content: "/"
}
Stellenverzeichnis {
display:none;
}
ArtikelVerfasser {
display:block;
margin-top:1em;
font-style:italic;
}
\ No newline at end of file
......@@ -3,7 +3,7 @@ LEMMA *facitergula
fascitergula
facietergula
facistergula
facitercula {sim.}
facitercula {sim.}
GRAMMATIK
......
Lemma {
display:block;
font-weight:bold;
margin-bottom:0.5rem;
}
LemmaVarianten {
display:block;
color:darkgrey;
}
GrammatikPosition, SchreibweisenPosition, StrukturPosition, GebrauchsPosition,
MetrikPosition, VerwechselungsPosition, BedeutungsPosition {
display:block;
margin-top:0.5em;
}
Kategorie {
display:block;
}
Besonderheit, Gegenstand {
font-style: italic;
}
Besonderheit:after, Gegenstand:after {
content: ": "
}
Grammatik {
display: block;
margin-bottom:0.5rem;
}
GrammatikVariante {
display: block;
}
FLEX + FLEX:before {
content: ", ";
}
LemmaVariante {
}
LemmaVariante + LemmaVariante:before {
content: ", ";
}
Bedeutung {
display:block;
margin-top:0.5em;
}
Interpretamente {
display: block;
}
LateinischerAusdruck, DeutscherAusdruck {
font-weight: bold;
}
LateinischerAusdruck + LateinischerAusdruck:before,
DeutscherAusdruck + DeutscherAusdruck:before {
content: ", "
}
LateinischeBedeutung + DeutscheBedeutung:before {
content: " -- "
}
BelegQuelle {
font-variant:small-caps;
}
Stelle {
}
BelegText {
color: darkgoldenrod;
}
BelegText:before {
content:"“";
}
BelegText:after {
content:"”";
}
Zusatz {
font-style: italic;
}
Verweis {
color: blue;
}
pfad:after {
content: "/"
}
Stellenverzeichnis {
display:none;
}
ArtikelVerfasser {
display:block;
margin-top:1em;
font-style:italic;
}
\ No newline at end of file
......@@ -4,7 +4,7 @@ LEMMA imperium
inperium
GRAMMATIK SCHREIBWEISE
GRAMMATIK
nomen; -i n.
......
Lemma {
display:block;
font-weight:bold;
margin-bottom:0.5rem;
}
LemmaVarianten {
display:block;
color:darkgrey;
}
GrammatikPosition, SchreibweisenPosition, StrukturPosition, GebrauchsPosition,
MetrikPosition, VerwechselungsPosition, BedeutungsPosition {
display:block;
margin-top:0.5em;
}
Kategorie {
display:block;
}
Besonderheit, Gegenstand {
font-style: italic;
}
Besonderheit:after, Gegenstand:after {
content: ": "
}
Grammatik {
display: block;
margin-bottom:0.5rem;
}
GrammatikVariante {
display: block;
}
FLEX + FLEX:before {
content: ", ";
}
LemmaVariante {
}
LemmaVariante + LemmaVariante:before {
content: ", ";
}
Bedeutung {
display:block;
margin-top:0.5em;
}
Interpretamente {
display: block;
}
LateinischerAusdruck, DeutscherAusdruck {
font-weight: bold;
}
LateinischerAusdruck + LateinischerAusdruck:before,
DeutscherAusdruck + DeutscherAusdruck:before {
content: ", "
}
LateinischeBedeutung + DeutscheBedeutung:before {
content: " -- "
}
BelegQuelle {
font-variant:small-caps;
}
Stelle {
}
BelegText {
color: darkgoldenrod;
}
BelegText:before {
content:"“";
}
BelegText:after {
content:"”";
}
Zusatz {
font-style: italic;
}
Verweis {
color: blue;
}
pfad:after {
content: "/"
}
Stellenverzeichnis {
display:none;
}
ArtikelVerfasser {
display:block;
margin-top:1em;
font-style:italic;
}
\ No newline at end of file
<html>
<head>
<meta charset="UTF-8"/>
<link rel="stylesheet" href="MLW.css" />
</head>
<body>
<Artikel>
<LemmaPosition>
<Lemma>
<klassisch>*</klassisch>
<LemmaWort>facitergula</LemmaWort>
</Lemma>
<LemmaVarianten>
<LemmaVariante>fascitergula</LemmaVariante>
<LemmaVariante>facietergula</LemmaVariante>
<LemmaVariante>facistergula</LemmaVariante>
<LemmaVariante>
<LAT_WORT>facitercula</LAT_WORT>
<Zusatz>sim.</Zusatz>
</LemmaVariante>
</LemmaVarianten>
<GrammatikPosition>
<Grammatik>
<nomen>nomen</nomen>
<flexion>
<deklination>
<FLEX>-ae</FLEX>
</deklination>
</flexion>
<femininum>femininum</femininum>
</Grammatik>
<GrammatikVariante>
<flexion>
<deklination>
<FLEX>-us</FLEX>
<FLEX>-i</FLEX>
</deklination>
</flexion>
<maskulinum>maskulinum</maskulinum>
<Beleg>
<Verweis>
<URL>
<ziel>ibi_1</ziel>
</URL>
</Verweis>
</Beleg>
</GrammatikVariante>
<GrammatikVariante>
<flexion>
<deklination>
<FLEX>-um</FLEX>
<FLEX>-i</FLEX>
</deklination>
</flexion>
<neutrum>neutrum</neutrum>
<Beleg>
<Verweis>
<URL>
<ziel>ibi_2</ziel>
</URL>
</Verweis>
</Beleg>
</GrammatikVariante>
</GrammatikPosition>
</LemmaPosition>
<SchreibweisenPosition>
<Kategorie>
<Besonderheit>script.</Besonderheit>
<Varianten>
<Variante>
<Gegenstand>vizreg-</Gegenstand>
<Belege>
<Beleg>
<Verweis>
<URL>
<ziel>ibi_3</ziel>
</URL>
</Verweis>
</Beleg>
</Belege>
</Variante>
<Variante>
<Gegenstand>festregel(a)</Gegenstand>
<Belege>
<Beleg>
<Verweis>
<URL>
<ziel>ibi_4</ziel>
</URL>
</Verweis>
</Beleg>
</Belege>
</Variante>
<Variante>
<Gegenstand>fezdregl(a)</Gegenstand>
<Belege>
<Beleg>
<Verweis>
<URL>
<ziel>ibi_5</ziel>
</URL>
</Verweis>
</Beleg>
</Belege>
</Variante>
</Varianten>
</Kategorie>
</SchreibweisenPosition>
<BedeutungsPosition>
<Bedeutung>
<Interpretamente>
<LateinischeBedeutung>
<LateinischerAusdruck>pannus</LateinischerAusdruck>
<LateinischerAusdruck>faciale</LateinischerAusdruck>
<LateinischerAusdruck>sudarium</LateinischerAusdruck>
</LateinischeBedeutung>
<DeutscheBedeutung>
<DeutscherAusdruck>Gesichts-tuch</DeutscherAusdruck>
<DeutscherAusdruck>
<DeutschesWort>Schweißtuch</DeutschesWort>
<Zusatz>
<GemischterZusatz>
<usu>usu</usu>
<FREITEXT>liturg.</FREITEXT>
</GemischterZusatz>
<FreierZusatz>
<FREITEXT>de re v.</FREITEXT>
<Verweis>
<URL>
<pfad>eintrag</pfad>
<ziel>ibi_X</ziel>
</URL>
</Verweis>
</FreierZusatz>
</Zusatz>
</DeutscherAusdruck>
</DeutscheBedeutung>
</Interpretamente>
<Belege>
<Beleg>
<Zitat>
<BelegQuelle>
<Autor>Catal.</Autor>
<Werk>thes. Germ.</Werk>
</BelegQuelle>
<BelegStelle>
<Stelle>28,11 (post 851)</Stelle>
<BelegText>-um III</BelegText>
</BelegStelle>
</Zitat>
</Beleg>
<Beleg>
<Zitat>
<BelegQuelle>
<Autor>Form.</Autor>
<Werk>Sangall.</Werk>
</BelegQuelle>
<BelegStelle>
<Anker>ibi_2</Anker>
<Stelle>39 p. 421,16</Stelle>
<BelegText>munuscula ... direximus, hoc est palliolum ... , -as duas</BelegText>
</BelegStelle>
</Zitat>
</Beleg>
<Beleg>
<Zitat>
<BelegQuelle>
<Autor>Catal.</Autor>
<Werk>thes. Germ.</Werk>
</BelegQuelle>
<BelegStelle>
<Stelle>18,7</Stelle>
<BelegText>-eterculi viginti quatuor</BelegText>
</BelegStelle>
</Zitat>
</Beleg>
<Beleg>
<Zitat>
<BelegQuelle>
<Autor>Libri</Autor>
<Werk>confrat. I</Werk>
</BelegQuelle>
<BelegStelle>
<Anker>ibi_1</Anker>
<Stelle>app. A 6 p. 137,30</Stelle>