libamxo  4.3.4
Object Definition Language (ODL) parsing
odl_rr.py
Go to the documentation of this file.
1 # https://pypi.org/project/railroad-diagrams/
2 # https://jakearchibald.github.io/svgomg/
3 # Create svg files: for i in $(find . -name "*_rr.py"); do basename="${i%_rr.py}"; python3 $i > $basename.svg; done
4 
5 from railroad import *
6 
7 css_rr = """svg.railroad-diagram {
8  background-color:hsl(30,20%,95%);
9 }
10 svg.railroad-diagram path {
11  stroke-width:3;
12  stroke:black;
13  fill:rgba(0,0,0,0);
14 }
15 svg.railroad-diagram text {
16  font:bold 14px monospace;
17  text-anchor:middle;
18 }
19 svg.railroad-diagram text.label{
20  text-anchor:start;
21 }
22 svg.railroad-diagram text.comment{
23  font:italic 12px monospace;
24 }
25 svg.railroad-diagram rect{
26  stroke-width:3;
27  stroke:black;
28  fill:hsl(120,100%,90%);
29 }
30 svg.railroad-diagram g.non-terminal rect{
31  stroke: black;
32  fill: white;
33 )
34 svg.railroad-diagram rect.group-box {
35  stroke: gray;
36  stroke-dasharray: 10 5;
37  fill: none;
38 }"""
39 
40 d = Diagram(
41  ZeroOrMore(
42  Choice(0,
43  NonTerminal("INCLUDE"),
44  NonTerminal("IMPORT"),
45  NonTerminal("PRINT"),
46  NonTerminal("REQUIRES"),
47  NonTerminal("CONFIG"),
48  NonTerminal("DEFINE"),
49  NonTerminal("POPULATE")
50  )
51  )
52 )
53 
54 d.writeStandalone(sys.stdout.write, css_rr)
55