svf-tools 1.0.752 → 1.0.754

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/SVF-doxygen/html/html/BoundedZ3Expr_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/BoundedZ3Expr_8h.html +24 -1
  3. package/SVF-doxygen/html/html/BoundedZ3Expr_8h_source.html +373 -376
  4. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +76 -76
  5. package/SVF-doxygen/html/html/CFGNormalizer_8h.html +1 -1
  6. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +29 -29
  7. package/SVF-doxygen/html/html/CFGrammar_8cpp.html +88 -0
  8. package/SVF-doxygen/html/html/CFGrammar_8cpp_source.html +568 -0
  9. package/SVF-doxygen/html/html/CFGrammar_8h.html +108 -0
  10. package/SVF-doxygen/html/html/CFGrammar_8h_source.html +643 -0
  11. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
  12. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +120 -127
  13. package/SVF-doxygen/html/html/CFLBase_8h_source.html +14 -14
  14. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h.html +1 -1
  15. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +12 -12
  16. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +464 -409
  17. package/SVF-doxygen/html/html/CFLGraphBuilder_8h.html +10 -2
  18. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +120 -175
  19. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
  20. package/SVF-doxygen/html/html/CFLGraph_8h.html +1 -1
  21. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +11 -11
  22. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +60 -60
  23. package/SVF-doxygen/html/html/CFLSolver_8h.html +1 -1
  24. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +19 -19
  25. package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +2 -2
  26. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +5 -5
  27. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  28. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
  29. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +7 -7
  30. package/SVF-doxygen/html/html/GrammarBuilder_8h.html +1 -1
  31. package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +1 -1
  33. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +1 -1
  34. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +12 -12
  35. package/SVF-doxygen/html/html/PAGGrammar_8txt.html +209 -0
  36. package/SVF-doxygen/html/html/PEGGrammar_8txt.html +11 -11
  37. package/SVF-doxygen/html/html/SingleAbsValue_8h_source.html +4 -4
  38. package/SVF-doxygen/html/html/VFGGrammar_8txt.html +119 -0
  39. package/SVF-doxygen/html/html/annotated.html +6 -6
  40. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +21 -20
  41. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +223 -220
  42. package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr.html +291 -296
  43. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer-members.html +10 -10
  44. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +119 -119
  45. package/SVF-doxygen/html/html/classSVF_1_1CFGrammar-members.html +158 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1CFGrammar.html +1051 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1CFGrammar.png +0 -0
  48. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +13 -13
  50. package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +108 -114
  52. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +17 -17
  53. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +2 -2
  54. package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +16 -16
  55. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder-members.html +17 -16
  56. package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +333 -280
  57. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +5 -5
  58. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +56 -56
  59. package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +2 -2
  60. package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +14 -14
  62. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +1 -1
  63. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +4 -4
  64. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +76 -76
  65. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.png +0 -0
  66. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +4 -4
  67. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +5 -5
  68. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +11 -11
  69. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +4 -4
  71. package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid-members.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid.html +4 -4
  73. package/SVF-doxygen/html/html/classSVF_1_1POCRHybridSolver-members.html +7 -7
  74. package/SVF-doxygen/html/html/classSVF_1_1POCRHybridSolver.html +53 -53
  75. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +6 -6
  76. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +47 -47
  77. package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue.html +3 -3
  78. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder-members.html +21 -20
  79. package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +148 -145
  80. package/SVF-doxygen/html/html/classes.html +6 -6
  81. package/SVF-doxygen/html/html/dir_1b8e404556d3e8597ae60437f0a084bf.html +7 -2
  82. package/SVF-doxygen/html/html/dir_7de7f3d0ab1cbd78bc64b135e4cd18be.html +80 -0
  83. package/SVF-doxygen/html/html/dir_8a9c8659eb68b9cbd3fead4690588a47.html +2 -2
  84. package/SVF-doxygen/html/html/files.html +14 -13
  85. package/SVF-doxygen/html/html/functions_a.html +5 -5
  86. package/SVF-doxygen/html/html/functions_b.html +9 -7
  87. package/SVF-doxygen/html/html/functions_c.html +5 -5
  88. package/SVF-doxygen/html/html/functions_d.html +1 -1
  89. package/SVF-doxygen/html/html/functions_e.html +4 -4
  90. package/SVF-doxygen/html/html/functions_f.html +2 -2
  91. package/SVF-doxygen/html/html/functions_func.html +5 -5
  92. package/SVF-doxygen/html/html/functions_func_b.html +9 -7
  93. package/SVF-doxygen/html/html/functions_func_c.html +5 -5
  94. package/SVF-doxygen/html/html/functions_func_d.html +1 -1
  95. package/SVF-doxygen/html/html/functions_func_e.html +3 -3
  96. package/SVF-doxygen/html/html/functions_func_f.html +1 -1
  97. package/SVF-doxygen/html/html/functions_func_g.html +13 -13
  98. package/SVF-doxygen/html/html/functions_func_h.html +3 -3
  99. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  100. package/SVF-doxygen/html/html/functions_func_n.html +2 -2
  101. package/SVF-doxygen/html/html/functions_func_p.html +2 -2
  102. package/SVF-doxygen/html/html/functions_func_r.html +1 -1
  103. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  104. package/SVF-doxygen/html/html/functions_g.html +15 -15
  105. package/SVF-doxygen/html/html/functions_h.html +3 -3
  106. package/SVF-doxygen/html/html/functions_i.html +2 -2
  107. package/SVF-doxygen/html/html/functions_k.html +3 -3
  108. package/SVF-doxygen/html/html/functions_l.html +5 -5
  109. package/SVF-doxygen/html/html/functions_n.html +3 -3
  110. package/SVF-doxygen/html/html/functions_o.html +13 -13
  111. package/SVF-doxygen/html/html/functions_p.html +16 -12
  112. package/SVF-doxygen/html/html/functions_r.html +1 -1
  113. package/SVF-doxygen/html/html/functions_s.html +17 -19
  114. package/SVF-doxygen/html/html/functions_t.html +3 -3
  115. package/SVF-doxygen/html/html/functions_type_k.html +2 -2
  116. package/SVF-doxygen/html/html/functions_type_p.html +1 -1
  117. package/SVF-doxygen/html/html/functions_type_s.html +3 -3
  118. package/SVF-doxygen/html/html/functions_v.html +6 -6
  119. package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
  120. package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
  121. package/SVF-doxygen/html/html/functions_vars_g.html +2 -2
  122. package/SVF-doxygen/html/html/functions_vars_k.html +1 -1
  123. package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
  124. package/SVF-doxygen/html/html/functions_vars_s.html +2 -2
  125. package/SVF-doxygen/html/html/functions_w.html +9 -9
  126. package/SVF-doxygen/html/html/globals.html +6 -4
  127. package/SVF-doxygen/html/html/globals_defs.html +7 -0
  128. package/SVF-doxygen/html/html/globals_e.html +1 -1
  129. package/SVF-doxygen/html/html/globals_g.html +3 -3
  130. package/SVF-doxygen/html/html/globals_m.html +4 -1
  131. package/SVF-doxygen/html/html/globals_s.html +1 -1
  132. package/SVF-doxygen/html/html/globals_v.html +2 -2
  133. package/SVF-doxygen/html/html/globals_vars.html +12 -10
  134. package/SVF-doxygen/html/html/hierarchy.html +1 -1
  135. package/SVF-doxygen/html/html/menudata.js +1 -0
  136. package/SVF-doxygen/html/html/namespaceSVF.html +40 -2
  137. package/SVF-doxygen/html/html/namespacemembers_b.html +3 -0
  138. package/SVF-doxygen/html/html/namespacemembers_enum.html +3 -0
  139. package/SVF-doxygen/html/html/search/all_0.js +147 -146
  140. package/SVF-doxygen/html/html/search/all_1.js +478 -478
  141. package/SVF-doxygen/html/html/search/all_10.js +327 -325
  142. package/SVF-doxygen/html/html/search/all_11.js +208 -208
  143. package/SVF-doxygen/html/html/search/all_12.js +545 -545
  144. package/SVF-doxygen/html/html/search/all_13.js +189 -189
  145. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  146. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  147. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  148. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  149. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  150. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  151. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  152. package/SVF-doxygen/html/html/search/all_2.js +159 -156
  153. package/SVF-doxygen/html/html/search/all_3.js +637 -638
  154. package/SVF-doxygen/html/html/search/all_4.js +227 -227
  155. package/SVF-doxygen/html/html/search/all_5.js +156 -156
  156. package/SVF-doxygen/html/html/search/all_6.js +223 -223
  157. package/SVF-doxygen/html/html/search/all_7.js +1012 -1012
  158. package/SVF-doxygen/html/html/search/all_8.js +192 -192
  159. package/SVF-doxygen/html/html/search/all_9.js +597 -597
  160. package/SVF-doxygen/html/html/search/all_a.js +47 -47
  161. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  162. package/SVF-doxygen/html/html/search/all_c.js +113 -113
  163. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  164. package/SVF-doxygen/html/html/search/all_e.js +206 -206
  165. package/SVF-doxygen/html/html/search/all_f.js +122 -122
  166. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  167. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  168. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  169. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  170. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  171. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  172. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  173. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  174. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  175. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  176. package/SVF-doxygen/html/html/search/classes_4.js +10 -10
  177. package/SVF-doxygen/html/html/search/classes_5.js +28 -28
  178. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  179. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  180. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  181. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  182. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  183. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  184. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  185. package/SVF-doxygen/html/html/search/classes_d.js +19 -19
  186. package/SVF-doxygen/html/html/search/classes_e.js +36 -36
  187. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  188. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  189. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  190. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  191. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  192. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  193. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  194. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  195. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  196. package/SVF-doxygen/html/html/search/defines_8.js +13 -13
  197. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  198. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  199. package/SVF-doxygen/html/html/search/defines_b.js +1 -2
  200. package/SVF-doxygen/html/html/search/defines_c.js +2 -2
  201. package/SVF-doxygen/html/html/search/defines_d.js +2 -6
  202. package/SVF-doxygen/html/html/search/defines_e.js +6 -3
  203. package/SVF-doxygen/html/html/search/defines_f.html +6 -2
  204. package/SVF-doxygen/html/html/search/defines_f.js +3 -26
  205. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  206. package/SVF-doxygen/html/html/search/enums_1.js +2 -1
  207. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  208. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  209. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  210. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  211. package/SVF-doxygen/html/html/search/enums_4.js +4 -4
  212. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  213. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  214. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  215. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  216. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  217. package/SVF-doxygen/html/html/search/enums_a.js +2 -2
  218. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  219. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  220. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  221. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  222. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  223. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  224. package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -13
  225. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  226. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  227. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  228. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  229. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  230. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  231. package/SVF-doxygen/html/html/search/enumvalues_2.js +40 -40
  232. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  233. package/SVF-doxygen/html/html/search/enumvalues_4.js +34 -34
  234. package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -48
  235. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  236. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  237. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  238. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  239. package/SVF-doxygen/html/html/search/enumvalues_a.js +17 -17
  240. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  241. package/SVF-doxygen/html/html/search/enumvalues_c.js +6 -6
  242. package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -17
  243. package/SVF-doxygen/html/html/search/enumvalues_e.js +11 -11
  244. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  245. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  246. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  247. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  248. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  249. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  250. package/SVF-doxygen/html/html/search/files_2.js +49 -50
  251. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  252. package/SVF-doxygen/html/html/search/files_4.js +4 -4
  253. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  254. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  255. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  256. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  257. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  258. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  259. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  260. package/SVF-doxygen/html/html/search/files_c.js +20 -19
  261. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  262. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  263. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  264. package/SVF-doxygen/html/html/search/functions_0.js +351 -351
  265. package/SVF-doxygen/html/html/search/functions_1.js +81 -80
  266. package/SVF-doxygen/html/html/search/functions_10.js +121 -121
  267. package/SVF-doxygen/html/html/search/functions_11.js +281 -281
  268. package/SVF-doxygen/html/html/search/functions_12.js +55 -55
  269. package/SVF-doxygen/html/html/search/functions_13.js +38 -38
  270. package/SVF-doxygen/html/html/search/functions_14.js +71 -71
  271. package/SVF-doxygen/html/html/search/functions_15.js +29 -29
  272. package/SVF-doxygen/html/html/search/functions_16.js +2 -2
  273. package/SVF-doxygen/html/html/search/functions_17.js +169 -169
  274. package/SVF-doxygen/html/html/search/functions_2.js +251 -251
  275. package/SVF-doxygen/html/html/search/functions_3.js +71 -71
  276. package/SVF-doxygen/html/html/search/functions_4.js +55 -55
  277. package/SVF-doxygen/html/html/search/functions_5.js +55 -55
  278. package/SVF-doxygen/html/html/search/functions_6.js +832 -832
  279. package/SVF-doxygen/html/html/search/functions_7.js +144 -144
  280. package/SVF-doxygen/html/html/search/functions_8.js +417 -417
  281. package/SVF-doxygen/html/html/search/functions_9.js +29 -29
  282. package/SVF-doxygen/html/html/search/functions_a.js +2 -2
  283. package/SVF-doxygen/html/html/search/functions_b.js +23 -23
  284. package/SVF-doxygen/html/html/search/functions_c.js +75 -75
  285. package/SVF-doxygen/html/html/search/functions_d.js +35 -35
  286. package/SVF-doxygen/html/html/search/functions_e.js +56 -56
  287. package/SVF-doxygen/html/html/search/functions_f.js +143 -143
  288. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  289. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  290. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  291. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  292. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  293. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  294. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  295. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  296. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  297. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  298. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  299. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  300. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  301. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  302. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  303. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  304. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  305. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  306. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  307. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  308. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  309. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  310. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  311. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  312. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  313. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  314. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  315. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  316. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  317. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  318. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  319. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  320. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  321. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  322. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  323. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  324. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  325. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  326. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  327. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  328. package/SVF-doxygen/html/html/search/variables_0.js +147 -146
  329. package/SVF-doxygen/html/html/search/variables_1.js +74 -74
  330. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  331. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  332. package/SVF-doxygen/html/html/search/variables_12.js +93 -93
  333. package/SVF-doxygen/html/html/search/variables_13.js +77 -77
  334. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  335. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  336. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  337. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  338. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  339. package/SVF-doxygen/html/html/search/variables_2.js +35 -35
  340. package/SVF-doxygen/html/html/search/variables_3.js +148 -148
  341. package/SVF-doxygen/html/html/search/variables_4.js +56 -56
  342. package/SVF-doxygen/html/html/search/variables_5.js +40 -40
  343. package/SVF-doxygen/html/html/search/variables_6.js +67 -67
  344. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  345. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  346. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  347. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  348. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  349. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  350. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  351. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  352. package/SVF-doxygen/html/html/search/variables_f.js +33 -33
  353. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +25 -25
  354. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +4 -4
  355. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
  356. package/package.json +1 -1
  357. package/svf/include/AbstractExecution/BoundedZ3Expr.h +8 -12
  358. package/svf/include/CFL/CFGNormalizer.h +11 -11
  359. package/svf/include/CFL/{CFLGrammar.h → CFGrammar.h} +5 -5
  360. package/svf/include/CFL/CFLAlias.h +2 -2
  361. package/svf/include/CFL/CFLBase.h +2 -2
  362. package/svf/include/CFL/CFLGramGraphChecker.h +1 -1
  363. package/svf/include/CFL/CFLGraphBuilder.h +30 -81
  364. package/svf/include/CFL/CFLSolver.h +8 -8
  365. package/svf/include/CFL/GrammarBuilder.h +1 -1
  366. package/svf/include/Graphs/CFLGraph.h +3 -3
  367. package/svf/lib/CFL/CFGNormalizer.cpp +11 -11
  368. package/svf/lib/CFL/{CFLGrammar.cpp → CFGrammar.cpp} +7 -7
  369. package/svf/lib/CFL/CFLBase.cpp +5 -11
  370. package/svf/lib/CFL/CFLGraphBuilder.cpp +125 -74
  371. package/svf/lib/CFL/CFLVF.cpp +2 -2
  372. /package/svf/include/CFL/{CFLGrammar.txt → grammar/PAGGrammar.txt} +0 -0
  373. /package/svf/include/CFL/{PEGGrammar.txt → grammar/PEGGrammar.txt} +0 -0
  374. /package/svf/include/CFL/{VFG.txt → grammar/VFGGrammar.txt} +0 -0
@@ -101,211 +101,156 @@ $(function() {
101
101
  <div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#ifndef INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div>
102
102
  <div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#define INCLUDE_CFL_CFLGRAPHBUILDER_H_</span></div>
103
103
  <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; </div>
104
- <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGrammar_8h.html">CFL/CFLGrammar.h</a>&quot;</span></div>
104
+ <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFGrammar_8h.html">CFL/CFGrammar.h</a>&quot;</span></div>
105
105
  <div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CFLGraph_8h.html">Graphs/CFLGraph.h</a>&quot;</span></div>
106
106
  <div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>&quot;</span></div>
107
107
  <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
108
108
  <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
109
109
  <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
110
110
  <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
111
- <div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html"> 44</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
112
- <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;{</div>
113
- <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;<span class="keyword">protected</span>:</div>
114
- <div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e"> 49</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a>;</div>
115
- <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da"> 50</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html">CFLGrammar::Symbol</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da">Symbol</a>;</div>
116
- <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
117
- <div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f"> 53</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>;</div>
118
- <div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e"> 54</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>;</div>
119
- <div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; </div>
120
- <div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ae1dbc9979ae6599081a2376539cd28c2"> 57</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ae1dbc9979ae6599081a2376539cd28c2">kindToAttrsMap</a>;</div>
121
- <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; </div>
122
- <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18"> 59</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">current</a>;</div>
123
- <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac"> 60</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>;</div>
111
+ <div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa"> 40</a></span>&#160;<span class="keyword">enum class</span> <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a></div>
112
+ <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160;{</div>
113
+ <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">plain</a>,</div>
114
+ <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaf3515b032dca85081a3d653d0cb9b995">bidirection</a>,</div>
115
+ <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;};</div>
116
+ <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
117
+ <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html"> 50</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
118
+ <div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;{</div>
119
+ <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;<span class="keyword">protected</span>:</div>
120
+ <div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48"> 55</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFGrammar::Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a>;</div>
121
+ <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a2ab271d42ab82aea2adf8b0e641aa39c"> 56</a></span>&#160; <span class="keyword">typedef</span> <a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html">CFGrammar::Symbol</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a2ab271d42ab82aea2adf8b0e641aa39c">Symbol</a>;</div>
122
+ <div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
123
+ <div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f"> 59</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>;</div>
124
+ <div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e"> 60</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>;</div>
124
125
  <div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
125
- <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#adaa843018284f854ed0ad3bcb1460a01">addAttribute</a>(<a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> kind, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attribute);</div>
126
+ <div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#af34aa7ae71e100d8bbe7c1b17c1f0068"> 63</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFGrammar::Kind, Set&lt;CFGrammar::Attribute&gt;</a>&gt; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af34aa7ae71e100d8bbe7c1b17c1f0068">kindToAttrsMap</a>;</div>
126
127
  <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
127
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a01e5d31c43d40f8a518aa8d371b085d8">buildlabelToKindMap</a>(<a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
128
+ <div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18"> 65</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">current</a>;</div>
129
+ <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac"> 66</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>;</div>
128
130
  <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; </div>
129
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aec30ce1ad7be5ac2e41f73ddba356fd9">addGNode</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>);</div>
131
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af05b577fbb64082d80ca4cfa2e2bc4f1">addAttribute</a>(<a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFGrammar::Kind</a> kind, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFGrammar::Attribute</a> attribute);</div>
130
132
  <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
131
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="keyword">public</span>:</div>
132
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div>
133
- <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757"> 75</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">build</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>)</div>
134
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
135
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div>
136
- <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
137
- <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div>
138
- <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div>
139
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
140
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div>
141
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
142
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; N* node = (*it).second;</div>
143
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div>
144
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div>
145
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edge-&gt;getEdgeKind());</div>
146
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
147
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
148
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div>
133
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a01e5d31c43d40f8a518aa8d371b085d8">buildlabelToKindMap</a>(<a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
134
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
135
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aec30ce1ad7be5ac2e41f73ddba356fd9">addGNode</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>);</div>
136
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; </div>
137
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aea046c5f1971069a50100afe7ffed89f">buildFromText</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fileName, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a> direction = <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">BuildDirection::plain</a>);</div>
138
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
139
+ <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1e3b5220f536443019ea25262169498a">buildFromDot</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a> direction = <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">BuildDirection::plain</a>);</div>
140
+ <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; </div>
141
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#aa1a24c858e46b68e9f6a99668d880f6a">buildFromJson</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a> direction = <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">BuildDirection::plain</a>);</div>
142
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
143
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="keyword">public</span>:</div>
144
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div>
145
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a27b247b46ce0b467459fcc2d53f50383">build</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a> direction = <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">BuildDirection::plain</a>);</div>
149
146
  <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; </div>
150
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">template</span>&lt;<span class="keyword">class</span> N, <span class="keyword">class</span> E&gt;</div>
151
- <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938"> 95</a></span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">buildBigraph</a>(<a class="code" href="classSVF_1_1GenericGraph.html">GenericGraph&lt;N,E&gt;</a>* graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar)</div>
152
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div>
153
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>(startKind);</div>
154
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a44232dfc5b9a13dfe9b72ff18634ab37">getTerminals</a>())</div>
155
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
156
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.find(pairV.first) == <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.end())</div>
157
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
158
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.insert(pairV);</div>
159
- <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div>
160
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.find(pairV.second) == <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.end())</div>
161
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
162
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.insert(make_pair(pairV.second, pairV.first));</div>
163
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
164
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
165
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> pairV : grammar-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a04140ef06feee613506529fd8c23665e">getNonterminals</a>())</div>
166
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
167
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.find(pairV.first) == <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.end())</div>
168
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
169
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>.insert(pairV);</div>
170
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
171
- <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.find(pairV.second) == <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.end())</div>
172
- <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div>
173
- <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>.insert(make_pair(pairV.second, pairV.first));</div>
174
- <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; }</div>
175
- <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div>
176
- <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div>
177
- <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; {</div>
178
- <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* node = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>((*it).first);</div>
179
- <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">addCFLNode</a>((*it).first, node);</div>
180
- <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
181
- <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= graph-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div>
182
- <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div>
183
- <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; N* node = (*it).second;</div>
184
- <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">for</span>(E* edge : node-&gt;getOutEdges())</div>
185
- <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; {</div>
186
- <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> edgeLabel = edge-&gt;getEdgeKind();</div>
187
- <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), edgeLabel);</div>
188
- <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>[edge-&gt;getEdgeKind()];</div>
189
- <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; key.append(<span class="stringliteral">&quot;bar&quot;</span>);</div>
190
- <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getDstID()), <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(edge-&gt;getSrcID()), <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>[key]);</div>
191
- <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</div>
192
- <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; }</div>
193
- <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>;</div>
194
- <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
195
- <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
196
- <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">buildFromDot</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> filename, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
197
- <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; </div>
198
- <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#acc19ccb854db14637c97f4ed99810da9">buildFromTextFile</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fileName, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
199
- <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; </div>
200
- <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
201
- <div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3"> 150</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3">getLabelToKindMap</a>()</div>
202
- <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; {</div>
203
- <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>;</div>
204
- <div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div>
205
- <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; </div>
206
- <div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481"> 156</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481">getKindToLabelMap</a>()</div>
207
- <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; {</div>
208
- <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>;</div>
209
- <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
210
- <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; </div>
211
- <div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a1e842c12f7d133dba2c221e557562bf7"> 162</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFLGrammar::Kind, Set&lt;CFLGrammar::Attribute&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1e842c12f7d133dba2c221e557562bf7">getKindToAttrsMap</a>()</div>
212
- <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div>
213
- <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#ae1dbc9979ae6599081a2376539cd28c2">kindToAttrsMap</a>;</div>
214
- <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div>
215
- <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; </div>
216
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160;};</div>
217
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
218
- <div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1AliasCFLGraphBuilder.html"> 171</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
219
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160;{</div>
220
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160;<span class="keyword">public</span>:</div>
221
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">buildBigraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
222
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; </div>
223
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">buildBiPEGgraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
224
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
225
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;<span class="keyword">private</span>:</div>
226
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#a9feeeca8a919b19693e48d6a382c8871">connectVGep</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
227
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
228
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ae7a9f2103c68829290c1bd5fd9cde321">addBiCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div>
229
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
230
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#a715213d0b521b676832ec73b38d2014e">addBiGepCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div>
231
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;};</div>
232
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; </div>
233
- <div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1VFCFLGraphBuilder.html"> 193</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
234
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;{</div>
235
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<span class="keyword">public</span>:</div>
236
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">buildBigraph</a>(<a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
237
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
238
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">buildBiPEGgraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
239
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; </div>
240
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;<span class="keyword">private</span>:</div>
241
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#a23e16f4dd62ffb96e64318c60f594067">connectVGep</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
242
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; </div>
243
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#a83cacee4212afcc7c472b1307627e022">addBiCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFLGrammar::Kind</a> label);</div>
244
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
245
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#a72a7868442168c5b0978deb10722ba84">addBiGepCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFLGrammar::Attribute</a> attri);</div>
246
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;};</div>
247
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; </div>
248
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; </div>
249
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}<span class="comment">// SVF</span></div>
250
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; </div>
251
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLGRAPHBUILDER_H_*/</span><span class="preprocessor"></span></div>
147
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a27b247b46ce0b467459fcc2d53f50383">build</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fileName, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">BuildDirection</a> direction = <a class="code" href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">BuildDirection::plain</a>);</div>
148
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; </div>
149
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
150
+ <div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3"> 99</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;std::string, Kind&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3">getLabelToKindMap</a>()</div>
151
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div>
152
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">labelToKindMap</a>;</div>
153
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
154
+ <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; </div>
155
+ <div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481"> 105</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;Kind, std::string&gt;</a>&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481">getKindToLabelMap</a>()</div>
156
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
157
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">kindToLabelMap</a>;</div>
158
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
159
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; </div>
160
+ <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLGraphBuilder.html#aa3fb91f78b5d9e2c0eb24e4986a5926c"> 111</a></span>&#160; <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map&lt;CFGrammar::Kind, Set&lt;CFGrammar::Attribute&gt;</a>&gt;&amp; <a class="code" href="classSVF_1_1CFLGraphBuilder.html#aa3fb91f78b5d9e2c0eb24e4986a5926c">getKindToAttrsMap</a>()</div>
161
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
162
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af34aa7ae71e100d8bbe7c1b17c1f0068">kindToAttrsMap</a>;</div>
163
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
164
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
165
+ <div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;};</div>
166
+ <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; </div>
167
+ <div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1AliasCFLGraphBuilder.html"> 120</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html">AliasCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
168
+ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;{</div>
169
+ <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160;<span class="keyword">public</span>:</div>
170
+ <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">buildBigraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
171
+ <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; </div>
172
+ <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">buildBiPEGgraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
173
+ <div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; </div>
174
+ <div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;<span class="keyword">private</span>:</div>
175
+ <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#a9feeeca8a919b19693e48d6a382c8871">connectVGep</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
176
+ <div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
177
+ <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#a3069f804d6e63c5d74dc0b4d7399d43e">addBiCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFGrammar::Kind</a> label);</div>
178
+ <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; </div>
179
+ <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1AliasCFLGraphBuilder.html#aa998adcd267038210c2ed93148d00333">addBiGepCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFGrammar::Attribute</a> attri);</div>
180
+ <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;};</div>
181
+ <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; </div>
182
+ <div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1VFCFLGraphBuilder.html"> 142</a></span>&#160;<span class="keyword">class </span><a class="code" href="classSVF_1_1VFCFLGraphBuilder.html">VFCFLGraphBuilder</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1CFLGraphBuilder.html">CFLGraphBuilder</a></div>
183
+ <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div>
184
+ <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;<span class="keyword">public</span>:</div>
185
+ <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">buildBigraph</a>(<a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar);</div>
186
+ <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; </div>
187
+ <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">buildBiPEGgraph</a>(<a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">Kind</a> startKind, <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a> *grammar, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
188
+ <div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
189
+ <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;<span class="keyword">private</span>:</div>
190
+ <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#a23e16f4dd62ffb96e64318c60f594067">connectVGep</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintGraph.html">ConstraintGraph</a> *graph, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a> *dst, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> level, <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag);</div>
191
+ <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; </div>
192
+ <div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#a5d1beb9f3fb72fbf8857f97d97085ad0">addBiCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">CFGrammar::Kind</a> label);</div>
193
+ <div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; </div>
194
+ <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VFCFLGraphBuilder.html#abc399874243614198b0742d1e76b945c">addBiGepCFLEdge</a>(<a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a> *<a class="code" href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">cflGraph</a>, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* src, <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* dst, <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">CFGrammar::Attribute</a> attri);</div>
195
+ <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;};</div>
196
+ <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; </div>
197
+ <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
198
+ <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;}<span class="comment">// SVF</span></div>
199
+ <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; </div>
200
+ <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLGRAPHBUILDER_H_*/</span><span class="preprocessor"></span></div>
252
201
  </div><!-- fragment --></div><!-- contents -->
253
- <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_ae7a9f2103c68829290c1bd5fd9cde321"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ae7a9f2103c68829290c1bd5fd9cde321">SVF::AliasCFLGraphBuilder::addBiCFLEdge</a></div><div class="ttdeci">void addBiCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFLGrammar::Kind label)</div><div class="ttdoc">Handles edges, with the exception of the GEP.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00382">CFLGraphBuilder.cpp:382</a></div></div>
254
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aad408d6ecb776fd763c9b9221a1bed18"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">SVF::CFLGraphBuilder::current</a></div><div class="ttdeci">Kind current</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00059">CFLGraphBuilder.h:59</a></div></div>
202
+ <div class="ttc" id="anamespaceSVF_html_a165cd8904ba9f1ae6e0fa1752ba78caa"><div class="ttname"><a href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caa">SVF::BuildDirection</a></div><div class="ttdeci">BuildDirection</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00040">CFLGraphBuilder.h:40</a></div></div>
203
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aad408d6ecb776fd763c9b9221a1bed18"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aad408d6ecb776fd763c9b9221a1bed18">SVF::CFLGraphBuilder::current</a></div><div class="ttdeci">Kind current</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00065">CFLGraphBuilder.h:65</a></div></div>
255
204
  <div class="ttc" id="aclassSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
256
205
  <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_a9feeeca8a919b19693e48d6a382c8871"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#a9feeeca8a919b19693e48d6a382c8871">SVF::AliasCFLGraphBuilder::connectVGep</a></div><div class="ttdeci">void connectVGep(CFLGraph *cflGraph, ConstraintGraph *graph, ConstraintNode *src, ConstraintNode *dst, u32_t level, SVFIR *pag)</div><div class="ttdoc">Connects VGep (Variable GEP)</div></div>
257
- <div class="ttc" id="astructSVF_1_1GrammarBase_1_1Symbol_html"><div class="ttname"><a href="structSVF_1_1GrammarBase_1_1Symbol.html">SVF::GrammarBase::Symbol</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00042">CFLGrammar.h:42</a></div></div>
258
- <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
259
- <div class="ttc" id="aclassSVF_1_1CFLGraph_html_a9eea8083dbeaf898948595b1d75cfee2"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">SVF::CFLGraph::addCFLEdge</a></div><div class="ttdeci">virtual const CFLEdge * addCFLEdge(CFLNode *src, CFLNode *dst, CFLEdge::GEdgeFlag label)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00047">CFLGraph.cpp:47</a></div></div>
260
- <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html">SVF::AliasCFLGraphBuilder</a></div><div class="ttdoc">AliasCFLGraphBuilder: a CFLGraphBuilder specialized for handling aliasing.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00171">CFLGraphBuilder.h:171</a></div></div>
261
- <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html">SVF::VFCFLGraphBuilder</a></div><div class="ttdoc">VFCFLGraphBuilder: a CFLGraphBuilder specialized for handling value-flow.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00193">CFLGraphBuilder.h:193</a></div></div>
262
- <div class="ttc" id="aclassSVF_1_1GrammarBase_html_a04140ef06feee613506529fd8c23665e"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a04140ef06feee613506529fd8c23665e">SVF::GrammarBase::getNonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getNonterminals()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00160">CFLGrammar.h:160</a></div></div>
263
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html">SVF::CFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00044">CFLGraphBuilder.h:44</a></div></div>
206
+ <div class="ttc" id="astructSVF_1_1GrammarBase_1_1Symbol_html"><div class="ttname"><a href="structSVF_1_1GrammarBase_1_1Symbol.html">SVF::GrammarBase::Symbol</a></div><div class="ttdef"><b>Definition:</b> <a href="CFGrammar_8h_source.html#l00042">CFGrammar.h:42</a></div></div>
207
+ <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_a3069f804d6e63c5d74dc0b4d7399d43e"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#a3069f804d6e63c5d74dc0b4d7399d43e">SVF::AliasCFLGraphBuilder::addBiCFLEdge</a></div><div class="ttdeci">void addBiCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFGrammar::Kind label)</div><div class="ttdoc">Handles edges, with the exception of the GEP.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00433">CFLGraphBuilder.cpp:433</a></div></div>
208
+ <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html">SVF::AliasCFLGraphBuilder</a></div><div class="ttdoc">AliasCFLGraphBuilder: a CFLGraphBuilder specialized for handling aliasing.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00120">CFLGraphBuilder.h:120</a></div></div>
209
+ <div class="ttc" id="aCFGrammar_8h_html"><div class="ttname"><a href="CFGrammar_8h.html">CFGrammar.h</a></div></div>
210
+ <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html">SVF::VFCFLGraphBuilder</a></div><div class="ttdoc">VFCFLGraphBuilder: a CFLGraphBuilder specialized for handling value-flow.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00142">CFLGraphBuilder.h:142</a></div></div>
211
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html">SVF::CFLGraphBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00050">CFLGraphBuilder.h:50</a></div></div>
264
212
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
265
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_acc19ccb854db14637c97f4ed99810da9"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#acc19ccb854db14637c97f4ed99810da9">SVF::CFLGraphBuilder::buildFromTextFile</a></div><div class="ttdeci">CFLGraph * buildFromTextFile(std::string fileName, GrammarBase *grammar)</div><div class="ttdoc">Method to build a CFL graph from a Text file.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00099">CFLGraphBuilder.cpp:99</a></div></div>
266
- <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_ac4a6620622ad6642ed8543e0f8c65c20"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">SVF::VFCFLGraphBuilder::buildBiPEGgraph</a></div><div class="ttdeci">CFLGraph * buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00488">CFLGraphBuilder.cpp:488</a></div></div>
267
- <div class="ttc" id="aCFLGrammar_8h_html"><div class="ttname"><a href="CFLGrammar_8h.html">CFLGrammar.h</a></div></div>
268
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a1e842c12f7d133dba2c221e557562bf7"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a1e842c12f7d133dba2c221e557562bf7">SVF::CFLGraphBuilder::getKindToAttrsMap</a></div><div class="ttdeci">Map&lt; CFLGrammar::Kind, Set&lt; CFLGrammar::Attribute &gt; &gt; &amp; getKindToAttrsMap()</div><div class="ttdoc">Returns a reference to the map that associates Kinds with their corresponding attributes.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00162">CFLGraphBuilder.h:162</a></div></div>
269
- <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_a72a7868442168c5b0978deb10722ba84"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#a72a7868442168c5b0978deb10722ba84">SVF::VFCFLGraphBuilder::addBiGepCFLEdge</a></div><div class="ttdeci">void addBiGepCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFLGrammar::Attribute attri)</div><div class="ttdoc">Adds bidirectional GEP edges with attributes.</div></div>
213
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a1e3b5220f536443019ea25262169498a"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a1e3b5220f536443019ea25262169498a">SVF::CFLGraphBuilder::buildFromDot</a></div><div class="ttdeci">CFLGraph * buildFromDot(std::string filename, GrammarBase *grammar, BuildDirection direction=BuildDirection::plain)</div><div class="ttdoc">Method to build a CFL graph from a Dot file.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00196">CFLGraphBuilder.cpp:196</a></div></div>
214
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a27b247b46ce0b467459fcc2d53f50383"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a27b247b46ce0b467459fcc2d53f50383">SVF::CFLGraphBuilder::build</a></div><div class="ttdeci">CFLGraph * build(GenericGraph&lt; N, E &gt; *graph, GrammarBase *grammar, BuildDirection direction=BuildDirection::plain)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00101">CFLGraphBuilder.cpp:101</a></div></div>
215
+ <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_ac4a6620622ad6642ed8543e0f8c65c20"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#ac4a6620622ad6642ed8543e0f8c65c20">SVF::VFCFLGraphBuilder::buildBiPEGgraph</a></div><div class="ttdeci">CFLGraph * buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00539">CFLGraphBuilder.cpp:539</a></div></div>
216
+ <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_aa998adcd267038210c2ed93148d00333"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#aa998adcd267038210c2ed93148d00333">SVF::AliasCFLGraphBuilder::addBiGepCFLEdge</a></div><div class="ttdeci">void addBiGepCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFGrammar::Attribute attri)</div><div class="ttdoc">Adds bidirectional GEP edges with attributes.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00442">CFLGraphBuilder.cpp:442</a></div></div>
217
+ <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_a5d1beb9f3fb72fbf8857f97d97085ad0"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#a5d1beb9f3fb72fbf8857f97d97085ad0">SVF::VFCFLGraphBuilder::addBiCFLEdge</a></div><div class="ttdeci">void addBiCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFGrammar::Kind label)</div><div class="ttdoc">Handles edges, with the exception of the GEP.</div></div>
218
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aa3fb91f78b5d9e2c0eb24e4986a5926c"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aa3fb91f78b5d9e2c0eb24e4986a5926c">SVF::CFLGraphBuilder::getKindToAttrsMap</a></div><div class="ttdeci">Map&lt; CFGrammar::Kind, Set&lt; CFGrammar::Attribute &gt; &gt; &amp; getKindToAttrsMap()</div><div class="ttdoc">Returns a reference to the map that associates Kinds with their corresponding attributes.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00111">CFLGraphBuilder.h:111</a></div></div>
270
219
  <div class="ttc" id="aclassSVF_1_1CFLGraph_html"><div class="ttname"><a href="classSVF_1_1CFLGraph.html">SVF::CFLGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00155">CFLGraph.h:155</a></div></div>
271
- <div class="ttc" id="aclassSVF_1_1GrammarBase_html_a44232dfc5b9a13dfe9b72ff18634ab37"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a44232dfc5b9a13dfe9b72ff18634ab37">SVF::GrammarBase::getTerminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getTerminals()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00170">CFLGrammar.h:170</a></div></div>
272
- <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_a83cacee4212afcc7c472b1307627e022"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#a83cacee4212afcc7c472b1307627e022">SVF::VFCFLGraphBuilder::addBiCFLEdge</a></div><div class="ttdeci">void addBiCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFLGrammar::Kind label)</div><div class="ttdoc">Handles edges, with the exception of the GEP.</div></div>
220
+ <div class="ttc" id="anamespaceSVF_html_a165cd8904ba9f1ae6e0fa1752ba78caaaf3515b032dca85081a3d653d0cb9b995"><div class="ttname"><a href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaf3515b032dca85081a3d653d0cb9b995">SVF::BuildDirection::bidirection</a></div><div class="ttdeci">@ bidirection</div></div>
221
+ <div class="ttc" id="anamespaceSVF_html_a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e"><div class="ttname"><a href="namespaceSVF.html#a165cd8904ba9f1ae6e0fa1752ba78caaaac7938d40cfc2307e2bf325d28e7884e">SVF::BuildDirection::plain</a></div><div class="ttdeci">@ plain</div></div>
273
222
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
274
- <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_a715213d0b521b676832ec73b38d2014e"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#a715213d0b521b676832ec73b38d2014e">SVF::AliasCFLGraphBuilder::addBiGepCFLEdge</a></div><div class="ttdeci">void addBiGepCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFLGrammar::Attribute attri)</div><div class="ttdoc">Adds bidirectional GEP edges with attributes.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00391">CFLGraphBuilder.cpp:391</a></div></div>
275
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a0184dc6e00c60106034492d012d0a938"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a0184dc6e00c60106034492d012d0a938">SVF::CFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(GenericGraph&lt; N, E &gt; *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00095">CFLGraphBuilder.h:95</a></div></div>
276
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a1ecf9cad8707ba07d3e44624ea273f2f"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">SVF::CFLGraphBuilder::labelToKindMap</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; labelToKindMap</div><div class="ttdoc">Maps to maintain mapping between labels and kinds.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00053">CFLGraphBuilder.h:53</a></div></div>
277
- <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_acd5ade19c0e058bfb41a1a8dd84748e1"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">SVF::VFCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(SVFG *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Builds a bidirectional CFL graph by copying nodes and edges from a const graph that inherits from SVF...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00401">CFLGraphBuilder.cpp:401</a></div></div>
278
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_ab0d2bd46dd1c3be10c04f573e9365757"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#ab0d2bd46dd1c3be10c04f573e9365757">SVF::CFLGraphBuilder::build</a></div><div class="ttdeci">void build(GenericGraph&lt; N, E &gt; *graph, CFLGraph *cflGraph)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00075">CFLGraphBuilder.h:75</a></div></div>
223
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a1ecf9cad8707ba07d3e44624ea273f2f"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a1ecf9cad8707ba07d3e44624ea273f2f">SVF::CFLGraphBuilder::labelToKindMap</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; labelToKindMap</div><div class="ttdoc">Maps to maintain mapping between labels and kinds.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00059">CFLGraphBuilder.h:59</a></div></div>
224
+ <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_acd5ade19c0e058bfb41a1a8dd84748e1"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#acd5ade19c0e058bfb41a1a8dd84748e1">SVF::VFCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(SVFG *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Builds a bidirectional CFL graph by copying nodes and edges from a const graph that inherits from SVF...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00452">CFLGraphBuilder.cpp:452</a></div></div>
225
+ <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_abc399874243614198b0742d1e76b945c"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#abc399874243614198b0742d1e76b945c">SVF::VFCFLGraphBuilder::addBiGepCFLEdge</a></div><div class="ttdeci">void addBiGepCFLEdge(CFLGraph *cflGraph, ConstraintNode *src, ConstraintNode *dst, CFGrammar::Attribute attri)</div><div class="ttdoc">Adds bidirectional GEP edges with attributes.</div></div>
279
226
  <div class="ttc" id="aclassSVF_1_1VFCFLGraphBuilder_html_a23e16f4dd62ffb96e64318c60f594067"><div class="ttname"><a href="classSVF_1_1VFCFLGraphBuilder.html#a23e16f4dd62ffb96e64318c60f594067">SVF::VFCFLGraphBuilder::connectVGep</a></div><div class="ttdeci">void connectVGep(CFLGraph *cflGraph, ConstraintGraph *graph, ConstraintNode *src, ConstraintNode *dst, u32_t level, SVFIR *pag)</div><div class="ttdoc">Connects VGep (Variable GEP)</div></div>
280
227
  <div class="ttc" id="aclassSVF_1_1ConstraintGraph_html"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html">SVF::ConstraintGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00044">ConsG.h:44</a></div></div>
281
228
  <div class="ttc" id="aSVFG_8h_html"><div class="ttname"><a href="SVFG_8h.html">SVFG.h</a></div></div>
282
- <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
283
- <div class="ttc" id="aclassSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
284
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_af034366ce280120e5cd1a5685894e9ac"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">SVF::CFLGraphBuilder::cflGraph</a></div><div class="ttdeci">CFLGraph * cflGraph</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00060">CFLGraphBuilder.h:60</a></div></div>
229
+ <div class="ttc" id="aclassSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFGrammar_8h_source.html#l00039">CFGrammar.h:39</a></div></div>
230
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_af034366ce280120e5cd1a5685894e9ac"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#af034366ce280120e5cd1a5685894e9ac">SVF::CFLGraphBuilder::cflGraph</a></div><div class="ttdeci">CFLGraph * cflGraph</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00066">CFLGraphBuilder.h:66</a></div></div>
285
231
  <div class="ttc" id="aCFLGraph_8h_html"><div class="ttname"><a href="CFLGraph_8h.html">CFLGraph.h</a></div></div>
286
- <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_ac74b55198d73acebb9843fd13c1fd880"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">SVF::AliasCFLGraphBuilder::buildBiPEGgraph</a></div><div class="ttdeci">CFLGraph * buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00242">CFLGraphBuilder.cpp:242</a></div></div>
232
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a41f8cc1264aa99c581e1d6f3150a2d48"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a41f8cc1264aa99c581e1d6f3150a2d48">SVF::CFLGraphBuilder::Kind</a></div><div class="ttdeci">CFGrammar::Kind Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00055">CFLGraphBuilder.h:55</a></div></div>
233
+ <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_ac74b55198d73acebb9843fd13c1fd880"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ac74b55198d73acebb9843fd13c1fd880">SVF::AliasCFLGraphBuilder::buildBiPEGgraph</a></div><div class="ttdeci">CFLGraph * buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00293">CFLGraphBuilder.cpp:293</a></div></div>
287
234
  <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aec30ce1ad7be5ac2e41f73ddba356fd9"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aec30ce1ad7be5ac2e41f73ddba356fd9">SVF::CFLGraphBuilder::addGNode</a></div><div class="ttdeci">CFLNode * addGNode(u32_t NodeID)</div><div class="ttdoc">add src and dst node from file</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00082">CFLGraphBuilder.cpp:82</a></div></div>
288
235
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
289
- <div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00380">GenericGraph.h:380</a></div></div>
290
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a7e564f2fbaf9b92aab3decaf6cba93c3"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3">SVF::CFLGraphBuilder::getLabelToKindMap</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getLabelToKindMap()</div><div class="ttdoc">Returns a reference to the map that associates string labels with their corresponding Kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00150">CFLGraphBuilder.h:150</a></div></div>
291
- <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_ab19243c4aceffce7b257f3d8cb3050fd"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">SVF::AliasCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Builds a bidirectional CFL graph by copying nodes and edges from a const graph that inherits from Gen...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00200">CFLGraphBuilder.cpp:200</a></div></div>
292
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_adaa843018284f854ed0ad3bcb1460a01"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#adaa843018284f854ed0ad3bcb1460a01">SVF::CFLGraphBuilder::addAttribute</a></div><div class="ttdeci">void addAttribute(CFLGrammar::Kind kind, CFLGrammar::Attribute attribute)</div><div class="ttdoc">Method to add an attribute to a specific kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00037">CFLGraphBuilder.cpp:37</a></div></div>
293
- <div class="ttc" id="aclassSVF_1_1GrammarBase_html_ab070e5449d26e347b957d8b994d0303f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">SVF::GrammarBase::Attribute</a></div><div class="ttdeci">u32_t Attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00040">CFLGrammar.h:40</a></div></div>
294
- <div class="ttc" id="aclassSVF_1_1GrammarBase_html"><div class="ttname"><a href="classSVF_1_1GrammarBase.html">SVF::GrammarBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00036">CFLGrammar.h:36</a></div></div>
236
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a7e564f2fbaf9b92aab3decaf6cba93c3"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a7e564f2fbaf9b92aab3decaf6cba93c3">SVF::CFLGraphBuilder::getLabelToKindMap</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; &amp; getLabelToKindMap()</div><div class="ttdoc">Returns a reference to the map that associates string labels with their corresponding Kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00099">CFLGraphBuilder.h:99</a></div></div>
237
+ <div class="ttc" id="aclassSVF_1_1AliasCFLGraphBuilder_html_ab19243c4aceffce7b257f3d8cb3050fd"><div class="ttname"><a href="classSVF_1_1AliasCFLGraphBuilder.html#ab19243c4aceffce7b257f3d8cb3050fd">SVF::AliasCFLGraphBuilder::buildBigraph</a></div><div class="ttdeci">CFLGraph * buildBigraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar)</div><div class="ttdoc">Builds a bidirectional CFL graph by copying nodes and edges from a const graph that inherits from Gen...</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00251">CFLGraphBuilder.cpp:251</a></div></div>
238
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aa1a24c858e46b68e9f6a99668d880f6a"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aa1a24c858e46b68e9f6a99668d880f6a">SVF::CFLGraphBuilder::buildFromJson</a></div><div class="ttdeci">CFLGraph * buildFromJson(std::string filename, GrammarBase *grammar, BuildDirection direction=BuildDirection::plain)</div><div class="ttdoc">Method to build a CFL graph from a Json file.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00244">CFLGraphBuilder.cpp:244</a></div></div>
239
+ <div class="ttc" id="aclassSVF_1_1GrammarBase_html_ab070e5449d26e347b957d8b994d0303f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">SVF::GrammarBase::Attribute</a></div><div class="ttdeci">u32_t Attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFGrammar_8h_source.html#l00040">CFGrammar.h:40</a></div></div>
240
+ <div class="ttc" id="aclassSVF_1_1GrammarBase_html"><div class="ttname"><a href="classSVF_1_1GrammarBase.html">SVF::GrammarBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CFGrammar_8h_source.html#l00036">CFGrammar.h:36</a></div></div>
295
241
  <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
296
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_ae1dbc9979ae6599081a2376539cd28c2"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#ae1dbc9979ae6599081a2376539cd28c2">SVF::CFLGraphBuilder::kindToAttrsMap</a></div><div class="ttdeci">Map&lt; CFLGrammar::Kind, Set&lt; CFLGrammar::Attribute &gt; &gt; kindToAttrsMap</div><div class="ttdoc">Map to maintain attributes associated with each kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00057">CFLGraphBuilder.h:57</a></div></div>
297
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a6c9fa25204550dc5bea1cae52a61472b"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a6c9fa25204550dc5bea1cae52a61472b">SVF::CFLGraphBuilder::buildFromDot</a></div><div class="ttdeci">CFLGraph * buildFromDot(std::string filename, GrammarBase *grammar)</div><div class="ttdoc">Method to build a CFL graph from a Dot file.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00153">CFLGraphBuilder.cpp:153</a></div></div>
242
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_af34aa7ae71e100d8bbe7c1b17c1f0068"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#af34aa7ae71e100d8bbe7c1b17c1f0068">SVF::CFLGraphBuilder::kindToAttrsMap</a></div><div class="ttdeci">Map&lt; CFGrammar::Kind, Set&lt; CFGrammar::Attribute &gt; &gt; kindToAttrsMap</div><div class="ttdoc">Map to maintain attributes associated with each kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00063">CFLGraphBuilder.h:63</a></div></div>
298
243
  <div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
299
244
  <div class="ttc" id="aclassSVF_1_1CFLNode_html"><div class="ttname"><a href="classSVF_1_1CFLNode.html">SVF::CFLNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00076">CFLGraph.h:76</a></div></div>
300
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a03686822a9dd7d886f3c41ba79f8b481"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481">SVF::CFLGraphBuilder::getKindToLabelMap</a></div><div class="ttdeci">Map&lt; Kind, std::string &gt; &amp; getKindToLabelMap()</div><div class="ttdoc">Returns a reference to the map that associates Kinds with their corresponding string labels.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00156">CFLGraphBuilder.h:156</a></div></div>
245
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a03686822a9dd7d886f3c41ba79f8b481"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a03686822a9dd7d886f3c41ba79f8b481">SVF::CFLGraphBuilder::getKindToLabelMap</a></div><div class="ttdeci">Map&lt; Kind, std::string &gt; &amp; getKindToLabelMap()</div><div class="ttdoc">Returns a reference to the map that associates Kinds with their corresponding string labels.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00105">CFLGraphBuilder.h:105</a></div></div>
301
246
  <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a01e5d31c43d40f8a518aa8d371b085d8"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a01e5d31c43d40f8a518aa8d371b085d8">SVF::CFLGraphBuilder::buildlabelToKindMap</a></div><div class="ttdeci">void buildlabelToKindMap(GrammarBase *grammar)</div><div class="ttdoc">build label and kind connect from the grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00054">CFLGraphBuilder.cpp:54</a></div></div>
302
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a36c5b874527e7694f7fb2fd7291da0da"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a36c5b874527e7694f7fb2fd7291da0da">SVF::CFLGraphBuilder::Symbol</a></div><div class="ttdeci">CFLGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00050">CFLGraphBuilder.h:50</a></div></div>
303
- <div class="ttc" id="aclassSVF_1_1CFLGraph_html_a58b944d0f2c11868e17223acdb35f82c"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a58b944d0f2c11868e17223acdb35f82c">SVF::CFLGraph::addCFLNode</a></div><div class="ttdeci">virtual void addCFLNode(NodeID id, CFLNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00042">CFLGraph.cpp:42</a></div></div>
247
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_af05b577fbb64082d80ca4cfa2e2bc4f1"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#af05b577fbb64082d80ca4cfa2e2bc4f1">SVF::CFLGraphBuilder::addAttribute</a></div><div class="ttdeci">void addAttribute(CFGrammar::Kind kind, CFGrammar::Attribute attribute)</div><div class="ttdoc">Method to add an attribute to a specific kind.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00037">CFLGraphBuilder.cpp:37</a></div></div>
304
248
  <div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map&lt; Key, Value, Hash, KeyEqual, Allocator &gt; Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
305
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a20299631d2b85507af6d81861736db5e"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e">SVF::CFLGraphBuilder::Kind</a></div><div class="ttdeci">CFLGrammar::Kind Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00049">CFLGraphBuilder.h:49</a></div></div>
249
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a2ab271d42ab82aea2adf8b0e641aa39c"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a2ab271d42ab82aea2adf8b0e641aa39c">SVF::CFLGraphBuilder::Symbol</a></div><div class="ttdeci">CFGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00056">CFLGraphBuilder.h:56</a></div></div>
306
250
  <div class="ttc" id="aclassSVF_1_1GenericGraph_html"><div class="ttname"><a href="classSVF_1_1GenericGraph.html">SVF::GenericGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00344">GenericGraph.h:344</a></div></div>
307
251
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
308
- <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a93b41c2f0eca82e6eaf49895b2b13a1e"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">SVF::CFLGraphBuilder::kindToLabelMap</a></div><div class="ttdeci">Map&lt; Kind, std::string &gt; kindToLabelMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00054">CFLGraphBuilder.h:54</a></div></div>
252
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_a93b41c2f0eca82e6eaf49895b2b13a1e"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#a93b41c2f0eca82e6eaf49895b2b13a1e">SVF::CFLGraphBuilder::kindToLabelMap</a></div><div class="ttdeci">Map&lt; Kind, std::string &gt; kindToLabelMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8h_source.html#l00060">CFLGraphBuilder.h:60</a></div></div>
253
+ <div class="ttc" id="aclassSVF_1_1CFLGraphBuilder_html_aea046c5f1971069a50100afe7ffed89f"><div class="ttname"><a href="classSVF_1_1CFLGraphBuilder.html#aea046c5f1971069a50100afe7ffed89f">SVF::CFLGraphBuilder::buildFromText</a></div><div class="ttdeci">CFLGraph * buildFromText(std::string fileName, GrammarBase *grammar, BuildDirection direction=BuildDirection::plain)</div><div class="ttdoc">Method to build a CFL graph from a Text file.</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraphBuilder_8cpp_source.html#l00142">CFLGraphBuilder.cpp:142</a></div></div>
309
254
  <!-- start footer part -->
310
255
  <hr class="footer"/><address class="footer"><small>
311
256
  Generated by &#160;<a href="http://www.doxygen.org/index.html">