libamxo
4.3.4
Object Definition Language (ODL) parsing
event_rr.py
Go to the documentation of this file.
1
# https://pypi.org/project/railroad-diagrams/
2
# https://jakearchibald.github.io/svgomg/
3
4
from
railroad
import
*
5
6
css_rr =
"""svg.railroad-diagram {
7
background-color:hsl(30,20%,95%);
8
}
9
svg.railroad-diagram path {
10
stroke-width:3;
11
stroke:black;
12
fill:rgba(0,0,0,0);
13
}
14
svg.railroad-diagram text {
15
font:bold 14px monospace;
16
text-anchor:middle;
17
}
18
svg.railroad-diagram text.label{
19
text-anchor:start;
20
}
21
svg.railroad-diagram text.comment{
22
font:italic 12px monospace;
23
}
24
svg.railroad-diagram rect{
25
stroke-width:3;
26
stroke:black;
27
fill:hsl(120,100%,90%);
28
}
29
svg.railroad-diagram g.non-terminal rect{
30
stroke: black;
31
fill: white;
32
)
33
svg.railroad-diagram rect.group-box {
34
stroke: gray;
35
stroke-dasharray: 10 5;
36
fill: none;
37
}"""
38
39
d =Diagram(
40
Terminal(
"event"
),
41
Choice(0,
42
Terminal(
"<NAME>"
),
43
Terminal(
"'<NAME>'"
),
44
Terminal(
'"<NAME>"'
),
45
),
46
Choice(0,
47
Terminal(
";"
),
48
Sequence(
49
Terminal(
"{"
),
50
OneOrMore(
51
Sequence(
52
Choice(0,
53
Terminal(
"string"
),
54
Terminal(
"csv_string"
),
55
Terminal(
"ssv_string"
),
56
Terminal(
"int8"
),
57
Terminal(
"int16"
),
58
Terminal(
"int32"
),
59
Terminal(
"int64"
),
60
Terminal(
"uint8"
),
61
Terminal(
"uint16"
),
62
Terminal(
"uint32"
),
63
Terminal(
"uint64"
),
64
Terminal(
"bool"
),
65
Terminal(
"datetime"
),
66
Terminal(
"htable"
),
67
Terminal(
"list"
),
68
Terminal(
"variant"
)
69
),
70
Choice(0,
71
Terminal(
"<NAME>"
),
72
Terminal(
"'<NAME>'"
),
73
Terminal(
'"<NAME>"'
)
74
),
75
Optional(
76
Sequence(
77
Terminal(
"="
),
78
NonTerminal(
"<VALUE>"
)
79
)
80
),
81
Terminal(
";"
)
82
)
83
),
84
Terminal(
"}"
)
85
),
86
),
87
)
88
89
d.writeStandalone(sys.stdout.write, css=css_rr)
doc
railroad
event_rr.py
Generated on Mon Aug 26 2024 14:17:32 for libamxo by
1.9.1