-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
finite_state_machine.dot
47 lines (45 loc) · 1.33 KB
/
finite_state_machine.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
digraph finite_state_machine {
fontname="Helvetica,Arial,sans-serif"
node [fontname="Helvetica,Arial,sans-serif"]
edge [fontname="Helvetica,Arial,sans-serif"]
rankdir=LR;
node [shape = doublecircle]; Tag Class Id Eos;
node [shape = circle];
Tag
Id
Class
Newline
Indent
Outdent
StartAttributes
Attribute
EndAttributes
Text
Eos
Tag -> Id [label = "hash"];
Tag -> Class [label = "dot"];
Tag -> StartAttributes [label = "("];
Tag -> Text [label = "whitespace followed by \\w"];
Tag -> Newline [label = "\\n | \\r\\n"];
Id -> Id [label = "hash"];
Id -> Class [label = "dot"];
Id -> Text [label = "whitespace followed by \\w"];
Id -> Indent [label = "\\n | \\r\\n"];
Class -> Class [label = "dot"];
Class -> Id [label = "hash"];
Class -> Text [label = "whitespace followed by \\w"];
Class -> Indent [label = "\\n | \\r\\n"];
StartAttributes -> Attribute [label = "until whitespace or ,"];
Attribute -> Attribute [label = "whitespace or ,"];
Attribute -> EndAttributes [label = ")"];
Text -> Newline [label = "\\n | \\r\\n"];
Text -> Outdent
EndAttributes -> Outdent
Outdent -> Class [label = "dot"];
Outdent -> Eos;
Newline -> Id [label = "hash"];
Newline -> Class [label = "dot"];
Indent -> Tag [label = "char"];
Indent -> Id [label = "hash"];
Indent -> Class [label = "dot"];
}