yaccviso.gv 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. /* generated using the yaccviso program to draw a yacc grammar */
  2. digraph "Dependencies in Yacc grammar" {
  3. fontsize = 14;
  4. // page = "8,11";
  5. // ratio = auto;
  6. "TGT" [label="{<f0>TGT}",shape=record,color=gold,style=filled];
  7. "TLT" [label="{<f0>TLT}",shape=record,color=gold,style=filled];
  8. "TNT" [label="{<f0>TNT}",shape=record,color=gold,style=filled];
  9. "tag" [label="{<f0>tag|{{<class1>1|{<f1>|<f2>|<f3>}}}}",shape=record];
  10. "TNUM" [label="{<f0>TNUM}",shape=record,color=gold,style=filled];
  11. "spec" [label="{<f0>spec|{{<class1>1|{<f1>|<f2>|<f3>|<f4>|<f5>}}}}",shape=record];
  12. "prec" [label="{<f0>prec|{{<class2>2|{<f1>|<f2>|<f3>}}|{<class3>3|{<f4>|<f5>|<f6>}}}}",shape=record];
  13. "rule" [label="{<f0>rule|{{<class1>1|{<f1>|<f2>}}}}",shape=record];
  14. "nmno" [label="{<f0>nmno|{{<class1>1|{<f1>}}|{<class2>2|{<f2>|<f3>}}|{<class3>3|{<f4>}}|{<class4>4|{<f5>|<f6>}}}}",shape=record];
  15. "CCODE" [label="{<f0>CCODE}",shape=record,color=gold,style=filled];
  16. "TPREC" [label="{<f0>TPREC}",shape=record,color=gold,style=filled];
  17. "TPIPE" [label="{<f0>TPIPE}",shape=record,color=gold,style=filled];
  18. "TMARK" [label="{<f0>TMARK}",shape=record,color=gold,style=filled];
  19. "TLEFT" [label="{<f0>TLEFT}",shape=record,color=gold,style=filled];
  20. "TTYPE" [label="{<f0>TTYPE}",shape=record,color=gold,style=filled];
  21. "rword" [label="{<f0>rword|{{<class1>1|{<f1>}}|{<class2>2|{<f2>}}|{<class3>3|{<f3>}}|{<class4>4|{<f4>}}|{<class5>5|{<f5>}}}}",shape=record];
  22. "TCOMMA" [label="{<f0>TCOMMA}",shape=record,color=gold,style=filled];
  23. "rules" [label="{<f0>rules|{{<class1>1|{<f1>|<f2>}}|{<class2>2|{<f3>|<f4>|<f5>}}}}",shape=record];
  24. "nlist" [label="{<f0>nlist|{{<class1>1|{<f1>}}|{<class2>2|{<f2>|<f3>}}|{<class3>3|{<f4>|<f5>|<f6>}}}}",shape=record];
  25. "TTHONG" [label="{<f0>TTHONG}",shape=record,color=gold,style=filled];
  26. "TTOKEN" [label="{<f0>TTOKEN}",shape=record,color=gold,style=filled];
  27. "TIDENT" [label="{<f0>TIDENT}",shape=record,color=gold,style=filled];
  28. "TRIGHT" [label="{<f0>TRIGHT}",shape=record,color=gold,style=filled];
  29. "TUNION" [label="{<f0>TUNION}",shape=record,color=gold,style=filled];
  30. "TLCURL" [label="{<f0>TLCURL}",shape=record,color=gold,style=filled];
  31. "TNTLHS" [label="{<f0>TNTLHS}",shape=record,color=gold,style=filled];
  32. "TRCURL" [label="{<f0>TRCURL}",shape=record,color=gold,style=filled];
  33. "TSTART" [label="{<f0>TSTART}",shape=record,color=gold,style=filled];
  34. "TEXPECT" [label="{<f0>TEXPECT}",shape=record,color=gold,style=filled];
  35. "action" [label="{<f0>action|{{<class2>2|{<f1>|<f2>|<f3>}}}}",shape=record];
  36. "TSEMICOL" [label="{<f0>TSEMICOL}",shape=record,color=gold,style=filled];
  37. "CDeclar" [label="{<f0>CDeclar|{{<class1>1|{<f1>|<f2>|<f3>}}}}",shape=record];
  38. "TEPSILON" [label="{<f0>TEPSILON}",shape=record,color=gold,style=filled];
  39. "TNONASSOC" [label="{<f0>TNONASSOC}",shape=record,color=gold,style=filled];
  40. "rulebody" [label="{<f0>rulebody|{{<class1>1|{<f1>}}|{<class2>2|{<f2>|<f3>|<f4>}}|{<class3>3|{<f5>|<f6>|<f7>}}}}",shape=record];
  41. "TOPENBRACES" [label="{<f0>TOPENBRACES}",shape=record,color=gold,style=filled];
  42. "TCLOSEBRACES" [label="{<f0>TCLOSEBRACES}",shape=record,color=gold,style=filled];
  43. "defsection" [label="{<f0>defsection|{{<class2>2|{<f1>|<f2>}}}}",shape=record];
  44. "production" [label="{<f0>production|{{<class1>1|{<f1>|<f2>}}}}",shape=record];
  45. "CHARCONSTANT" [label="{<f0>CHARCONSTANT}",shape=record,color=gold,style=filled];
  46. "TPURE_PARSER" [label="{<f0>TPURE_PARSER}",shape=record,color=gold,style=filled];
  47. "unionDeclar" [label="{<f0>unionDeclar|{{<class1>1|{<f1>|<f2>|<f3>|<f4>}}}}",shape=record];
  48. "bisonDeclar" [label="{<f0>bisonDeclar|{{<class1>1|{<f1>|<f2>}}|{<class2>2|{<f3>}}|{<class3>3|{<f4>}}|{<class4>4|{<f5>}}|{<class5>5|{<f6>|<f7>}}|{<class6>6|{<f8>}}|{<class7>7|{<f9>|<f10>|<f11>}}}}",shape=record];
  49. "tailsection" [label="{<f0>tailsection}",shape=record];
  50. "rulesection" [label="{<f0>rulesection|{{<class1>1|{<f1>}}}}",shape=record];
  51. "productions" [label="{<f0>productions|{{<class1>1|{<f1>}}|{<class2>2|{<f2>|<f3>|<f4>}}}}",shape=record];
  52. "bisonDeclars" [label="{<f0>bisonDeclars|{{<class1>1|{<f1>}}|{<class2>2|{<f2>}}}}",shape=record];
  53. "STRING_LITERAL" [label="{<f0>STRING_LITERAL}",shape=record,color=gold,style=filled];
  54. "TSEMANTIC_PARSER" [label="{<f0>TSEMANTIC_PARSER}",shape=record,color=gold,style=filled];
  55. "yaccIdentifier" [label="{<f0>yaccIdentifier|{{<class1>1|{<f1>}}|{<class2>2|{<f2>}}}}",shape=record];
  56. "tag":f1 -> "TLT":f0;
  57. "tag":f2 -> "TIDENT":f0;
  58. "tag":f3 -> "TGT":f0;
  59. "spec":f1 -> "defsection":f0;
  60. "spec":f2 -> "TMARK":f0;
  61. "spec":f3 -> "rulesection":f0;
  62. "spec":f4 -> "TMARK":f0;
  63. "spec":f5 -> "tailsection":f0;
  64. "prec":f1 -> "TPREC":f0;
  65. "prec":f2 -> "yaccIdentifier":f0;
  66. "prec":f3 -> "action":f0;
  67. "prec":f4 -> "TPREC":f0;
  68. "prec":f5 -> "CHARCONSTANT":f0;
  69. "prec":f6 -> "action":f0;
  70. "rule":f1 -> "TNTLHS":f0;
  71. "rule":f2 -> "productions":f0;
  72. "nmno":f1 -> "yaccIdentifier":f0;
  73. "nmno":f2 -> "yaccIdentifier":f0;
  74. "nmno":f3 -> "TNUM":f0;
  75. "nmno":f4 -> "CHARCONSTANT":f0;
  76. "nmno":f5 -> "CHARCONSTANT":f0;
  77. "nmno":f6 -> "TNUM":f0;
  78. "rword":f1 -> "TTOKEN":f0;
  79. "rword":f2 -> "TLEFT":f0;
  80. "rword":f3 -> "TRIGHT":f0;
  81. "rword":f4 -> "TNONASSOC":f0;
  82. "rword":f5 -> "TTYPE":f0;
  83. "rules":f1 -> "rule":f0;
  84. "rules":f2 -> "TSEMICOL":f0;
  85. "rules":f3 -> "rules":f0;
  86. "rules":f4 -> "rule":f0;
  87. "rules":f5 -> "TSEMICOL":f0;
  88. "nlist":f1 -> "nmno":f0;
  89. "nlist":f2 -> "nlist":f0;
  90. "nlist":f3 -> "nmno":f0;
  91. "nlist":f4 -> "nlist":f0;
  92. "nlist":f5 -> "TCOMMA":f0;
  93. "nlist":f6 -> "nmno":f0;
  94. "action":f1 -> "TOPENBRACES":f0;
  95. "action":f2 -> "CCODE":f0;
  96. "action":f3 -> "TCLOSEBRACES":f0;
  97. "CDeclar":f1 -> "TLCURL":f0;
  98. "CDeclar":f2 -> "CCODE":f0;
  99. "CDeclar":f3 -> "TRCURL":f0;
  100. "rulebody":f1 -> "action":f0;
  101. "rulebody":f2 -> "rulebody":f0;
  102. "rulebody":f3 -> "yaccIdentifier":f0;
  103. "rulebody":f4 -> "action":f0;
  104. "rulebody":f5 -> "rulebody":f0;
  105. "rulebody":f6 -> "CHARCONSTANT":f0;
  106. "rulebody":f7 -> "action":f0;
  107. "defsection":f1 -> "defsection":f0;
  108. "defsection":f2 -> "bisonDeclars":f0;
  109. "production":f1 -> "rulebody":f0;
  110. "production":f2 -> "prec":f0;
  111. "unionDeclar":f1 -> "TUNION":f0;
  112. "unionDeclar":f2 -> "TOPENBRACES":f0;
  113. "unionDeclar":f3 -> "CCODE":f0;
  114. "unionDeclar":f4 -> "TCLOSEBRACES":f0;
  115. "bisonDeclar":f1 -> "TSTART":f0;
  116. "bisonDeclar":f2 -> "yaccIdentifier":f0;
  117. "bisonDeclar":f3 -> "unionDeclar":f0;
  118. "bisonDeclar":f4 -> "TPURE_PARSER":f0;
  119. "bisonDeclar":f5 -> "TSEMANTIC_PARSER":f0;
  120. "bisonDeclar":f6 -> "TEXPECT":f0;
  121. "bisonDeclar":f7 -> "TNUM":f0;
  122. "bisonDeclar":f8 -> "TTHONG":f0;
  123. "bisonDeclar":f9 -> "rword":f0;
  124. "bisonDeclar":f10 -> "tag":f0;
  125. "bisonDeclar":f11 -> "nlist":f0;
  126. "rulesection":f1 -> "rules":f0;
  127. "productions":f1 -> "production":f0;
  128. "productions":f2 -> "productions":f0;
  129. "productions":f3 -> "TPIPE":f0;
  130. "productions":f4 -> "production":f0;
  131. "bisonDeclars":f1 -> "bisonDeclar":f0;
  132. "bisonDeclars":f2 -> "CDeclar":f0;
  133. "yaccIdentifier":f1 -> "TIDENT":f0;
  134. "yaccIdentifier":f2 -> "TNT":f0;
  135. }