svf-tools 1.0.585 → 1.0.586
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.
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -8
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +10 -10
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +25 -18
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +24 -23
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +26 -8
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +11 -10
- package/SVF-doxygen/html/html/CFLStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +47 -44
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +100 -64
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +12 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/html/functions_f.html +24 -25
- package/SVF-doxygen/html/html/functions_func_f.html +1 -0
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
- package/SVF-doxygen/html/html/globals_v.html +4 -1
- package/SVF-doxygen/html/html/globals_vars.html +4 -1
- package/SVF-doxygen/html/html/search/all_13.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +2 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/variables_15.js +2 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/include/CFL/CFLBase.h +4 -1
- package/include/CFL/CFLGrammar.txt +2 -2
- package/include/Util/ExtAPI.json +2 -2
- package/lib/CFL/CFLAlias.cpp +2 -2
- package/lib/CFL/CFLBase.cpp +12 -0
- package/lib/CFL/CFLSolver.cpp +11 -14
- package/lib/CFL/CFLStat.cpp +1 -0
- package/lib/Graphs/CFLGraph.cpp +1 -1
- package/package.json +1 -1
|
@@ -66,45 +66,46 @@ $(function() {
|
|
|
66
66
|
<div class="title">CFLBase.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="CFLBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===----- CFLBase.h -- CFL Analysis Client Base--------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CFLBase.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Oct 12, 2022</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Pei Xu</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef INCLUDE_CFL_CFLBASE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define INCLUDE_CFL_CFLBASE_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="CFLSolver_8h.html">CFL/CFLSolver.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="CFGNormalizer_8h.html">CFL/CFGNormalizer.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="GrammarBuilder_8h.html">CFL/GrammarBuilder.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="CFLGraphBuilder_8h.html">CFL/CFLGraphBuilder.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="CFLGramGraphChecker_8h.html">CFL/CFLGramGraphChecker.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="PointerAnalysis_8h.html">MemoryModel/PointerAnalysis.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="ConsG_8h.html">Graphs/ConsG.h</a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">Util/Options.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">class </span>CFLStat;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html"> 49</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CFLBase.html">CFLBase</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8"> 53</a></span>  <a class="code" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">CFLBase</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PointerAnalysis::PTATY</a> pty) : <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>(ir, pty), <a class="code" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">svfir</a>(ir), <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>(nullptr), <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>(nullptr), <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>(nullptr)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243"> 58</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243">~CFLBase</a>()</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">grammarBase</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a77bc3b0260fe02cdcf41fdb6b80caa09">buildCFLGrammar</a>();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a0daabb58bd7d5be40379ccc670c37a93">buildCFLGraph</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a462de3facd2a9365d32397d250414ee9">normalizeCFLGrammar</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLBase.html#a22ab9bbaee16e06d04817db8c394cc0b">getCFLGraph</a>();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a824da17d03599090d4e3b4c50aeccff9">countSumEdges</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a2d1f2e2c7f8cbe07e0dda759a7424e6e">solve</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a2aac58e19676290042874c262f1edd4d">analyze</a>();</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="comment">// Grammar</span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2"> 88</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2">timeOfBuildCFLGrammar</a>; <span class="comment">// Time of building grammarBase from text file</span></div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261"> 89</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261">timeOfNormalizeGrammar</a>; <span class="comment">// Time of normalizing grammarBase to CFLGrammar</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// Graph</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c"> 91</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c">timeOfBuildCFLGraph</a>; <span class="comment">// Time of building CFLGraph</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9"> 92</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9">numOfTerminalEdges</a>; <span class="comment">// Number of terminal labeled edges</span></div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47"> 93</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47">numOfTemporaryNonterminalEdges</a>; <span class="comment">// Number of temporary (ie. X0, X1..) nonterminal labeled edges</span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b"> 94</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b">numOfNonterminalEdges</a>; <span class="comment">// Number of nonterminal labeled edges</span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c"> 95</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c">numOfStartEdges</a>; <span class="comment">// Number of start nonterminal labeled edges</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// Solver</span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a6f1f4ae5ad06fb4f669c9bdb21f207a3"> 97</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a6f1f4ae5ad06fb4f669c9bdb21f207a3">numOfIteration</a>; <span class="comment">// Number solving Iteration</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6"> 98</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6">numOfChecks</a>; <span class="comment">// Number of checks</span></div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8"> 99</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8">timeOfSolving</a>; <span class="comment">// time of solving CFL Reachability</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"></span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0"> 103</a></span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">svfir</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f"> 104</a></span>  <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f"> 105</a></span>  <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a>* <a class="code" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">grammarBase</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503"> 106</a></span>  <a class="code" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a>* <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17"> 107</a></span>  <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>* <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> };</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLBASE_H_*/</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
|
|
70
|
-
<div class="ttc" id="
|
|
71
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a9e6cbab31612da4a1f8f660d1fabc4c0"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">SVF::CFLBase::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
72
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_ac3b408acb295e2c319e3542539e6df47"><div class="ttname"><a href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47">SVF::CFLBase::numOfTemporaryNonterminalEdges</a></div><div class="ttdeci">static double numOfTemporaryNonterminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
73
|
-
<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#
|
|
69
|
+
<a href="CFLBase_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===----- CFLBase.h -- CFL Analysis Client Base--------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CFLBase.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Oct 12, 2022</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Pei Xu</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef INCLUDE_CFL_CFLBASE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define INCLUDE_CFL_CFLBASE_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="CFLSolver_8h.html">CFL/CFLSolver.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="CFGNormalizer_8h.html">CFL/CFGNormalizer.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="GrammarBuilder_8h.html">CFL/GrammarBuilder.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="CFLGraphBuilder_8h.html">CFL/CFLGraphBuilder.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="CFLGramGraphChecker_8h.html">CFL/CFLGramGraphChecker.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="PointerAnalysis_8h.html">MemoryModel/PointerAnalysis.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="ConsG_8h.html">Graphs/ConsG.h</a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="Options_8h.html">Util/Options.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">class </span>CFLStat;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html"> 49</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1CFLBase.html">CFLBase</a> : <span class="keyword">public</span> <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8"> 53</a></span>  <a class="code" href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">CFLBase</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* ir, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PointerAnalysis::PTATY</a> pty) : <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>(ir, pty), <a class="code" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">svfir</a>(ir), <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>(nullptr), <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>(nullptr), <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>(nullptr)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243"> 58</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243">~CFLBase</a>()</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">grammarBase</a>;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a77bc3b0260fe02cdcf41fdb6b80caa09">buildCFLGrammar</a>();</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a0daabb58bd7d5be40379ccc670c37a93">buildCFLGraph</a>();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a462de3facd2a9365d32397d250414ee9">normalizeCFLGrammar</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLBase.html#a22ab9bbaee16e06d04817db8c394cc0b">getCFLGraph</a>();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a824da17d03599090d4e3b4c50aeccff9">countSumEdges</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a2d1f2e2c7f8cbe07e0dda759a7424e6e">solve</a>();</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a7ee2fdf1c0cdf019c863870dc51c0b5d">finalize</a>();</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1CFLBase.html#a2aac58e19676290042874c262f1edd4d">analyze</a>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="comment">// Grammar</span></div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2"> 91</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2">timeOfBuildCFLGrammar</a>; <span class="comment">// Time of building grammarBase from text file</span></div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261"> 92</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261">timeOfNormalizeGrammar</a>; <span class="comment">// Time of normalizing grammarBase to CFLGrammar</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// Graph</span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c"> 94</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c">timeOfBuildCFLGraph</a>; <span class="comment">// Time of building CFLGraph</span></div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9"> 95</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9">numOfTerminalEdges</a>; <span class="comment">// Number of terminal labeled edges</span></div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47"> 96</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47">numOfTemporaryNonterminalEdges</a>; <span class="comment">// Number of temporary (ie. X0, X1..) nonterminal labeled edges</span></div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b"> 97</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b">numOfNonterminalEdges</a>; <span class="comment">// Number of nonterminal labeled edges</span></div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c"> 98</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c">numOfStartEdges</a>; <span class="comment">// Number of start nonterminal labeled edges</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">// Solver</span></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#aa807cf1b8605a463d6d68d5096f3e0e8"> 100</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#aa807cf1b8605a463d6d68d5096f3e0e8">numOfIteration</a>; <span class="comment">// Number solving Iteration</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6"> 101</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6">numOfChecks</a>; <span class="comment">// Number of checks</span></div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8"> 102</a></span>  <span class="keyword">static</span> <span class="keywordtype">double</span> <a class="code" href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8">timeOfSolving</a>; <span class="comment">// time of solving CFL Reachability</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"></span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0"> 106</a></span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">svfir</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f"> 107</a></span>  <a class="code" href="classSVF_1_1CFLGraph.html">CFLGraph</a>* <a class="code" href="classSVF_1_1CFLBase.html#a8101683062b9a71c0b2309cbdfb7b26f">graph</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f"> 108</a></span>  <a class="code" href="classSVF_1_1GrammarBase.html">GrammarBase</a>* <a class="code" href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">grammarBase</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503"> 109</a></span>  <a class="code" href="classSVF_1_1CFLGrammar.html">CFLGrammar</a>* <a class="code" href="classSVF_1_1CFLBase.html#af7b0e90b8f8998ab6cf4e05155c7a503">grammar</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17"> 110</a></span>  <a class="code" href="classSVF_1_1CFLSolver.html">CFLSolver</a>* <a class="code" href="classSVF_1_1CFLBase.html#a34c3a3eec2d7d34ef78b5031d8844b17">solver</a>;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> };</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> </div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_CFL_CFLBASE_H_*/</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
|
|
70
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a7ee2fdf1c0cdf019c863870dc51c0b5d"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a7ee2fdf1c0cdf019c863870dc51c0b5d">SVF::CFLBase::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalize extra stat info passing. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00114">CFLBase.cpp:114</a></div></div>
|
|
71
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a9e6cbab31612da4a1f8f660d1fabc4c0"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9e6cbab31612da4a1f8f660d1fabc4c0">SVF::CFLBase::svfir</a></div><div class="ttdeci">SVFIR * svfir</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00106">CFLBase.h:106</a></div></div>
|
|
72
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_ac3b408acb295e2c319e3542539e6df47"><div class="ttname"><a href="classSVF_1_1CFLBase.html#ac3b408acb295e2c319e3542539e6df47">SVF::CFLBase::numOfTemporaryNonterminalEdges</a></div><div class="ttdeci">static double numOfTemporaryNonterminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00096">CFLBase.h:96</a></div></div>
|
|
73
|
+
<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>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1CFLGrammar_html"><div class="ttname"><a href="classSVF_1_1CFLGrammar.html">SVF::CFLGrammar</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00290">CFLGrammar.h:290</a></div></div>
|
|
75
75
|
<div class="ttc" id="ConsG_8h_html"><div class="ttname"><a href="ConsG_8h.html">ConsG.h</a></div></div>
|
|
76
76
|
<div class="ttc" id="classSVF_1_1CFLGraph_html"><div class="ttname"><a href="classSVF_1_1CFLGraph.html">SVF::CFLGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00155">CFLGraph.h:155</a></div></div>
|
|
77
|
-
<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#
|
|
78
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a22ab9bbaee16e06d04817db8c394cc0b"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a22ab9bbaee16e06d04817db8c394cc0b">SVF::CFLBase::getCFLGraph</a></div><div class="ttdeci">CFLGraph * getCFLGraph()</div><div class="ttdoc">Get CFL graph. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#
|
|
77
|
+
<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>
|
|
78
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a22ab9bbaee16e06d04817db8c394cc0b"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a22ab9bbaee16e06d04817db8c394cc0b">SVF::CFLBase::getCFLGraph</a></div><div class="ttdeci">CFLGraph * getCFLGraph()</div><div class="ttdoc">Get CFL graph. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00130">CFLBase.cpp:130</a></div></div>
|
|
79
79
|
<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>
|
|
80
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_aa807cf1b8605a463d6d68d5096f3e0e8"><div class="ttname"><a href="classSVF_1_1CFLBase.html#aa807cf1b8605a463d6d68d5096f3e0e8">SVF::CFLBase::numOfIteration</a></div><div class="ttdeci">static double numOfIteration</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00100">CFLBase.h:100</a></div></div>
|
|
80
81
|
<div class="ttc" id="PointerAnalysis_8h_html"><div class="ttname"><a href="PointerAnalysis_8h.html">PointerAnalysis.h</a></div></div>
|
|
81
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a4c03b83cb2a3c0c166d96550d6771a1b"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b">SVF::CFLBase::numOfNonterminalEdges</a></div><div class="ttdeci">static double numOfNonterminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
82
|
-
<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#
|
|
83
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_ad4d65dd4c3e173d014199ac6b08a5261"><div class="ttname"><a href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261">SVF::CFLBase::timeOfNormalizeGrammar</a></div><div class="ttdeci">static double timeOfNormalizeGrammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
82
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a4c03b83cb2a3c0c166d96550d6771a1b"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a4c03b83cb2a3c0c166d96550d6771a1b">SVF::CFLBase::numOfNonterminalEdges</a></div><div class="ttdeci">static double numOfNonterminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00097">CFLBase.h:97</a></div></div>
|
|
83
|
+
<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>
|
|
84
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_ad4d65dd4c3e173d014199ac6b08a5261"><div class="ttname"><a href="classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261">SVF::CFLBase::timeOfNormalizeGrammar</a></div><div class="ttdeci">static double timeOfNormalizeGrammar</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00092">CFLBase.h:92</a></div></div>
|
|
84
85
|
<div class="ttc" id="SVFBasicTypes_8h_html"><div class="ttname"><a href="SVFBasicTypes_8h.html">SVFBasicTypes.h</a></div></div>
|
|
85
86
|
<div class="ttc" id="CFLSolver_8h_html"><div class="ttname"><a href="CFLSolver_8h.html">CFLSolver.h</a></div></div>
|
|
86
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a2d1f2e2c7f8cbe07e0dda759a7424e6e"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a2d1f2e2c7f8cbe07e0dda759a7424e6e">SVF::CFLBase::solve</a></div><div class="ttdeci">virtual void solve()</div><div class="ttdoc">Solving CFL Reachability. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#
|
|
87
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a49b12231195521d2b53b045962f0a3f6"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6">SVF::CFLBase::numOfChecks</a></div><div class="ttdeci">static double numOfChecks</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
88
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a0d3217f4c3796b58a98add5c92298ad2"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2">SVF::CFLBase::timeOfBuildCFLGrammar</a></div><div class="ttdeci">static double timeOfBuildCFLGrammar</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
89
|
-
<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#
|
|
90
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a25a593cb2a855a93d3593efba382a58c"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c">SVF::CFLBase::numOfStartEdges</a></div><div class="ttdeci">static double numOfStartEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
91
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a2aac58e19676290042874c262f1edd4d"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a2aac58e19676290042874c262f1edd4d">SVF::CFLBase::analyze</a></div><div class="ttdeci">virtual void analyze()</div><div class="ttdoc">Perform analyze (main part of CFLR Analysis) </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#
|
|
92
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a9453bf479ccd00bacb3b371fa6383a9c"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c">SVF::CFLBase::timeOfBuildCFLGraph</a></div><div class="ttdeci">static double timeOfBuildCFLGraph</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
93
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_abc5502f15583f0546bbc2a678d2f2ed9"><div class="ttname"><a href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9">SVF::CFLBase::numOfTerminalEdges</a></div><div class="ttdeci">static double numOfTerminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
87
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a2d1f2e2c7f8cbe07e0dda759a7424e6e"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a2d1f2e2c7f8cbe07e0dda759a7424e6e">SVF::CFLBase::solve</a></div><div class="ttdeci">virtual void solve()</div><div class="ttdoc">Solving CFL Reachability. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00103">CFLBase.cpp:103</a></div></div>
|
|
88
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a49b12231195521d2b53b045962f0a3f6"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a49b12231195521d2b53b045962f0a3f6">SVF::CFLBase::numOfChecks</a></div><div class="ttdeci">static double numOfChecks</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00101">CFLBase.h:101</a></div></div>
|
|
89
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a0d3217f4c3796b58a98add5c92298ad2"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a0d3217f4c3796b58a98add5c92298ad2">SVF::CFLBase::timeOfBuildCFLGrammar</a></div><div class="ttdeci">static double timeOfBuildCFLGrammar</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00091">CFLBase.h:91</a></div></div>
|
|
90
|
+
<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>
|
|
91
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a25a593cb2a855a93d3593efba382a58c"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a25a593cb2a855a93d3593efba382a58c">SVF::CFLBase::numOfStartEdges</a></div><div class="ttdeci">static double numOfStartEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00098">CFLBase.h:98</a></div></div>
|
|
92
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a2aac58e19676290042874c262f1edd4d"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a2aac58e19676290042874c262f1edd4d">SVF::CFLBase::analyze</a></div><div class="ttdeci">virtual void analyze()</div><div class="ttdoc">Perform analyze (main part of CFLR Analysis) </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00121">CFLBase.cpp:121</a></div></div>
|
|
93
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a9453bf479ccd00bacb3b371fa6383a9c"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9453bf479ccd00bacb3b371fa6383a9c">SVF::CFLBase::timeOfBuildCFLGraph</a></div><div class="ttdeci">static double timeOfBuildCFLGraph</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00094">CFLBase.h:94</a></div></div>
|
|
94
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_abc5502f15583f0546bbc2a678d2f2ed9"><div class="ttname"><a href="classSVF_1_1CFLBase.html#abc5502f15583f0546bbc2a678d2f2ed9">SVF::CFLBase::numOfTerminalEdges</a></div><div class="ttdeci">static double numOfTerminalEdges</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00095">CFLBase.h:95</a></div></div>
|
|
94
95
|
<div class="ttc" id="CFLGramGraphChecker_8h_html"><div class="ttname"><a href="CFLGramGraphChecker_8h.html">CFLGramGraphChecker.h</a></div></div>
|
|
95
96
|
<div class="ttc" id="classSVF_1_1GrammarBase_html"><div class="ttname"><a href="classSVF_1_1GrammarBase.html">SVF::GrammarBase</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00036">CFLGrammar.h:36</a></div></div>
|
|
96
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_aef3da4ce970597586757cafd2a435c1f"><div class="ttname"><a href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">SVF::CFLBase::grammarBase</a></div><div class="ttdeci">GrammarBase * grammarBase</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
97
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_aef3da4ce970597586757cafd2a435c1f"><div class="ttname"><a href="classSVF_1_1CFLBase.html#aef3da4ce970597586757cafd2a435c1f">SVF::CFLBase::grammarBase</a></div><div class="ttdeci">GrammarBase * grammarBase</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00108">CFLBase.h:108</a></div></div>
|
|
97
98
|
<div class="ttc" id="Options_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
98
99
|
<div class="ttc" id="classSVF_1_1CFLBase_html_a9bcd55546fc9ec1fbbac2b257ffa3243"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a9bcd55546fc9ec1fbbac2b257ffa3243">SVF::CFLBase::~CFLBase</a></div><div class="ttdeci">virtual ~CFLBase()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00058">CFLBase.h:58</a></div></div>
|
|
99
|
-
<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#
|
|
100
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a824da17d03599090d4e3b4c50aeccff9"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a824da17d03599090d4e3b4c50aeccff9">SVF::CFLBase::countSumEdges</a></div><div class="ttdeci">virtual void countSumEdges()</div><div class="ttdoc">Count the num of Nonterminal Edges. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#
|
|
100
|
+
<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>
|
|
101
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a824da17d03599090d4e3b4c50aeccff9"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a824da17d03599090d4e3b4c50aeccff9">SVF::CFLBase::countSumEdges</a></div><div class="ttdeci">virtual void countSumEdges()</div><div class="ttdoc">Count the num of Nonterminal Edges. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00135">CFLBase.cpp:135</a></div></div>
|
|
101
102
|
<div class="ttc" id="classSVF_1_1CFLBase_html"><div class="ttname"><a href="classSVF_1_1CFLBase.html">SVF::CFLBase</a></div><div class="ttdoc">CFL Client Base Class. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00049">CFLBase.h:49</a></div></div>
|
|
102
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a88e40af43705550a78837b8589bbf3f8"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8">SVF::CFLBase::timeOfSolving</a></div><div class="ttdeci">static double timeOfSolving</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#
|
|
103
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a88e40af43705550a78837b8589bbf3f8"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a88e40af43705550a78837b8589bbf3f8">SVF::CFLBase::timeOfSolving</a></div><div class="ttdeci">static double timeOfSolving</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00102">CFLBase.h:102</a></div></div>
|
|
103
104
|
<div class="ttc" id="CFGNormalizer_8h_html"><div class="ttname"><a href="CFGNormalizer_8h.html">CFGNormalizer.h</a></div></div>
|
|
104
105
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
|
|
105
106
|
<div class="ttc" id="GrammarBuilder_8h_html"><div class="ttname"><a href="GrammarBuilder_8h.html">GrammarBuilder.h</a></div></div>
|
|
106
107
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">SVF::PointerAnalysis::PTATY</a></div><div class="ttdeci">PTATY</div><div class="ttdoc">Pointer analysis type list. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00062">PointerAnalysis.h:62</a></div></div>
|
|
107
|
-
<div class="ttc" id="classSVF_1_1CFLBase_html_a0daabb58bd7d5be40379ccc670c37a93"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a0daabb58bd7d5be40379ccc670c37a93">SVF::CFLBase::buildCFLGraph</a></div><div class="ttdeci">virtual void buildCFLGraph()</div><div class="ttdoc">Build CFLGraph based on Option. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#
|
|
108
|
+
<div class="ttc" id="classSVF_1_1CFLBase_html_a0daabb58bd7d5be40379ccc670c37a93"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a0daabb58bd7d5be40379ccc670c37a93">SVF::CFLBase::buildCFLGraph</a></div><div class="ttdeci">virtual void buildCFLGraph()</div><div class="ttdoc">Build CFLGraph based on Option. </div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8cpp_source.html#l00062">CFLBase.cpp:62</a></div></div>
|
|
108
109
|
<div class="ttc" id="CFLGraphBuilder_8h_html"><div class="ttname"><a href="CFLGraphBuilder_8h.html">CFLGraphBuilder.h</a></div></div>
|
|
109
110
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
110
111
|
<div class="ttc" id="classSVF_1_1CFLBase_html_a59c71b0eada5c763ce776f3618d08dd8"><div class="ttname"><a href="classSVF_1_1CFLBase.html#a59c71b0eada5c763ce776f3618d08dd8">SVF::CFLBase::CFLBase</a></div><div class="ttdeci">CFLBase(SVFIR *ir, PointerAnalysis::PTATY pty)</div><div class="ttdef"><b>Definition:</b> <a href="CFLBase_8h_source.html#l00053">CFLBase.h:53</a></div></div>
|
|
@@ -73,11 +73,13 @@ Variables</h2></td></tr>
|
|
|
73
73
|
<tr class="separator:a07b9538bf6c870253aed4d379891604c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
74
74
|
<tr class="memitem:a70678866f928eaca8c8322d57a451d0a"><td class="memItemLeft" align="right" valign="top">V <a class="el" href="PEGGrammar_8txt.html#a381299bc74db18cd7c54b9e856fca447">Fbar</a> V F <a class="el" href="PEGGrammar_8txt.html#ac0ba65b20304c39926bf018842207e87">addrbar</a> addr gepbar_i V gep_i gepbarpath V <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> gepbar_i F gep_i gepbar_i <a class="el" href="PEGGrammar_8txt.html#a381299bc74db18cd7c54b9e856fca447">Fbar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="CFLGrammar_8txt.html#a70678866f928eaca8c8322d57a451d0a">gep_i</a></td></tr>
|
|
75
75
|
<tr class="separator:a70678866f928eaca8c8322d57a451d0a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
76
|
-
<tr class="memitem:
|
|
77
|
-
<tr class="separator:
|
|
78
|
-
<tr class="memitem:
|
|
76
|
+
<tr class="memitem:a1181f56ceed612b4d77df931fa4dfaa9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="CFLGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a></td></tr>
|
|
77
|
+
<tr class="separator:a1181f56ceed612b4d77df931fa4dfaa9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
78
|
+
<tr class="memitem:a5cb31e8d975de240d0e0c173cb7f407f"><td class="memItemLeft" align="right" valign="top">copybar </td><td class="memItemRight" valign="bottom"><a class="el" href="CFLGrammar_8txt.html#a5cb31e8d975de240d0e0c173cb7f407f">vgepbar</a></td></tr>
|
|
79
|
+
<tr class="separator:a5cb31e8d975de240d0e0c173cb7f407f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
80
|
+
<tr class="memitem:a9a4e1871fa395956be13e1d7a5089719"><td class="memItemLeft" align="right" valign="top">gep_1 <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F <a class="el" href="CFLGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a> <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F </td><td class="memItemRight" valign="bottom"><a class="el" href="CFLGrammar_8txt.html#a9a4e1871fa395956be13e1d7a5089719">gep_1</a></td></tr>
|
|
79
81
|
<tr class="separator:a9a4e1871fa395956be13e1d7a5089719"><td class="memSeparator" colspan="2"> </td></tr>
|
|
80
|
-
<tr class="memitem:a2bd2d1614b7b4f376c61366b17c0637d"><td class="memItemLeft" align="right" valign="top">gepbar_1 gepbar_1 <a class="el" href="PEGGrammar_8txt.html#a381299bc74db18cd7c54b9e856fca447">Fbar</a> gepbar_0 <a class="el" href="CFLGrammar_8txt.html#
|
|
82
|
+
<tr class="memitem:a2bd2d1614b7b4f376c61366b17c0637d"><td class="memItemLeft" align="right" valign="top">gepbar_1 gepbar_1 <a class="el" href="PEGGrammar_8txt.html#a381299bc74db18cd7c54b9e856fca447">Fbar</a> gepbar_0 <a class="el" href="CFLGrammar_8txt.html#a5cb31e8d975de240d0e0c173cb7f407f">vgepbar</a> <a class="el" href="PEGGrammar_8txt.html#a381299bc74db18cd7c54b9e856fca447">Fbar</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="CFLGrammar_8txt.html#a2bd2d1614b7b4f376c61366b17c0637d">gepbar_0</a></td></tr>
|
|
81
83
|
<tr class="separator:a2bd2d1614b7b4f376c61366b17c0637d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
82
84
|
</table>
|
|
83
85
|
<h2 class="groupheader">Variable Documentation</h2>
|
|
@@ -104,7 +106,7 @@ Variables</h2></td></tr>
|
|
|
104
106
|
<div class="memproto">
|
|
105
107
|
<table class="memname">
|
|
106
108
|
<tr>
|
|
107
|
-
<td class="memname">gep_1 <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F vgep <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F gep_1</td>
|
|
109
|
+
<td class="memname">gep_1 <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F <a class="el" href="CFLGrammar_8txt.html#a1181f56ceed612b4d77df931fa4dfaa9">vgep</a> <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">gep_0</a> F gep_1</td>
|
|
108
110
|
</tr>
|
|
109
111
|
</table>
|
|
110
112
|
</div><div class="memdoc">
|
|
@@ -161,14 +163,30 @@ Variables</h2></td></tr>
|
|
|
161
163
|
|
|
162
164
|
</div>
|
|
163
165
|
</div>
|
|
164
|
-
<a id="
|
|
165
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
166
|
+
<a id="a1181f56ceed612b4d77df931fa4dfaa9"></a>
|
|
167
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a1181f56ceed612b4d77df931fa4dfaa9">◆ </a></span>vgep</h2>
|
|
166
168
|
|
|
167
169
|
<div class="memitem">
|
|
168
170
|
<div class="memproto">
|
|
169
171
|
<table class="memname">
|
|
170
172
|
<tr>
|
|
171
|
-
<td class="memname"><a class="el" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> vgep
|
|
173
|
+
<td class="memname"><a class="el" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a> vgep</td>
|
|
174
|
+
</tr>
|
|
175
|
+
</table>
|
|
176
|
+
</div><div class="memdoc">
|
|
177
|
+
|
|
178
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8txt_source.html#l00009">9</a> of file <a class="el" href="CFLGrammar_8txt_source.html">CFLGrammar.txt</a>.</p>
|
|
179
|
+
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
<a id="a5cb31e8d975de240d0e0c173cb7f407f"></a>
|
|
183
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5cb31e8d975de240d0e0c173cb7f407f">◆ </a></span>vgepbar</h2>
|
|
184
|
+
|
|
185
|
+
<div class="memitem">
|
|
186
|
+
<div class="memproto">
|
|
187
|
+
<table class="memname">
|
|
188
|
+
<tr>
|
|
189
|
+
<td class="memname">copybar vgepbar</td>
|
|
172
190
|
</tr>
|
|
173
191
|
</table>
|
|
174
192
|
</div><div class="memdoc">
|