[lexer] DOT graph of lexer states: numbers, bools, and parens so far
This commit is contained in:
parent
ebee8c8646
commit
4341268d0d
2 changed files with 76 additions and 0 deletions
74
doc/lexer.dot
Normal file
74
doc/lexer.dot
Normal file
|
@ -0,0 +1,74 @@
|
|||
digraph lexer {
|
||||
rankdir=LR;
|
||||
node [shape = doublecircle] LP RP B0 BF DP1 DD0 DD1 DD2 DR0 DR1 INF NAN EXD;
|
||||
node [shape = circle];
|
||||
BEGIN -> LP [ label = "(" ];
|
||||
BEGIN -> RP [ label = ")" ];
|
||||
BEGIN -> H [ label = "#" ];
|
||||
|
||||
subgraph bools {
|
||||
H -> B0 [ label = "t,f" ];
|
||||
B0 -> BF [ label = "rue,alse" ];
|
||||
}
|
||||
|
||||
/*
|
||||
subgraph chars {
|
||||
H -> SL [ label = "\\" ];
|
||||
SL -> CH1 [ label = "*" ];
|
||||
SL -> NMCH [ label = "alarm" ];
|
||||
SL -> NMCH [ label = "backspace" ];
|
||||
SL -> NMCH [ label = "delete" ];
|
||||
SL -> NMCH [ label = "escape" ];
|
||||
SL -> NMCH [ label = "newline" ];
|
||||
SL -> NMCH [ label = "null" ];
|
||||
SL -> NMCH [ label = "return" ];
|
||||
SL -> NMCH [ label = "space" ];
|
||||
SL -> NMCH [ label = "tab" ];
|
||||
SL -> XC [ label = "x" ];
|
||||
}
|
||||
*/
|
||||
|
||||
subgraph numbers {
|
||||
BEGIN -> DD0 [ label = "0-9" ];
|
||||
BEGIN -> SN0 [ label = "+,-" ];
|
||||
BEGIN -> DP0 [ label = "." ];
|
||||
DD0 -> DD0 [ label = "0-9" ];
|
||||
DD0 -> DP1 [ label = "." ];
|
||||
DP1 -> DD1 [ label = "0-9" ];
|
||||
DP0 -> DD1 [ label = "0-9" ];
|
||||
DD1 -> DD1 [ label = "0-9" ];
|
||||
SN0 -> DD0 [ label = "0-9" ];
|
||||
SN0 -> DP0 [ label = "." ];
|
||||
SN0 -> INF [ label = "inf.0" ];
|
||||
SN0 -> NAN [ label = "nan.0" ];
|
||||
|
||||
H -> NEX [ label = "i,e" ];
|
||||
NEX -> DD0 [ label = "0-9" ];
|
||||
NEX -> SN0 [ label = "." ];
|
||||
|
||||
H -> NBD [ label = "d" ];
|
||||
NBD -> DD0 [ label = "0-9" ];
|
||||
NBD -> SN0 [ label = "." ];
|
||||
|
||||
H -> NBS [ label = "b,o,x" ];
|
||||
NBS -> DR0 [ label = "Dr" ];
|
||||
DR0 -> DR0 [ label = "Dr" ];
|
||||
|
||||
DD0 -> EXP [ label = "e" ];
|
||||
DP1 -> EXP [ label = "e" ];
|
||||
DD1 -> EXP [ label = "e" ];
|
||||
|
||||
EXP -> EXS [ label = "+,-" ];
|
||||
EXS -> EXD [ label = "0-9" ];
|
||||
EXP -> EXD [ label = "0-9" ];
|
||||
EXD -> EXD [ label = "0-9" ];
|
||||
|
||||
DR0 -> FR0 [ label = "/" ];
|
||||
FR0 -> DR1 [ label = "Dr" ];
|
||||
DR1 -> DR1 [ label = "Dr" ];
|
||||
|
||||
DD0 -> FR1 [ label = "/" ];
|
||||
FR1 -> DD2 [ label = "0-9" ];
|
||||
DD2 -> DD2 [ label = "0-9" ];
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue