libamxo
4.3.4
Object Definition Language (ODL) parsing
object_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
Sequence(
41
Optional(
42
Choice(0,
43
Terminal(
"%protected"
),
44
Terminal(
"%private"
)
45
),
"skip"
46
),
47
ZeroOrMore(
48
Choice(0,
49
Terminal(
"%persistent"
),
50
Terminal(
"%read-only"
)
51
),
""
,
"skip"
52
),
53
Terminal(
"object"
),
54
Choice(0,
55
Terminal(
"<NAME>"
),
56
Terminal(
"'<NAME>'"
),
57
Terminal(
'"<NAME>"'
)
58
),
59
Optional(
60
Sequence(
61
Terminal(
"["
),
62
Optional(
63
Terminal(
"<NUMBER>"
),
"skip"
64
),
65
Terminal(
"]"
)
66
)
67
),
68
Choice(0,
69
Terminal(
";"
),
70
Sequence(
71
Terminal(
"{"
),
72
ZeroOrMore(
73
Choice(0,
74
NonTerminal(
"EXTEND-MIB"
),
75
NonTerminal(
"COUNTER"
),
76
NonTerminal(
"ACTION"
),
77
NonTerminal(
"SUBSCRIPTION"
),
78
NonTerminal(
"OBJECT"
),
79
NonTerminal(
"SELECT"
),
80
NonTerminal(
"PARAMETER"
),
81
NonTerminal(
"EVENT"
),
82
NonTerminal(
"FUNCTION"
),
83
)
84
),
85
Terminal(
"}"
)
86
)
87
)
88
)
89
)
90
91
d.writeStandalone(sys.stdout.write, css=css_rr)
doc
railroad
object_rr.py
Generated on Mon Aug 26 2024 14:17:32 for libamxo by
1.9.1