svf-tools 1.0.483 → 1.0.486

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 (275) hide show
  1. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -1
  2. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -1
  3. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -1
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -1
  5. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -1
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -1
  7. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -1
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -2
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +2 -1
  11. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -32
  13. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
  14. package/SVF-doxygen/html/html/CFLAlias_8cpp.html +1 -0
  15. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +46 -13
  16. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +36 -13
  17. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +8 -8
  19. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +74 -77
  20. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +165 -39
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +4 -4
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +16 -16
  26. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +10 -10
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +3 -2
  28. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/CHG_8cpp_source.html +3 -2
  30. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  33. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -1
  34. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -2
  35. package/SVF-doxygen/html/html/Casting_8h_source.html +2 -1
  36. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -3
  37. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -1
  39. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -1
  41. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -1
  42. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -1
  43. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -1
  45. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -1
  46. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -2
  48. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -1
  50. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -1
  51. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -1
  52. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
  53. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -1
  54. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -4
  58. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -2
  59. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -1
  60. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -2
  61. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -2
  63. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -1
  65. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -1
  67. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -1
  68. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -2
  69. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -2
  70. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -2
  71. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -2
  72. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -2
  74. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  76. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -2
  77. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -1
  79. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -1
  80. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -2
  81. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/html/Options_8h_source.html +4 -4
  84. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -1
  85. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -2
  86. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -2
  87. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +2 -1
  89. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -2
  90. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -1
  91. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -1
  92. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -1
  94. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -1
  95. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -2
  96. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -2
  97. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -2
  99. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
  100. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -1
  101. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -1
  102. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  103. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  104. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -2
  105. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -1
  106. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -1
  108. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -1
  109. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
  110. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -2
  111. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -1
  112. package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -2
  113. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  114. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
  115. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -1
  116. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -1
  117. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  118. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +2 -1
  119. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -2
  120. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  121. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -1
  122. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  123. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  124. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +54 -53
  135. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +70 -63
  136. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +415 -95
  137. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +25 -25
  138. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +51 -51
  140. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +4 -4
  141. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +39 -39
  142. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +4 -4
  143. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -13
  145. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +58 -58
  146. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +3 -3
  147. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +3 -3
  148. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  149. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  152. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
  155. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  156. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +38 -38
  159. package/SVF-doxygen/html/html/classSVF_1_1Options.html +30 -30
  160. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -4
  165. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  167. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  168. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
  169. package/SVF-doxygen/html/html/cuddInt_8c.html +30 -30
  170. package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -3
  171. package/SVF-doxygen/html/html/cuddInt_8h.html +10 -10
  172. package/SVF-doxygen/html/html/cudd_8h.html +14 -14
  173. package/SVF-doxygen/html/html/cudd_8h_source.html +2 -2
  174. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  175. package/SVF-doxygen/html/html/functions_a.html +11 -10
  176. package/SVF-doxygen/html/html/functions_c.html +30 -23
  177. package/SVF-doxygen/html/html/functions_func.html +12 -11
  178. package/SVF-doxygen/html/html/functions_func_c.html +11 -10
  179. package/SVF-doxygen/html/html/functions_func_h.html +3 -2
  180. package/SVF-doxygen/html/html/functions_func_n.html +1 -1
  181. package/SVF-doxygen/html/html/functions_func_o.html +4 -9
  182. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  183. package/SVF-doxygen/html/html/functions_func_u.html +1 -0
  184. package/SVF-doxygen/html/html/functions_g.html +5 -8
  185. package/SVF-doxygen/html/html/functions_h.html +2 -1
  186. package/SVF-doxygen/html/html/functions_i.html +6 -6
  187. package/SVF-doxygen/html/html/functions_l.html +5 -5
  188. package/SVF-doxygen/html/html/functions_n.html +1 -1
  189. package/SVF-doxygen/html/html/functions_o.html +14 -21
  190. package/SVF-doxygen/html/html/functions_p.html +12 -9
  191. package/SVF-doxygen/html/html/functions_r.html +4 -4
  192. package/SVF-doxygen/html/html/functions_s.html +10 -8
  193. package/SVF-doxygen/html/html/functions_t.html +3 -3
  194. package/SVF-doxygen/html/html/functions_type_c.html +1 -0
  195. package/SVF-doxygen/html/html/functions_u.html +1 -0
  196. package/SVF-doxygen/html/html/functions_v.html +3 -3
  197. package/SVF-doxygen/html/html/functions_vars_c.html +1 -0
  198. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  199. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  200. package/SVF-doxygen/html/html/functions_w.html +6 -10
  201. package/SVF-doxygen/html/html/globals_a.html +3 -0
  202. package/SVF-doxygen/html/html/globals_f.html +2 -2
  203. package/SVF-doxygen/html/html/globals_g.html +10 -4
  204. package/SVF-doxygen/html/html/globals_l.html +4 -1
  205. package/SVF-doxygen/html/html/globals_m.html +15 -12
  206. package/SVF-doxygen/html/html/globals_s.html +17 -13
  207. package/SVF-doxygen/html/html/globals_vars.html +26 -5
  208. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  209. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  211. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -12
  212. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  213. package/SVF-doxygen/html/html/search/all_1.js +2 -1
  214. package/SVF-doxygen/html/html/search/all_10.js +8 -7
  215. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  216. package/SVF-doxygen/html/html/search/all_13.js +12 -11
  217. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  218. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  219. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  220. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  221. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  222. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  223. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  224. package/SVF-doxygen/html/html/search/all_7.js +4 -3
  225. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  227. package/SVF-doxygen/html/html/search/all_c.js +6 -5
  228. package/SVF-doxygen/html/html/search/all_d.js +3 -2
  229. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  230. package/SVF-doxygen/html/html/search/all_f.js +7 -9
  231. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  232. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  233. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  234. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  235. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  236. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  237. package/SVF-doxygen/html/html/search/functions_e.js +4 -6
  238. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  239. package/SVF-doxygen/html/html/search/variables_1.js +1 -0
  240. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  241. package/SVF-doxygen/html/html/search/variables_13.js +2 -0
  242. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  243. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  244. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  245. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  246. package/SVF-doxygen/html/html/search/variables_7.js +4 -3
  247. package/SVF-doxygen/html/html/search/variables_c.js +3 -2
  248. package/SVF-doxygen/html/html/search/variables_d.js +1 -0
  249. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  250. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol-members.html +10 -13
  251. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +44 -145
  252. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +3 -3
  253. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +6 -5
  254. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -3
  255. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +4 -3
  256. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  257. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  258. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  259. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  260. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  261. package/include/CFL/CFLAlias.h +50 -4
  262. package/include/CFL/CFLGrammar.h +9 -28
  263. package/include/CFL/CFLGrammar.txt +22 -1
  264. package/include/CFL/CFLSolver.h +10 -8
  265. package/include/Graphs/CFLGraph.h +0 -1
  266. package/include/Graphs/GraphPrinter.h +3 -3
  267. package/include/Util/ExtAPI.h +1 -1
  268. package/{lib → include}/Util/ExtAPI.json +0 -0
  269. package/include/Util/Options.h +2 -2
  270. package/lib/CFL/CFGNormalizer.cpp +8 -14
  271. package/lib/CFL/CFLAlias.cpp +175 -6
  272. package/lib/CFL/CFLSolver.cpp +1 -0
  273. package/lib/Graphs/CFLGraph.cpp +0 -4
  274. package/lib/Util/Options.cpp +8 -8
  275. package/package.json +1 -1
@@ -259,7 +259,7 @@ Private Attributes</h2></td></tr>
259
259
  </table>
260
260
  </div><div class="memdoc">
261
261
 
262
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00175">175</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
262
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00156">156</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
263
263
 
264
264
  </div>
265
265
  </div>
@@ -275,7 +275,7 @@ Private Attributes</h2></td></tr>
275
275
  </table>
276
276
  </div><div class="memdoc">
277
277
 
278
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00176">176</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
278
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00157">157</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
279
279
 
280
280
  </div>
281
281
  </div>
@@ -307,7 +307,7 @@ template&lt;typename Key , typename Value , typename Hash = SymbolHash, typenam
307
307
  </table>
308
308
  </div><div class="memdoc">
309
309
 
310
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00169">169</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
310
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00150">150</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
311
311
 
312
312
  </div>
313
313
  </div>
@@ -325,7 +325,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
325
325
  </table>
326
326
  </div><div class="memdoc">
327
327
 
328
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00173">173</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
328
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00154">154</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
329
329
 
330
330
  </div>
331
331
  </div>
@@ -422,8 +422,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
422
422
  </table>
423
423
  </div><div class="memdoc">
424
424
 
425
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00270">270</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
426
- <div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> ((attribute &lt;&lt; <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>)| kind );</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_adc1413dc2e875a6e74bdb5b985cdd39f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">SVF::GrammarBase::EdgeKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char EdgeKindMaskBits</div><div class="ttdoc">We use the lower 8 bits to denote edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00281">CFLGrammar.h:281</a></div></div>
425
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00251">251</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
426
+ <div class="fragment"><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="keywordflow">return</span> ((attribute &lt;&lt; <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>)| kind );</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_adc1413dc2e875a6e74bdb5b985cdd39f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">SVF::GrammarBase::EdgeKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char EdgeKindMaskBits</div><div class="ttdoc">We use the lower 8 bits to denote edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00262">CFLGrammar.h:262</a></div></div>
427
427
  </div><!-- fragment -->
428
428
  </div>
429
429
  </div>
@@ -450,8 +450,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
450
450
  </table>
451
451
  </div><div class="memdoc">
452
452
 
453
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00252">252</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
454
- <div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
453
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00233">233</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
454
+ <div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00269">CFLGrammar.h:269</a></div></div>
455
455
  </div><!-- fragment -->
456
456
  </div>
457
457
  </div>
@@ -478,8 +478,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
478
478
  </table>
479
479
  </div><div class="memdoc">
480
480
 
481
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00204">204</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
482
- <div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00289">CFLGrammar.h:289</a></div></div>
481
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00185">185</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
482
+ <div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00270">CFLGrammar.h:270</a></div></div>
483
483
  </div><!-- fragment -->
484
484
  </div>
485
485
  </div>
@@ -506,8 +506,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
506
506
  </table>
507
507
  </div><div class="memdoc">
508
508
 
509
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00179">179</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
510
- <div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
509
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00160">160</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
510
+ <div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
511
511
  </div><!-- fragment -->
512
512
  </div>
513
513
  </div>
@@ -534,8 +534,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
534
534
  </table>
535
535
  </div><div class="memdoc">
536
536
 
537
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00199">199</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
538
- <div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a5ba80e2f28d7b7a722a24901fcaf4ffd"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">SVF::GrammarBase::rawProductions</a></div><div class="ttdeci">SymbolMap&lt; Symbol, Productions &gt; rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00290">CFLGrammar.h:290</a></div></div>
537
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00180">180</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
538
+ <div class="fragment"><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a5ba80e2f28d7b7a722a24901fcaf4ffd"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">SVF::GrammarBase::rawProductions</a></div><div class="ttdeci">SymbolMap&lt; Symbol, Productions &gt; rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00271">CFLGrammar.h:271</a></div></div>
539
539
  </div><!-- fragment -->
540
540
  </div>
541
541
  </div>
@@ -562,8 +562,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
562
562
  </table>
563
563
  </div><div class="memdoc">
564
564
 
565
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00214">214</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
566
- <div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a604cb7d4850cfd12d3b8730e0cab84af"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">SVF::GrammarBase::startKind</a></div><div class="ttdeci">Kind startKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
565
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00195">195</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
566
+ <div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a604cb7d4850cfd12d3b8730e0cab84af"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">SVF::GrammarBase::startKind</a></div><div class="ttdeci">Kind startKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00265">CFLGrammar.h:265</a></div></div>
567
567
  </div><!-- fragment -->
568
568
  </div>
569
569
  </div>
@@ -601,8 +601,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
601
601
  </table>
602
602
  </div><div class="memdoc">
603
603
 
604
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00247">247</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
605
- <div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">return</span> prod.at(pos);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div></div><!-- fragment -->
604
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00228">228</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
605
+ <div class="fragment"><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">return</span> prod.at(pos);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; }</div></div><!-- fragment -->
606
606
  </div>
607
607
  </div>
608
608
  <a id="a44232dfc5b9a13dfe9b72ff18634ab37"></a>
@@ -628,8 +628,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
628
628
  </table>
629
629
  </div><div class="memdoc">
630
630
 
631
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00189">189</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
632
- <div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
631
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00170">170</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
632
+ <div class="fragment"><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
633
633
  </div><!-- fragment -->
634
634
  </div>
635
635
  </div>
@@ -656,8 +656,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
656
656
  </table>
657
657
  </div><div class="memdoc">
658
658
 
659
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00209">209</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
660
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
659
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00190">190</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
660
+ <div class="fragment"><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00272">CFLGrammar.h:272</a></div></div>
661
661
  </div><!-- fragment -->
662
662
  </div>
663
663
  </div>
@@ -695,8 +695,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
695
695
  </table>
696
696
  </div><div class="memdoc">
697
697
 
698
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00275">275</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
699
- <div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">return</span> ((variableAttribute &lt;&lt; <a class="code" href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">AttributedKindMaskBits</a>) | kind);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a2dcb7647b5be7b3ab1dad2c494828854"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">SVF::GrammarBase::AttributedKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char AttributedKindMaskBits</div><div class="ttdoc">We use the lower 24 bits to denote attributed kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00282">CFLGrammar.h:282</a></div></div>
698
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00256">256</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
699
+ <div class="fragment"><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">return</span> ((variableAttribute &lt;&lt; <a class="code" href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">AttributedKindMaskBits</a>) | kind);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a2dcb7647b5be7b3ab1dad2c494828854"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">SVF::GrammarBase::AttributedKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char AttributedKindMaskBits</div><div class="ttdoc">We use the lower 24 bits to denote attributed kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00263">CFLGrammar.h:263</a></div></div>
700
700
  </div><!-- fragment -->
701
701
  </div>
702
702
  </div>
@@ -727,9 +727,9 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
727
727
  </div><div class="memdoc">
728
728
 
729
729
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00262">262</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
730
- <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;{</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(kind);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.find(kind)!= <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.end())</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>[kind].insert(attribute);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;CFLGrammar::Attribute&gt;</a> attrs {attribute};</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.insert(make_pair(kind, attrs));</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
730
+ <div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;{</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(kind);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.find(kind)!= <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.end())</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>[kind].insert(attribute);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set&lt;CFLGrammar::Attribute&gt;</a> attrs {attribute};</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.insert(make_pair(kind, attrs));</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00269">CFLGrammar.h:269</a></div></div>
731
731
  <div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set&lt; Key, Hash, KeyEqual, Allocator &gt; Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
732
- <div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00289">CFLGrammar.h:289</a></div></div>
732
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00270">CFLGrammar.h:270</a></div></div>
733
733
  </div><!-- fragment -->
734
734
  </div>
735
735
  </div>
@@ -761,9 +761,9 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
761
761
 
762
762
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00178">178</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
763
763
  <div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;{</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.find(kindStr) == <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.end())</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ad2d56d8cdc4539d4201d1995fb36e772"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">SVF::GrammarBase::str2Kind</a></div><div class="ttdeci">Kind str2Kind(std::string str) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00055">CFLGrammar.cpp:55</a></div></div>
764
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
764
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00272">CFLGrammar.h:272</a></div></div>
765
765
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
766
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
766
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
767
767
  </div><!-- fragment -->
768
768
  </div>
769
769
  </div>
@@ -786,7 +786,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
786
786
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00231">231</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
787
787
  <div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160;{</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> kindStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">extractKindStrFromSymbolStr</a>(symbolStr);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attributeStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">extractAttributeStrFromSymbolStr</a>(symbolStr);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac15b20ef3698ddab09c4c60e302ea4a0">insertNonterminalKind</a>(kindStr);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">&quot;&quot;</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">if</span> ( (attributeStr.size() == 1) &amp;&amp; (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &amp;c : attributeStr)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">if</span> ( std::isdigit(c) == <span class="keyword">false</span> )</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVFUtil::errMsg</a>(<span class="stringliteral">&quot;\t Symbol Attribute Parse Failure :&quot;</span>) &lt;&lt; symbolStr</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; &lt;&lt; <span class="stringliteral">&quot; Attribute:&quot;</span> &lt;&lt; attributeStr &lt;&lt; <span class="stringliteral">&quot; (only number or single alphabet.)&quot;</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;grammar loading failed!&quot;</span>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
788
788
  <div class="ttc" id="classSVF_1_1GrammarBase_html_ac15b20ef3698ddab09c4c60e302ea4a0"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac15b20ef3698ddab09c4c60e302ea4a0">SVF::GrammarBase::insertNonterminalKind</a></div><div class="ttdeci">Kind insertNonterminalKind(std::string const kindStr)</div><div class="ttdoc">Insert kind to nonterminal and return kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00178">CFLGrammar.cpp:178</a></div></div>
789
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
789
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00269">CFLGrammar.h:269</a></div></div>
790
790
  <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
791
791
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
792
792
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a9cc406edc117b3abd07a85f66ca892a0"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">SVF::GrammarBase::extractKindStrFromSymbolStr</a></div><div class="ttdeci">std::string extractKindStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00193">CFLGrammar.cpp:193</a></div></div>
@@ -839,8 +839,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
839
839
 
840
840
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00163">163</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
841
841
  <div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;{</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.find(kindStr) == <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.end())</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ad2d56d8cdc4539d4201d1995fb36e772"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">SVF::GrammarBase::str2Kind</a></div><div class="ttdeci">Kind str2Kind(std::string str) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00055">CFLGrammar.cpp:55</a></div></div>
842
- <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
843
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
842
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
843
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00272">CFLGrammar.h:272</a></div></div>
844
844
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
845
845
  </div><!-- fragment -->
846
846
  </div>
@@ -862,9 +862,9 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
862
862
  </div><div class="memdoc">
863
863
 
864
864
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00099">99</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
865
- <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;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</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; <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; key = i.first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</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="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;ni : <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>)</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; <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; nkey = ni.first;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
865
+ <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;</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</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; <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; key = i.first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</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="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;ni : <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>)</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; <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; nkey = ni.first;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
866
866
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
867
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
867
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
868
868
  </div><!-- fragment -->
869
869
  </div>
870
870
  </div>
@@ -885,7 +885,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
885
885
  </div><div class="memdoc">
886
886
 
887
887
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00050">50</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
888
- <div class="fragment"><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; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
888
+ <div class="fragment"><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; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set&lt; Kind &gt; attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00269">CFLGrammar.h:269</a></div></div>
889
889
  </div><!-- fragment -->
890
890
  </div>
891
891
  </div>
@@ -906,7 +906,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
906
906
  </div><div class="memdoc">
907
907
 
908
908
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00045">45</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
909
- <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00289">CFLGrammar.h:289</a></div></div>
909
+ <div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;{</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map&lt; Kind, Set&lt; Attribute &gt; &gt; kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00270">CFLGrammar.h:270</a></div></div>
910
910
  </div><!-- fragment -->
911
911
  </div>
912
912
  </div>
@@ -934,8 +934,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
934
934
  </table>
935
935
  </div><div class="memdoc">
936
936
 
937
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00184">184</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
938
- <div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
937
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00165">165</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
938
+ <div class="fragment"><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
939
939
  </div><!-- fragment -->
940
940
  </div>
941
941
  </div>
@@ -956,7 +956,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
956
956
  </div><div class="memdoc">
957
957
 
958
958
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00040">40</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
959
- <div class="fragment"><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; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a5ba80e2f28d7b7a722a24901fcaf4ffd"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">SVF::GrammarBase::rawProductions</a></div><div class="ttdeci">SymbolMap&lt; Symbol, Productions &gt; rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00290">CFLGrammar.h:290</a></div></div>
959
+ <div class="fragment"><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; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a5ba80e2f28d7b7a722a24901fcaf4ffd"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">SVF::GrammarBase::rawProductions</a></div><div class="ttdeci">SymbolMap&lt; Symbol, Productions &gt; rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00271">CFLGrammar.h:271</a></div></div>
960
960
  </div><!-- fragment -->
961
961
  </div>
962
962
  </div>
@@ -984,8 +984,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
984
984
  </table>
985
985
  </div><div class="memdoc">
986
986
 
987
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00219">219</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
988
- <div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a604cb7d4850cfd12d3b8730e0cab84af"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">SVF::GrammarBase::startKind</a></div><div class="ttdeci">Kind startKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
987
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00200">200</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
988
+ <div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a604cb7d4850cfd12d3b8730e0cab84af"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">SVF::GrammarBase::startKind</a></div><div class="ttdeci">Kind startKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00265">CFLGrammar.h:265</a></div></div>
989
989
  </div><!-- fragment -->
990
990
  </div>
991
991
  </div>
@@ -1013,8 +1013,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1013
1013
  </table>
1014
1014
  </div><div class="memdoc">
1015
1015
 
1016
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00194">194</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1017
- <div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
1016
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00175">175</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1017
+ <div class="fragment"><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
1018
1018
  </div><!-- fragment -->
1019
1019
  </div>
1020
1020
  </div>
@@ -1042,8 +1042,8 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1042
1042
  </table>
1043
1043
  </div><div class="memdoc">
1044
1044
 
1045
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00224">224</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1046
- <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
1045
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00205">205</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1046
+ <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; this-&gt;<a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00272">CFLGrammar.h:272</a></div></div>
1047
1047
  </div><!-- fragment -->
1048
1048
  </div>
1049
1049
  </div>
@@ -1065,9 +1065,9 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1065
1065
 
1066
1066
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00055">55</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
1067
1067
  <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;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keyword">auto</span> tit = <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.find(str);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span>(tit!=<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.end())</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> tit-&gt;second;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keyword">auto</span> nit = <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.find(str);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span>(nit!=<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.end())</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> nit-&gt;second;</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; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;kind not found!&quot;</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
1068
- <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
1068
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
1069
1069
  <div class="ttc" id="util_8h_html_a23c00958edf66c39625a0d535dee57b7"><div class="ttname"><a href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a></div><div class="ttdeci">VOID_OR_INT abort()</div></div>
1070
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
1070
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
1071
1071
  </div><!-- fragment -->
1072
1072
  </div>
1073
1073
  </div>
@@ -1118,10 +1118,10 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1118
1118
 
1119
1119
  <p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00125">125</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
1120
1120
  <div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;{</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind = sym.kind;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> attribute = sym.attribute;</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; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;i : <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; key = i.first;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; key.append(<span class="stringliteral">&quot;_&quot;</span>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; key.append(std::to_string(attribute));</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;ni : <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; nkey = ni.first;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; nkey.append(<span class="stringliteral">&quot;_&quot;</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; nkey.append(std::to_string(attribute));</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;&quot;</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;}</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ab070e5449d26e347b957d8b994d0303f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">SVF::GrammarBase::Attribute</a></div><div class="ttdeci">u32_t Attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00040">CFLGrammar.h:40</a></div></div>
1121
- <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
1121
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00268">CFLGrammar.h:268</a></div></div>
1122
1122
  <div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
1123
1123
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
1124
- <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
1124
+ <div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map&lt; std::string, Kind &gt; nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00267">CFLGrammar.h:267</a></div></div>
1125
1125
  </div><!-- fragment -->
1126
1126
  </div>
1127
1127
  </div>
@@ -1148,7 +1148,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1148
1148
 
1149
1149
  <p>We use the lower 24 bits to denote attributed kind. </p>
1150
1150
 
1151
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00282">282</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1151
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00263">263</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1152
1152
 
1153
1153
  </div>
1154
1154
  </div>
@@ -1172,7 +1172,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1172
1172
  </table>
1173
1173
  </div><div class="memdoc">
1174
1174
 
1175
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00288">288</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1175
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00269">269</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1176
1176
 
1177
1177
  </div>
1178
1178
  </div>
@@ -1196,7 +1196,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1196
1196
  </table>
1197
1197
  </div><div class="memdoc">
1198
1198
 
1199
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00283">283</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1199
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00264">264</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1200
1200
 
1201
1201
  </div>
1202
1202
  </div>
@@ -1222,7 +1222,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1222
1222
 
1223
1223
  <p>We use the lower 8 bits to denote edge kind. </p>
1224
1224
 
1225
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00281">281</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1225
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00262">262</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1226
1226
 
1227
1227
  </div>
1228
1228
  </div>
@@ -1246,7 +1246,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1246
1246
  </table>
1247
1247
  </div><div class="memdoc">
1248
1248
 
1249
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00289">289</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1249
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00270">270</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1250
1250
 
1251
1251
  </div>
1252
1252
  </div>
@@ -1270,7 +1270,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1270
1270
  </table>
1271
1271
  </div><div class="memdoc">
1272
1272
 
1273
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00286">286</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1273
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00267">267</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1274
1274
 
1275
1275
  </div>
1276
1276
  </div>
@@ -1294,7 +1294,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1294
1294
  </table>
1295
1295
  </div><div class="memdoc">
1296
1296
 
1297
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00290">290</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1297
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00271">271</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1298
1298
 
1299
1299
  </div>
1300
1300
  </div>
@@ -1318,7 +1318,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1318
1318
  </table>
1319
1319
  </div><div class="memdoc">
1320
1320
 
1321
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00284">284</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1321
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00265">265</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1322
1322
 
1323
1323
  </div>
1324
1324
  </div>
@@ -1342,7 +1342,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1342
1342
  </table>
1343
1343
  </div><div class="memdoc">
1344
1344
 
1345
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00287">287</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1345
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00268">268</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1346
1346
 
1347
1347
  </div>
1348
1348
  </div>
@@ -1366,7 +1366,7 @@ template&lt;typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
1366
1366
  </table>
1367
1367
  </div><div class="memdoc">
1368
1368
 
1369
- <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00291">291</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1369
+ <p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00272">272</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
1370
1370
 
1371
1371
  </div>
1372
1372
  </div>