Website Summary Files Commits Branches @commit @diff @stats
path: root / demo / bison / calc / parser.dot
diff options
context:
space:
mode:
Commit030517f49274e5bb4ff10971a18f9229b8eaaa41 (patch)
Author
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2018-10-24 21:52:24 +0300
Committer
 Dimitar Trendafilov <dimitar@coherent-labs.com>
2018-10-25 18:21:33 +0300
Files7c657ba03a7694875f80dc0f84492f8a625da560 /demo/bison/calc/parser.dot
IPL-030517f49274e5bb4ff10971a18f9229b8eaaa41.tar
IPL-030517f49274e5bb4ff10971a18f9229b8eaaa41.tar.gz
IPL-030517f49274e5bb4ff10971a18f9229b8eaaa41.zip
Parent63f10cd40a27b109863895381a283b8229c5664f (diff)
added debug for the bison parser
1 files changed, 77 insertions, 0 deletions
-rw-r--r--demo/bison/calc/parser.dot77
diff --git a/demo/bison/calc/parser.dot b/demo/bison/calc/parser.dot
new file mode 100644
index 0000000..ac06822
--- /dev/null
+++ b/demo/bison/calc/parser.dot
@@ -0,0 +1,77 @@
+// Generated by GNU Bison 3.0.4.
+// Report bugs to <bug-bison@gnu.org>.
+// Home page: <http://www.gnu.org/software/bison/>.
+
+digraph "parser.y"
+{
+ node [fontname = courier, shape = box, colorscheme = paired6]
+ edge [fontname = courier]
+
+ 0 [label="State 0\n\l 0 $accept: . input $end\l 1 input: . %empty [$end]\l 2 | . expr\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 5 | . expr PLUS expr\l 6 | . expr MINUS expr\l 7 | . expr MULT expr\l 8 | . expr DIV expr\l"]
+ 0 -> 1 [style=solid label="NUMBER"]
+ 0 -> 2 [style=solid label="'('"]
+ 0 -> 3 [style=dashed label="input"]
+ 0 -> 4 [style=dashed label="expr"]
+ 0 -> "0R1" [style=solid]
+ "0R1" [label="R1", fillcolor=3, shape=diamond, style=filled]
+ 1 [label="State 1\n\l 3 expr: NUMBER .\l"]
+ 1 -> "1R3" [style=solid]
+ "1R3" [label="R3", fillcolor=3, shape=diamond, style=filled]
+ 2 [label="State 2\n\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 4 | '(' . expr ')'\l 5 | . expr PLUS expr\l 6 | . expr MINUS expr\l 7 | . expr MULT expr\l 8 | . expr DIV expr\l"]
+ 2 -> 1 [style=solid label="NUMBER"]
+ 2 -> 2 [style=solid label="'('"]
+ 2 -> 5 [style=dashed label="expr"]
+ 3 [label="State 3\n\l 0 $accept: input . $end\l"]
+ 3 -> 6 [style=solid label="$end"]
+ 4 [label="State 4\n\l 2 input: expr . [$end]\l 5 expr: expr . PLUS expr\l 6 | expr . MINUS expr\l 7 | expr . MULT expr\l 8 | expr . DIV expr\l"]
+ 4 -> 7 [style=solid label="PLUS"]
+ 4 -> 8 [style=solid label="MINUS"]
+ 4 -> 9 [style=solid label="MULT"]
+ 4 -> 10 [style=solid label="DIV"]
+ 4 -> "4R2" [style=solid]
+ "4R2" [label="R2", fillcolor=3, shape=diamond, style=filled]
+ 5 [label="State 5\n\l 4 expr: '(' expr . ')'\l 5 | expr . PLUS expr\l 6 | expr . MINUS expr\l 7 | expr . MULT expr\l 8 | expr . DIV expr\l"]
+ 5 -> 7 [style=solid label="PLUS"]
+ 5 -> 8 [style=solid label="MINUS"]
+ 5 -> 9 [style=solid label="MULT"]
+ 5 -> 10 [style=solid label="DIV"]
+ 5 -> 11 [style=solid label="')'"]
+ 6 [label="State 6\n\l 0 $accept: input $end .\l"]
+ 6 -> "6R0" [style=solid]
+ "6R0" [label="Acc", fillcolor=1, shape=diamond, style=filled]
+ 7 [label="State 7\n\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 5 | . expr PLUS expr\l 5 | expr PLUS . expr\l 6 | . expr MINUS expr\l 7 | . expr MULT expr\l 8 | . expr DIV expr\l"]
+ 7 -> 1 [style=solid label="NUMBER"]
+ 7 -> 2 [style=solid label="'('"]
+ 7 -> 12 [style=dashed label="expr"]
+ 8 [label="State 8\n\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 5 | . expr PLUS expr\l 6 | . expr MINUS expr\l 6 | expr MINUS . expr\l 7 | . expr MULT expr\l 8 | . expr DIV expr\l"]
+ 8 -> 1 [style=solid label="NUMBER"]
+ 8 -> 2 [style=solid label="'('"]
+ 8 -> 13 [style=dashed label="expr"]
+ 9 [label="State 9\n\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 5 | . expr PLUS expr\l 6 | . expr MINUS expr\l 7 | . expr MULT expr\l 7 | expr MULT . expr\l 8 | . expr DIV expr\l"]
+ 9 -> 1 [style=solid label="NUMBER"]
+ 9 -> 2 [style=solid label="'('"]
+ 9 -> 14 [style=dashed label="expr"]
+ 10 [label="State 10\n\l 3 expr: . NUMBER\l 4 | . '(' expr ')'\l 5 | . expr PLUS expr\l 6 | . expr MINUS expr\l 7 | . expr MULT expr\l 8 | . expr DIV expr\l 8 | expr DIV . expr\l"]
+ 10 -> 1 [style=solid label="NUMBER"]
+ 10 -> 2 [style=solid label="'('"]
+ 10 -> 15 [style=dashed label="expr"]
+ 11 [label="State 11\n\l 4 expr: '(' expr ')' .\l"]
+ 11 -> "11R4" [style=solid]
+ "11R4" [label="R4", fillcolor=3, shape=diamond, style=filled]
+ 12 [label="State 12\n\l 5 expr: expr . PLUS expr\l 5 | expr PLUS expr . [$end, PLUS, MINUS, ')']\l 6 | expr . MINUS expr\l 7 | expr . MULT expr\l 8 | expr . DIV expr\l"]
+ 12 -> 9 [style=solid label="MULT"]
+ 12 -> 10 [style=solid label="DIV"]
+ 12 -> "12R5" [style=solid]
+ "12R5" [label="R5", fillcolor=3, shape=diamond, style=filled]
+ 13 [label="State 13\n\l 5 expr: expr . PLUS expr\l 6 | expr . MINUS expr\l 6 | expr MINUS expr . [$end, PLUS, MINUS, ')']\l 7 | expr . MULT expr\l 8 | expr . DIV expr\l"]
+ 13 -> 9 [style=solid label="MULT"]
+ 13 -> 10 [style=solid label="DIV"]
+ 13 -> "13R6" [style=solid]
+ "13R6" [label="R6", fillcolor=3, shape=diamond, style=filled]
+ 14 [label="State 14\n\l 5 expr: expr . PLUS expr\l 6 | expr . MINUS expr\l 7 | expr . MULT expr\l 7 | expr MULT expr . [$end, PLUS, MINUS, MULT, DIV, ')']\l 8 | expr . DIV expr\l"]
+ 14 -> "14R7" [style=solid]
+ "14R7" [label="R7", fillcolor=3, shape=diamond, style=filled]
+ 15 [label="State 15\n\l 5 expr: expr . PLUS expr\l 6 | expr . MINUS expr\l 7 | expr . MULT expr\l 8 | expr . DIV expr\l 8 | expr DIV expr . [$end, PLUS, MINUS, MULT, DIV, ')']\l"]
+ 15 -> "15R8" [style=solid]
+ "15R8" [label="R8", fillcolor=3, shape=diamond, style=filled]
+}