svf-tools 1.0.620 → 1.0.621

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 (163) hide show
  1. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -2
  2. package/SVF-doxygen/html/html/CFLAlias_8h.html +4 -0
  3. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +19 -10
  4. package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
  6. package/SVF-doxygen/html/html/CFLDataBuilder_8h.html +96 -0
  7. package/SVF-doxygen/html/html/CFLDataBuilder_8h_source.html +99 -0
  8. package/SVF-doxygen/html/html/CFLData_8h.html +106 -0
  9. package/SVF-doxygen/html/html/CFLData_8h_source.html +136 -0
  10. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +7 -7
  11. package/SVF-doxygen/html/html/CFLSolver_8h.html +4 -0
  12. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +22 -16
  13. package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +1 -1
  14. package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +2 -1
  15. package/SVF-doxygen/html/html/GraphWriter_8h_source.html +2 -1
  16. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
  17. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -3
  18. package/SVF-doxygen/html/html/Options_8h_source.html +4 -3
  19. package/SVF-doxygen/html/html/annotated.html +357 -351
  20. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  21. package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -0
  23. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.png +0 -0
  24. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +27 -24
  25. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.png +0 -0
  26. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +2 -1
  27. package/SVF-doxygen/html/html/classSVF_1_1CFLBase.png +0 -0
  28. package/SVF-doxygen/html/html/classSVF_1_1CFLData-members.html +110 -0
  29. package/SVF-doxygen/html/html/classSVF_1_1CFLData.html +1126 -0
  30. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder-members.html +88 -0
  31. package/SVF-doxygen/html/html/classSVF_1_1CFLDataBuilder.html +380 -0
  32. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +48 -39
  33. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.png +0 -0
  34. package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
  35. package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +3 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1HybridData-members.html +89 -0
  37. package/SVF-doxygen/html/html/classSVF_1_1HybridData.html +449 -0
  38. package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
  39. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +45 -44
  40. package/SVF-doxygen/html/html/classSVF_1_1Options.html +28 -2
  41. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +281 -0
  42. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +828 -0
  43. package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.png +0 -0
  44. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver-members.html +98 -0
  45. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.html +245 -0
  46. package/SVF-doxygen/html/html/classSVF_1_1POCRSolver.png +0 -0
  47. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -1
  48. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.png +0 -0
  49. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +1 -1
  50. package/SVF-doxygen/html/html/classes.html +110 -109
  51. package/SVF-doxygen/html/html/dir_ae8aa099e368efaa962140c6624142bc.html +4 -0
  52. package/SVF-doxygen/html/html/files.html +9 -7
  53. package/SVF-doxygen/html/html/functions.html +7 -1
  54. package/SVF-doxygen/html/html/functions_0x7e.html +18 -0
  55. package/SVF-doxygen/html/html/functions_a.html +38 -14
  56. package/SVF-doxygen/html/html/functions_b.html +9 -4
  57. package/SVF-doxygen/html/html/functions_c.html +59 -38
  58. package/SVF-doxygen/html/html/functions_d.html +7 -1
  59. package/SVF-doxygen/html/html/functions_e.html +5 -1
  60. package/SVF-doxygen/html/html/functions_func.html +35 -11
  61. package/SVF-doxygen/html/html/functions_func_0x7e.html +18 -0
  62. package/SVF-doxygen/html/html/functions_func_b.html +8 -3
  63. package/SVF-doxygen/html/html/functions_func_c.html +42 -27
  64. package/SVF-doxygen/html/html/functions_func_e.html +2 -1
  65. package/SVF-doxygen/html/html/functions_func_g.html +20 -7
  66. package/SVF-doxygen/html/html/functions_func_h.html +10 -3
  67. package/SVF-doxygen/html/html/functions_func_i.html +14 -10
  68. package/SVF-doxygen/html/html/functions_func_m.html +3 -2
  69. package/SVF-doxygen/html/html/functions_func_o.html +13 -11
  70. package/SVF-doxygen/html/html/functions_func_p.html +6 -3
  71. package/SVF-doxygen/html/html/functions_func_t.html +3 -0
  72. package/SVF-doxygen/html/html/functions_g.html +22 -9
  73. package/SVF-doxygen/html/html/functions_h.html +12 -5
  74. package/SVF-doxygen/html/html/functions_i.html +20 -11
  75. package/SVF-doxygen/html/html/functions_l.html +3 -3
  76. package/SVF-doxygen/html/html/functions_m.html +2 -1
  77. package/SVF-doxygen/html/html/functions_n.html +3 -3
  78. package/SVF-doxygen/html/html/functions_o.html +26 -24
  79. package/SVF-doxygen/html/html/functions_p.html +23 -14
  80. package/SVF-doxygen/html/html/functions_r.html +3 -5
  81. package/SVF-doxygen/html/html/functions_s.html +11 -10
  82. package/SVF-doxygen/html/html/functions_t.html +13 -4
  83. package/SVF-doxygen/html/html/functions_type_c.html +2 -1
  84. package/SVF-doxygen/html/html/functions_type_d.html +3 -0
  85. package/SVF-doxygen/html/html/functions_type_i.html +2 -1
  86. package/SVF-doxygen/html/html/functions_type_t.html +3 -0
  87. package/SVF-doxygen/html/html/functions_v.html +3 -3
  88. package/SVF-doxygen/html/html/functions_vars.html +7 -1
  89. package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
  90. package/SVF-doxygen/html/html/functions_vars_d.html +3 -0
  91. package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
  92. package/SVF-doxygen/html/html/functions_vars_i.html +4 -0
  93. package/SVF-doxygen/html/html/functions_vars_p.html +6 -0
  94. package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
  95. package/SVF-doxygen/html/html/functions_vars_t.html +3 -0
  96. package/SVF-doxygen/html/html/hierarchy.html +517 -511
  97. package/SVF-doxygen/html/html/namespaceSVF.html +29 -0
  98. package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +3 -2
  99. package/SVF-doxygen/html/html/namespacemembers_l.html +3 -0
  100. package/SVF-doxygen/html/html/namespacemembers_type_l.html +3 -0
  101. package/SVF-doxygen/html/html/search/all_0.js +2 -1
  102. package/SVF-doxygen/html/html/search/all_1.js +8 -1
  103. package/SVF-doxygen/html/html/search/all_10.js +8 -5
  104. package/SVF-doxygen/html/html/search/all_11.js +3 -3
  105. package/SVF-doxygen/html/html/search/all_12.js +7 -6
  106. package/SVF-doxygen/html/html/search/all_13.js +7 -4
  107. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  108. package/SVF-doxygen/html/html/search/all_19.js +6 -0
  109. package/SVF-doxygen/html/html/search/all_2.js +3 -2
  110. package/SVF-doxygen/html/html/search/all_3.js +11 -6
  111. package/SVF-doxygen/html/html/search/all_4.js +2 -1
  112. package/SVF-doxygen/html/html/search/all_5.js +2 -1
  113. package/SVF-doxygen/html/html/search/all_7.js +5 -1
  114. package/SVF-doxygen/html/html/search/all_8.js +4 -2
  115. package/SVF-doxygen/html/html/search/all_9.js +7 -5
  116. package/SVF-doxygen/html/html/search/all_c.js +3 -2
  117. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  118. package/SVF-doxygen/html/html/search/all_e.js +2 -2
  119. package/SVF-doxygen/html/html/search/all_f.js +4 -4
  120. package/SVF-doxygen/html/html/search/classes_10.js +1 -0
  121. package/SVF-doxygen/html/html/search/classes_2.js +2 -0
  122. package/SVF-doxygen/html/html/search/classes_7.js +2 -1
  123. package/SVF-doxygen/html/html/search/classes_d.js +2 -0
  124. package/SVF-doxygen/html/html/search/files_2.js +2 -0
  125. package/SVF-doxygen/html/html/search/functions_0.js +8 -1
  126. package/SVF-doxygen/html/html/search/functions_1.js +3 -2
  127. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  128. package/SVF-doxygen/html/html/search/functions_12.js +1 -0
  129. package/SVF-doxygen/html/html/search/functions_17.js +6 -0
  130. package/SVF-doxygen/html/html/search/functions_2.js +4 -1
  131. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  132. package/SVF-doxygen/html/html/search/functions_6.js +5 -1
  133. package/SVF-doxygen/html/html/search/functions_7.js +4 -2
  134. package/SVF-doxygen/html/html/search/functions_8.js +3 -2
  135. package/SVF-doxygen/html/html/search/functions_c.js +1 -1
  136. package/SVF-doxygen/html/html/search/functions_e.js +2 -2
  137. package/SVF-doxygen/html/html/search/functions_f.js +1 -0
  138. package/SVF-doxygen/html/html/search/typedefs_11.js +2 -1
  139. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  140. package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
  141. package/SVF-doxygen/html/html/search/typedefs_7.js +1 -1
  142. package/SVF-doxygen/html/html/search/typedefs_a.js +1 -0
  143. package/SVF-doxygen/html/html/search/variables_0.js +2 -1
  144. package/SVF-doxygen/html/html/search/variables_10.js +2 -0
  145. package/SVF-doxygen/html/html/search/variables_12.js +1 -0
  146. package/SVF-doxygen/html/html/search/variables_13.js +2 -1
  147. package/SVF-doxygen/html/html/search/variables_3.js +1 -0
  148. package/SVF-doxygen/html/html/search/variables_4.js +1 -0
  149. package/SVF-doxygen/html/html/search/variables_5.js +1 -0
  150. package/SVF-doxygen/html/html/search/variables_9.js +2 -1
  151. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  152. package/SVF-doxygen/html/html/search/variables_e.js +1 -1
  153. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode-members.html +86 -0
  154. package/SVF-doxygen/html/html/structSVF_1_1HybridData_1_1TreeNode.html +255 -0
  155. package/include/CFL/CFLAlias.h +34 -0
  156. package/include/CFL/CFLData.h +316 -0
  157. package/include/CFL/CFLDataBuilder.h +91 -0
  158. package/include/CFL/CFLSolver.h +21 -0
  159. package/include/Util/Options.h +1 -0
  160. package/lib/CFL/CFLAlias.cpp +36 -0
  161. package/lib/Util/Options.cpp +5 -0
  162. package/package.json +1 -1
  163. package/tools/CFL/cfl.cpp +2 -0
@@ -74,6 +74,15 @@ $(function() {
74
74
  <div class="contents">
75
75
 
76
76
  <p><code>#include &lt;<a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>&gt;</code></p>
77
+ <div class="dynheader">
78
+ Inheritance diagram for SVF::CFLSolver:</div>
79
+ <div class="dyncontent">
80
+ <div class="center">
81
+ <img src="classSVF_1_1CFLSolver.png" usemap="#SVF::CFLSolver_map" alt=""/>
82
+ <map id="SVF::CFLSolver_map" name="SVF::CFLSolver_map">
83
+ <area href="classSVF_1_1POCRSolver.html" title="Solver Utilize CFLData. " alt="SVF::POCRSolver" shape="rect" coords="0,56,115,80"/>
84
+ </map>
85
+ </div></div>
77
86
  <table class="memberdecls">
78
87
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
79
88
  Public Types</h2></td></tr>
@@ -137,7 +146,7 @@ Private Attributes</h2></td></tr>
137
146
  </table>
138
147
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
139
148
  <div class="textblock">
140
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00041">41</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
149
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00042">42</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
141
150
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
142
151
  <a id="a0ade6e3827c629c3cc3d22a101df7288"></a>
143
152
  <h2 class="memtitle"><span class="permalink"><a href="#a0ade6e3827c629c3cc3d22a101df7288">&#9670;&nbsp;</a></span>Production</h2>
@@ -151,7 +160,7 @@ Private Attributes</h2></td></tr>
151
160
  </table>
152
161
  </div><div class="memdoc">
153
162
 
154
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00047">47</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
163
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00048">48</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
155
164
 
156
165
  </div>
157
166
  </div>
@@ -167,7 +176,7 @@ Private Attributes</h2></td></tr>
167
176
  </table>
168
177
  </div><div class="memdoc">
169
178
 
170
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00048">48</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
179
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00049">49</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
171
180
 
172
181
  </div>
173
182
  </div>
@@ -185,7 +194,7 @@ Private Attributes</h2></td></tr>
185
194
 
186
195
  <p>Define worklist. </p>
187
196
 
188
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00046">46</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
197
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00047">47</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
189
198
 
190
199
  </div>
191
200
  </div>
@@ -224,9 +233,9 @@ Private Attributes</h2></td></tr>
224
233
  </table>
225
234
  </div><div class="memdoc">
226
235
 
227
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00052">52</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
228
- <div class="fragment"><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; : <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>(_graph), <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>(_grammar)</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00106">CFLSolver.h:106</a></div></div>
229
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
236
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00053">53</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
237
+ <div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; : <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>(_graph), <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>(_grammar)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
238
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00108">CFLSolver.h:108</a></div></div>
230
239
  </div><!-- fragment -->
231
240
  </div>
232
241
  </div>
@@ -253,9 +262,9 @@ Private Attributes</h2></td></tr>
253
262
  </table>
254
263
  </div><div class="memdoc">
255
264
 
256
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00056">56</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
257
- <div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>;</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00106">CFLSolver.h:106</a></div></div>
258
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
265
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00057">57</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
266
+ <div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
267
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00108">CFLSolver.h:108</a></div></div>
259
268
  </div><!-- fragment -->
260
269
  </div>
261
270
  </div>
@@ -285,8 +294,8 @@ Private Attributes</h2></td></tr>
285
294
 
286
295
  <p>Return CFL Grammar. </p>
287
296
 
288
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00078">78</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
289
- <div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
297
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00079">79</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
298
+ <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00108">CFLSolver.h:108</a></div></div>
290
299
  </div><!-- fragment -->
291
300
  </div>
292
301
  </div>
@@ -315,8 +324,8 @@ Private Attributes</h2></td></tr>
315
324
 
316
325
  <p>Return CFL Graph. </p>
317
326
 
318
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00072">72</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
319
- <div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; {</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00106">CFLSolver.h:106</a></div></div>
327
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00073">73</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
328
+ <div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
320
329
  </div><!-- fragment -->
321
330
  </div>
322
331
  </div>
@@ -340,17 +349,17 @@ Private Attributes</h2></td></tr>
340
349
 
341
350
  <p class="definition">Definition at line <a class="el" href="CFLSolver_8cpp_source.html#l00036">36</a> of file <a class="el" href="CFLSolver_8cpp_source.html">CFLSolver.cpp</a>.</p>
342
351
  <div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* edge : (*it).second-&gt;getOutEdges())</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(edge);</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; }</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a>&amp; prod : <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a8d6292a55da24336d968e20c7ac288d9">getEpsilonProds</a>())</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it!= <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); it++)</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> X = <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">getLHSSymbol</a>(prod);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* i = (*it).second;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* edge = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(i, i, X))</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(edge);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div><div class="ttc" id="classSVF_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#l00369">GenericGraph.h:369</a></div></div>
343
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a06e64c18559b4f311717203ac3fe1fcd"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">SVF::CFLSolver::Symbol</a></div><div class="ttdeci">CFLGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00048">CFLSolver.h:48</a></div></div>
344
- <div class="ttc" id="classSVF_1_1CFLSolver_html_afc745dc72fd0572a145a78fe6a93ae5c"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">SVF::CFLSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(const CFLEdge *item)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00082">CFLSolver.h:82</a></div></div>
352
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_a06e64c18559b4f311717203ac3fe1fcd"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">SVF::CFLSolver::Symbol</a></div><div class="ttdeci">CFLGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00049">CFLSolver.h:49</a></div></div>
353
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_afc745dc72fd0572a145a78fe6a93ae5c"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">SVF::CFLSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(const CFLEdge *item)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00083">CFLSolver.h:83</a></div></div>
345
354
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a8d6292a55da24336d968e20c7ac288d9"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a8d6292a55da24336d968e20c7ac288d9">SVF::CFLGrammar::getEpsilonProds</a></div><div class="ttdeci">Productions &amp; getEpsilonProds()</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00308">CFLGrammar.h:308</a></div></div>
346
355
  <div class="ttc" id="classSVF_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>
347
356
  <div class="ttc" id="classSVF_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#l00373">GenericGraph.h:373</a></div></div>
348
357
  <div class="ttc" id="classSVF_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>
349
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00106">CFLSolver.h:106</a></div></div>
350
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
358
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
359
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00108">CFLSolver.h:108</a></div></div>
351
360
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a3cfce0e2282c63679d6e7835e19ad5ec"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">SVF::CFLGrammar::getLHSSymbol</a></div><div class="ttdeci">const Symbol &amp; getLHSSymbol(const Production &amp;prod) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00368">CFLGrammar.h:368</a></div></div>
352
361
  <div class="ttc" id="classSVF_1_1CFLEdge_html"><div class="ttname"><a href="classSVF_1_1CFLEdge.html">SVF::CFLEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00047">CFLGraph.h:47</a></div></div>
353
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a0ade6e3827c629c3cc3d22a101df7288"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">SVF::CFLSolver::Production</a></div><div class="ttdeci">CFLGrammar::Production Production</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00047">CFLSolver.h:47</a></div></div>
362
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_a0ade6e3827c629c3cc3d22a101df7288"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">SVF::CFLSolver::Production</a></div><div class="ttdeci">CFLGrammar::Production Production</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00048">CFLSolver.h:48</a></div></div>
354
363
  </div><!-- fragment -->
355
364
  </div>
356
365
  </div>
@@ -378,8 +387,8 @@ Private Attributes</h2></td></tr>
378
387
  </table>
379
388
  </div><div class="memdoc">
380
389
 
381
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00099">99</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
382
- <div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">find</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00109">CFLSolver.h:109</a></div></div>
390
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00100">100</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
391
+ <div class="fragment"><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">find</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00110">CFLSolver.h:110</a></div></div>
383
392
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_ab023f3b60ff61d6729d75f4d2942bd83"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ab023f3b60ff61d6729d75f4d2942bd83">SVF::FIFOWorkList::find</a></div><div class="ttdeci">bool find(const Data &amp;data) const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00157">WorkList.h:157</a></div></div>
384
393
  <div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
385
394
  </div><!-- fragment -->
@@ -408,8 +417,8 @@ Private Attributes</h2></td></tr>
408
417
  </table>
409
418
  </div><div class="memdoc">
410
419
 
411
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00086">86</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
412
- <div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00109">CFLSolver.h:109</a></div></div>
420
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00087">87</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
421
+ <div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>();</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00110">CFLSolver.h:110</a></div></div>
413
422
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
414
423
  </div><!-- fragment -->
415
424
  </div>
@@ -439,8 +448,8 @@ Private Attributes</h2></td></tr>
439
448
 
440
449
  <p>Worklist operations. </p>
441
450
 
442
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00094">94</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
443
- <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00109">CFLSolver.h:109</a></div></div>
451
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00095">95</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
452
+ <div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00110">CFLSolver.h:110</a></div></div>
444
453
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
445
454
  </div><!-- fragment -->
446
455
  </div>
@@ -468,28 +477,28 @@ Private Attributes</h2></td></tr>
468
477
 
469
478
  <p class="definition">Definition at line <a class="el" href="CFLSolver_8cpp_source.html#l00062">62</a> of file <a class="el" href="CFLSolver_8cpp_source.html">CFLSolver.cpp</a>.</p>
470
479
  <div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;{</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* i = Y_edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* j = Y_edge-&gt;<a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> Y = Y_edge-&gt;<a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>();</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a51d4514dec026412f7151a6ea1fc2b5d">hasProdsFromSingleRHS</a>(Y))</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a>&amp; prod : <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a0c9462377b1adf656f803de3be6a0d2b">getProdsFromSingleRHS</a>(Y))</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> X = <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">getLHSSymbol</a>(prod);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">numOfChecks</a>++;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* newEdge = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(i, j, X))</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(newEdge);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#aa6383a6a8ccd30afbedf7ff3a05d46d8">hasProdsFromFirstRHS</a>(Y))</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a>&amp; prod : <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#ac167616ad6e48161b0cb890107145ffa">getProdsFromFirstRHS</a>(Y))</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> X = <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">getLHSSymbol</a>(prod);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* Z_edge : j-&gt;<a class="code" href="classSVF_1_1CFLNode.html#a0a1b7384a42cad855bddf881e0e09542">getOutEdgeWithTy</a>(<a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a3ccdda19bfed497ee8e14c1aaac4aa51">getSecondRHSSymbol</a>(prod)))</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* k = Z_edge-&gt;getDstNode();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">numOfChecks</a>++;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* newEdge = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(i, k, X))</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(newEdge);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a2b1c91f6d33423046d3ffcb2985351ce">hasProdsFromSecondRHS</a>(Y))</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">Production</a>&amp; prod : <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a9e62f15ed28cf5f48fce44b67d8a1c89">getProdsFromSecondRHS</a>(Y))</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">Symbol</a> X = <a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">getLHSSymbol</a>(prod);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* Z_edge : i-&gt;<a class="code" href="classSVF_1_1CFLNode.html#a38123f7bd5e33fb085d0108bcbdc9729">getInEdgeWithTy</a>(<a class="code" href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">grammar</a>-&gt;<a class="code" href="classSVF_1_1CFLGrammar.html#a837d2db607e1c9403db4d3021f4e52d4">getFirstRHSSymbol</a>(prod)))</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; {</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classSVF_1_1CFLNode.html">CFLNode</a>* k = Z_edge-&gt;getSrcNode();</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">numOfChecks</a>++;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* newEdge = <a class="code" href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">graph</a>-&gt;<a class="code" href="classSVF_1_1CFLGraph.html#a9eea8083dbeaf898948595b1d75cfee2">addCFLEdge</a>(k, j, X))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">pushIntoWorklist</a>(newEdge);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLNode_html_a38123f7bd5e33fb085d0108bcbdc9729"><div class="ttname"><a href="classSVF_1_1CFLNode.html#a38123f7bd5e33fb085d0108bcbdc9729">SVF::CFLNode::getInEdgeWithTy</a></div><div class="ttdeci">const CFLEdge::CFLEdgeSetTy &amp; getInEdgeWithTy(GrammarBase::Symbol s)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00094">CFLGraph.h:94</a></div></div>
471
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a06e64c18559b4f311717203ac3fe1fcd"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">SVF::CFLSolver::Symbol</a></div><div class="ttdeci">CFLGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00048">CFLSolver.h:48</a></div></div>
480
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_a06e64c18559b4f311717203ac3fe1fcd"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a06e64c18559b4f311717203ac3fe1fcd">SVF::CFLSolver::Symbol</a></div><div class="ttdeci">CFLGrammar::Symbol Symbol</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00049">CFLSolver.h:49</a></div></div>
472
481
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a9e62f15ed28cf5f48fce44b67d8a1c89"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a9e62f15ed28cf5f48fce44b67d8a1c89">SVF::CFLGrammar::getProdsFromSecondRHS</a></div><div class="ttdeci">const Productions &amp; getProdsFromSecondRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00360">CFLGrammar.h:360</a></div></div>
473
482
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_ac167616ad6e48161b0cb890107145ffa"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#ac167616ad6e48161b0cb890107145ffa">SVF::CFLGrammar::getProdsFromFirstRHS</a></div><div class="ttdeci">const Productions &amp; getProdsFromFirstRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00353">CFLGrammar.h:353</a></div></div>
474
- <div class="ttc" id="classSVF_1_1CFLSolver_html_afc745dc72fd0572a145a78fe6a93ae5c"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">SVF::CFLSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(const CFLEdge *item)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00082">CFLSolver.h:82</a></div></div>
483
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_afc745dc72fd0572a145a78fe6a93ae5c"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#afc745dc72fd0572a145a78fe6a93ae5c">SVF::CFLSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(const CFLEdge *item)</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00083">CFLSolver.h:83</a></div></div>
475
484
  <div class="ttc" id="classSVF_1_1CFLNode_html_a0a1b7384a42cad855bddf881e0e09542"><div class="ttname"><a href="classSVF_1_1CFLNode.html#a0a1b7384a42cad855bddf881e0e09542">SVF::CFLNode::getOutEdgeWithTy</a></div><div class="ttdeci">const CFLEdge::CFLEdgeSetTy &amp; getOutEdgeWithTy(GrammarBase::Symbol s)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00099">CFLGraph.h:99</a></div></div>
476
485
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a3ccdda19bfed497ee8e14c1aaac4aa51"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a3ccdda19bfed497ee8e14c1aaac4aa51">SVF::CFLGrammar::getSecondRHSSymbol</a></div><div class="ttdeci">const Symbol &amp; getSecondRHSSymbol(const Production &amp;prod) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00378">CFLGrammar.h:378</a></div></div>
477
486
  <div class="ttc" id="classSVF_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>
478
487
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a51d4514dec026412f7151a6ea1fc2b5d"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a51d4514dec026412f7151a6ea1fc2b5d">SVF::CFLGrammar::hasProdsFromSingleRHS</a></div><div class="ttdeci">const bool hasProdsFromSingleRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00334">CFLGrammar.h:334</a></div></div>
479
488
  <div class="ttc" id="classSVF_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>
480
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00106">CFLSolver.h:106</a></div></div>
489
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aedd6c605c4c381c738f4c6682c40d9f2"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aedd6c605c4c381c738f4c6682c40d9f2">SVF::CFLSolver::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
481
490
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a837d2db607e1c9403db4d3021f4e52d4"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a837d2db607e1c9403db4d3021f4e52d4">SVF::CFLGrammar::getFirstRHSSymbol</a></div><div class="ttdeci">const Symbol &amp; getFirstRHSSymbol(const Production &amp;prod) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00373">CFLGrammar.h:373</a></div></div>
482
491
  <div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00095">GenericGraph.h:95</a></div></div>
483
492
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a0c9462377b1adf656f803de3be6a0d2b"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a0c9462377b1adf656f803de3be6a0d2b">SVF::CFLGrammar::getProdsFromSingleRHS</a></div><div class="ttdeci">const Productions &amp; getProdsFromSingleRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00346">CFLGrammar.h:346</a></div></div>
484
- <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00107">CFLSolver.h:107</a></div></div>
493
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_aad88cf557ec43127de859b765505df49"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#aad88cf557ec43127de859b765505df49">SVF::CFLSolver::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00108">CFLSolver.h:108</a></div></div>
485
494
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_aa6383a6a8ccd30afbedf7ff3a05d46d8"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#aa6383a6a8ccd30afbedf7ff3a05d46d8">SVF::CFLGrammar::hasProdsFromFirstRHS</a></div><div class="ttdeci">const bool hasProdsFromFirstRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00328">CFLGrammar.h:328</a></div></div>
486
495
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a2b1c91f6d33423046d3ffcb2985351ce"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a2b1c91f6d33423046d3ffcb2985351ce">SVF::CFLGrammar::hasProdsFromSecondRHS</a></div><div class="ttdeci">const bool hasProdsFromSecondRHS(const Symbol sym) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00340">CFLGrammar.h:340</a></div></div>
487
496
  <div class="ttc" id="classSVF_1_1CFLGrammar_html_a3cfce0e2282c63679d6e7835e19ad5ec"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html#a3cfce0e2282c63679d6e7835e19ad5ec">SVF::CFLGrammar::getLHSSymbol</a></div><div class="ttdeci">const Symbol &amp; getLHSSymbol(const Production &amp;prod) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00368">CFLGrammar.h:368</a></div></div>
488
497
  <div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00091">GenericGraph.h:91</a></div></div>
489
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a46ded0b18821a2ade0ee151ac2b2d520"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">SVF::CFLSolver::numOfChecks</a></div><div class="ttdeci">static double numOfChecks</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00050">CFLSolver.h:50</a></div></div>
498
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_a46ded0b18821a2ade0ee151ac2b2d520"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a46ded0b18821a2ade0ee151ac2b2d520">SVF::CFLSolver::numOfChecks</a></div><div class="ttdeci">static double numOfChecks</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00051">CFLSolver.h:51</a></div></div>
490
499
  <div class="ttc" id="classSVF_1_1CFLEdge_html_acab367a1633d00afdafadf3f3a43e0c8"><div class="ttname"><a href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">SVF::CFLEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00058">CFLGraph.h:58</a></div></div>
491
500
  <div class="ttc" id="classSVF_1_1CFLEdge_html"><div class="ttname"><a href="classSVF_1_1CFLEdge.html">SVF::CFLEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00047">CFLGraph.h:47</a></div></div>
492
- <div class="ttc" id="classSVF_1_1CFLSolver_html_a0ade6e3827c629c3cc3d22a101df7288"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">SVF::CFLSolver::Production</a></div><div class="ttdeci">CFLGrammar::Production Production</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00047">CFLSolver.h:47</a></div></div>
501
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_a0ade6e3827c629c3cc3d22a101df7288"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a0ade6e3827c629c3cc3d22a101df7288">SVF::CFLSolver::Production</a></div><div class="ttdeci">CFLGrammar::Production Production</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00048">CFLSolver.h:48</a></div></div>
493
502
  </div><!-- fragment -->
494
503
  </div>
495
504
  </div>
@@ -517,8 +526,8 @@ Private Attributes</h2></td></tr>
517
526
  </table>
518
527
  </div><div class="memdoc">
519
528
 
520
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00082">82</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
521
- <div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00109">CFLSolver.h:109</a></div></div>
529
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00083">83</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
530
+ <div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">worklist</a>.<a class="code" href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">push</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a211bb78846886aa9ccd4b160da81e02e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e">SVF::CFLSolver::worklist</a></div><div class="ttdeci">WorkList worklist</div><div class="ttdoc">Worklist for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00110">CFLSolver.h:110</a></div></div>
522
531
  <div class="ttc" id="classSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &amp;data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
523
532
  <div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
524
533
  </div><!-- fragment -->
@@ -544,8 +553,8 @@ Private Attributes</h2></td></tr>
544
553
  <p>Select and remove an edge Y(i,j) from worklist </p>
545
554
 
546
555
  <p class="definition">Definition at line <a class="el" href="CFLSolver_8cpp_source.html#l00119">119</a> of file <a class="el" href="CFLSolver_8cpp_source.html">CFLSolver.cpp</a>.</p>
547
- <div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">initialize</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">while</span>(!<a class="code" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a>())</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* Y_edge = <a class="code" href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">popFromWorklist</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">processCFLEdge</a>(Y_edge);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a95573e91816f426ff7b45afb7b7c821e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">SVF::CFLSolver::popFromWorklist</a></div><div class="ttdeci">const CFLEdge * popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00094">CFLSolver.h:94</a></div></div>
548
- <div class="ttc" id="classSVF_1_1CFLSolver_html_ac1fe4563081c29f8a715bd67d454c8bb"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">SVF::CFLSolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00086">CFLSolver.h:86</a></div></div>
556
+ <div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;{</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">initialize</a>();</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">while</span>(!<a class="code" href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">isWorklistEmpty</a>())</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* Y_edge = <a class="code" href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">popFromWorklist</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">processCFLEdge</a>(Y_edge);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLSolver_html_a95573e91816f426ff7b45afb7b7c821e"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a95573e91816f426ff7b45afb7b7c821e">SVF::CFLSolver::popFromWorklist</a></div><div class="ttdeci">const CFLEdge * popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00095">CFLSolver.h:95</a></div></div>
557
+ <div class="ttc" id="classSVF_1_1CFLSolver_html_ac1fe4563081c29f8a715bd67d454c8bb"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#ac1fe4563081c29f8a715bd67d454c8bb">SVF::CFLSolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00087">CFLSolver.h:87</a></div></div>
549
558
  <div class="ttc" id="classSVF_1_1CFLSolver_html_a53c873a9243d2ef3e8d5eff1b8081102"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a53c873a9243d2ef3e8d5eff1b8081102">SVF::CFLSolver::processCFLEdge</a></div><div class="ttdeci">void processCFLEdge(const CFLEdge *Y_edge)</div><div class="ttdoc">Process CFLEdge. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8cpp_source.html#l00062">CFLSolver.cpp:62</a></div></div>
550
559
  <div class="ttc" id="classSVF_1_1CFLEdge_html"><div class="ttname"><a href="classSVF_1_1CFLEdge.html">SVF::CFLEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00047">CFLGraph.h:47</a></div></div>
551
560
  <div class="ttc" id="classSVF_1_1CFLSolver_html_a5e94324ee4137610d5513ed11b36f4ba"><div class="ttname"><a href="classSVF_1_1CFLSolver.html#a5e94324ee4137610d5513ed11b36f4ba">SVF::CFLSolver::initialize</a></div><div class="ttdeci">void initialize()</div><div class="ttdoc">Initialize worklist. </div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8cpp_source.html#l00036">CFLSolver.cpp:36</a></div></div>
@@ -573,7 +582,7 @@ Private Attributes</h2></td></tr>
573
582
  </table>
574
583
  </div><div class="memdoc">
575
584
 
576
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00107">107</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
585
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00108">108</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
577
586
 
578
587
  </div>
579
588
  </div>
@@ -597,7 +606,7 @@ Private Attributes</h2></td></tr>
597
606
  </table>
598
607
  </div><div class="memdoc">
599
608
 
600
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00106">106</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
609
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00107">107</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
601
610
 
602
611
  </div>
603
612
  </div>
@@ -621,7 +630,7 @@ Private Attributes</h2></td></tr>
621
630
  </table>
622
631
  </div><div class="memdoc">
623
632
 
624
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00050">50</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
633
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00051">51</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
625
634
 
626
635
  </div>
627
636
  </div>
@@ -647,7 +656,7 @@ Private Attributes</h2></td></tr>
647
656
 
648
657
  <p>Worklist for resolution. </p>
649
658
 
650
- <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00109">109</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
659
+ <p class="definition">Definition at line <a class="el" href="CFLSolver_8h_source.html#l00110">110</a> of file <a class="el" href="CFLSolver_8h_source.html">CFLSolver.h</a>.</p>
651
660
 
652
661
  </div>
653
662
  </div>
@@ -702,7 +702,7 @@ Additional Inherited Members</h2></td></tr>
702
702
  <p class="definition">Definition at line <a class="el" href="CFLVF_8cpp_source.html#l00055">55</a> of file <a class="el" href="CFLVF_8cpp_source.html">CFLVF.cpp</a>.</p>
703
703
  <div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160;{</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// Build CFL Grammar</span></div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a77bc3b0260fe02cdcf41fdb6b80caa09">buildCFLGrammar</a>();</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">// Build CFL Graph</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="classSVF_1_1CFLVF.html#aa20f8d27da439c831f36b31312daf047">buildCFLGraph</a>();</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="comment">// Normalize grammar</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a462de3facd2a9365d32397d250414ee9">normalizeCFLGrammar</a>();</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="comment">// Initialize sovler</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>(<a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>, <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="classSVF_1_1CFLBase_html_a77bc3b0260fe02cdcf41fdb6b80caa09"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a77bc3b0260fe02cdcf41fdb6b80caa09">SVF::CFLBase::buildCFLGrammar</a></div><div class="ttdeci">virtual void buildCFLGrammar()</div><div class="ttdoc">Build Grammar from text file. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00049">CFLBase.cpp:49</a></div></div>
704
704
  <div class="ttc" id="classSVF_1_1CFLBase_html_a8101683062b9a71c0b2309cbdfb7b26f"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">SVF::CFLBase::graph</a></div><div class="ttdeci">CFLGraph * graph</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00107">CFLBase.h:107</a></div></div>
705
- <div class="ttc" id="classSVF_1_1CFLSolver_html"><div class="ttname"><a href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00041">CFLSolver.h:41</a></div></div>
705
+ <div class="ttc" id="classSVF_1_1CFLSolver_html"><div class="ttname"><a href="classSVF_1_1CFLSolver.html">SVF::CFLSolver</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLSolver_8h_source.html#l00042">CFLSolver.h:42</a></div></div>
706
706
  <div class="ttc" id="classSVF_1_1CFLBase_html_af7b0e90b8f8998ab6cf4e05155c7a503"><div class="ttname"><a href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">SVF::CFLBase::grammar</a></div><div class="ttdeci">CFLGrammar * grammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00109">CFLBase.h:109</a></div></div>
707
707
  <div class="ttc" id="classSVF_1_1CFLBase_html_a462de3facd2a9365d32397d250414ee9"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a462de3facd2a9365d32397d250414ee9">SVF::CFLBase::normalizeCFLGrammar</a></div><div class="ttdeci">virtual void normalizeCFLGrammar()</div><div class="ttdoc">Normalize grammar. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00090">CFLBase.cpp:90</a></div></div>
708
708
  <div class="ttc" id="classSVF_1_1CFLBase_html_a34c3a3eec2d7d34ef78b5031d8844b17"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">SVF::CFLBase::solver</a></div><div class="ttdeci">CFLSolver * solver</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00110">CFLBase.h:110</a></div></div>
@@ -93,7 +93,7 @@ Public Member Functions</h2></td></tr>
93
93
  <tr class="separator:a18c579b53feccbb3b521982c6161f555"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
94
  <tr class="memitem:a6133d0033363b0e9db156c354da7d7e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a6133d0033363b0e9db156c354da7d7e6">writeEdge</a> (<a class="el" href="classSVF_1_1GraphWriter.html#ac2141c33c4075610f8253287ee4ff0c6">NodeRef</a> Node, unsigned edgeidx, <a class="el" href="classSVF_1_1GraphWriter.html#ad41e952ca114bba64b87478f469b6d56">child_iterator</a> EI)</td></tr>
95
95
  <tr class="separator:a6133d0033363b0e9db156c354da7d7e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
- <tr class="memitem:a0feff91ed80b997dd4550fae16382768"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a0feff91ed80b997dd4550fae16382768">emitSimpleNode</a> (const void *ID, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Attr, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Label, unsigned NumEdgeSources=0, const std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt; *EdgeSourceLabels=nullptr)</td></tr>
96
+ <tr class="memitem:a0feff91ed80b997dd4550fae16382768"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a0feff91ed80b997dd4550fae16382768">emitSimpleNode</a> (const void *ID, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Attr, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;<a class="el" href="namespaceSVF.html#a3e0f8e5e6b3c433f557a1ca8e17599c9">Label</a>, unsigned NumEdgeSources=0, const std::vector&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt; *EdgeSourceLabels=nullptr)</td></tr>
97
97
  <tr class="memdesc:a0feff91ed80b997dd4550fae16382768"><td class="mdescLeft">&#160;</td><td class="mdescRight">emitSimpleNode - Outputs a simple (non-record) node <a href="#a0feff91ed80b997dd4550fae16382768">More...</a><br /></td></tr>
98
98
  <tr class="separator:a0feff91ed80b997dd4550fae16382768"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
99
  <tr class="memitem:a320577b81479578a8e6021380f9c07a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GraphWriter.html#a320577b81479578a8e6021380f9c07a7">emitEdge</a> (const void *SrcNodeID, int SrcNodePort, const void *DestNodeID, int DestNodePort, const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &amp;Attrs)</td></tr>
@@ -438,8 +438,9 @@ template&lt;typename GraphType&gt; </div>
438
438
  <p>emitSimpleNode - Outputs a simple (non-record) node </p>
439
439
 
440
440
  <p class="definition">Definition at line <a class="el" href="GraphWriter_8h_source.html#l00274">274</a> of file <a class="el" href="GraphWriter_8h_source.html">GraphWriter.h</a>.</p>
441
- <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tNode&quot;</span> &lt;&lt; ID &lt;&lt; <span class="stringliteral">&quot;[ &quot;</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span> (!Attr.empty())</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; Attr &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot; label =\&quot;&quot;</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(Label);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|{&quot;</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumEdgeSources; ++i)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (i) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;&lt;s&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">if</span> (EdgeSourceLabels) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>((*EdgeSourceLabels)[i]);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}}&quot;</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\&quot;];\n&quot;</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
441
+ <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\tNode&quot;</span> &lt;&lt; ID &lt;&lt; <span class="stringliteral">&quot;[ &quot;</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span> (!Attr.empty())</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; Attr &lt;&lt; <span class="stringliteral">&quot;,&quot;</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot; label =\&quot;&quot;</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;{&quot;</span>;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>(<a class="code" href="namespaceSVF.html#a3e0f8e5e6b3c433f557a1ca8e17599c9">Label</a>);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">if</span> (NumEdgeSources)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|{&quot;</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != NumEdgeSources; ++i)</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (i) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;|&quot;</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;&lt;s&quot;</span> &lt;&lt; i &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">if</span> (EdgeSourceLabels) <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <a class="code" href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">DOT::EscapeStr</a>((*EdgeSourceLabels)[i]);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;}}&quot;</span>;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">O</a> &lt;&lt; <span class="stringliteral">&quot;\&quot;];\n&quot;</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div><div class="ttc" id="namespaceSVF_1_1DOT_html_a9e3127c2bbedaec1f20d4437bea9e2f7"><div class="ttname"><a href="namespaceSVF_1_1DOT.html#a9e3127c2bbedaec1f20d4437bea9e2f7">SVF::DOT::EscapeStr</a></div><div class="ttdeci">std::string EscapeStr(const std::string &amp;Label)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8cpp_source.html#l00012">GraphWriter.cpp:12</a></div></div>
442
442
  <div class="ttc" id="classSVF_1_1GraphWriter_html_a2e882c9af39ffd3c4a4bac9212e0e82d"><div class="ttname"><a href="classSVF_1_1GraphWriter.html#a2e882c9af39ffd3c4a4bac9212e0e82d">SVF::GraphWriter::O</a></div><div class="ttdeci">std::ofstream &amp; O</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00064">GraphWriter.h:64</a></div></div>
443
+ <div class="ttc" id="namespaceSVF_html_a3e0f8e5e6b3c433f557a1ca8e17599c9"><div class="ttname"><a href="namespaceSVF.html#a3e0f8e5e6b3c433f557a1ca8e17599c9">SVF::Label</a></div><div class="ttdeci">GrammarBase::Symbol Label</div><div class="ttdef"><b>Definition:</b> <a href="CFLData_8h_source.html#l00043">CFLData.h:43</a></div></div>
443
444
  </div><!-- fragment -->
444
445
  </div>
445
446
  </div>