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.
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -32
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CFLAlias_8cpp.html +1 -0
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +46 -13
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +36 -13
- package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +74 -77
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +165 -39
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +10 -10
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/Casting_8h_source.html +2 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -2
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -4
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Options_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -2
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +2 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +54 -53
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +70 -63
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +415 -95
- package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
- package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
- package/SVF-doxygen/html/html/cuddInt_8c.html +30 -30
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -3
- package/SVF-doxygen/html/html/cuddInt_8h.html +10 -10
- package/SVF-doxygen/html/html/cudd_8h.html +14 -14
- package/SVF-doxygen/html/html/cudd_8h_source.html +2 -2
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +11 -10
- package/SVF-doxygen/html/html/functions_c.html +30 -23
- package/SVF-doxygen/html/html/functions_func.html +12 -11
- package/SVF-doxygen/html/html/functions_func_c.html +11 -10
- package/SVF-doxygen/html/html/functions_func_h.html +3 -2
- package/SVF-doxygen/html/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/html/functions_func_o.html +4 -9
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_func_u.html +1 -0
- package/SVF-doxygen/html/html/functions_g.html +5 -8
- package/SVF-doxygen/html/html/functions_h.html +2 -1
- package/SVF-doxygen/html/html/functions_i.html +6 -6
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +14 -21
- package/SVF-doxygen/html/html/functions_p.html +12 -9
- package/SVF-doxygen/html/html/functions_r.html +4 -4
- package/SVF-doxygen/html/html/functions_s.html +10 -8
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_type_c.html +1 -0
- package/SVF-doxygen/html/html/functions_u.html +1 -0
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +6 -10
- package/SVF-doxygen/html/html/globals_a.html +3 -0
- package/SVF-doxygen/html/html/globals_f.html +2 -2
- package/SVF-doxygen/html/html/globals_g.html +10 -4
- package/SVF-doxygen/html/html/globals_l.html +4 -1
- package/SVF-doxygen/html/html/globals_m.html +15 -12
- package/SVF-doxygen/html/html/globals_s.html +17 -13
- package/SVF-doxygen/html/html/globals_vars.html +26 -5
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -12
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +2 -1
- package/SVF-doxygen/html/html/search/all_10.js +8 -7
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +12 -11
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +2 -2
- package/SVF-doxygen/html/html/search/all_5.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +4 -3
- package/SVF-doxygen/html/html/search/all_8.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +6 -5
- package/SVF-doxygen/html/html/search/all_d.js +3 -2
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +7 -9
- package/SVF-doxygen/html/html/search/functions_0.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_7.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +4 -6
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +1 -0
- package/SVF-doxygen/html/html/search/variables_10.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +2 -0
- package/SVF-doxygen/html/html/search/variables_14.js +4 -4
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_6.js +2 -2
- package/SVF-doxygen/html/html/search/variables_7.js +4 -3
- package/SVF-doxygen/html/html/search/variables_c.js +3 -2
- package/SVF-doxygen/html/html/search/variables_d.js +1 -0
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol-members.html +10 -13
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +44 -145
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +6 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +4 -3
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/CFL/CFLAlias.h +50 -4
- package/include/CFL/CFLGrammar.h +9 -28
- package/include/CFL/CFLGrammar.txt +22 -1
- package/include/CFL/CFLSolver.h +10 -8
- package/include/Graphs/CFLGraph.h +0 -1
- package/include/Graphs/GraphPrinter.h +3 -3
- package/include/Util/ExtAPI.h +1 -1
- package/{lib → include}/Util/ExtAPI.json +0 -0
- package/include/Util/Options.h +2 -2
- package/lib/CFL/CFGNormalizer.cpp +8 -14
- package/lib/CFL/CFLAlias.cpp +175 -6
- package/lib/CFL/CFLSolver.cpp +1 -0
- package/lib/Graphs/CFLGraph.cpp +0 -4
- package/lib/Util/Options.cpp +8 -8
- 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#
|
|
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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
426
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> ((attribute << <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>  }</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<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#
|
|
454
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</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< Kind > 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<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#
|
|
482
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  }</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< Kind, Set< Attribute > > 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<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#
|
|
510
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</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< std::string, Kind > 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<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#
|
|
538
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</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< Symbol, Productions > 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<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#
|
|
566
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</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<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#
|
|
605
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> prod.at(pos);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  }</div></div><!-- fragment -->
|
|
606
606
|
</div>
|
|
607
607
|
</div>
|
|
608
608
|
<a id="a44232dfc5b9a13dfe9b72ff18634ab37"></a>
|
|
@@ -628,8 +628,8 @@ template<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#
|
|
632
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  }</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< std::string, Kind > 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<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#
|
|
660
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  }</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<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#
|
|
699
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">return</span> ((variableAttribute << <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>  }</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<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> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <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>  <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>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <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>  }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<CFLGrammar::Attribute></a> attrs {attribute};</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <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>  }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</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< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
730
|
+
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <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>  <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>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <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>  }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<CFLGrammar::Attribute></a> attrs {attribute};</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <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>  }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</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< Kind > 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< Key, Hash, KeyEqual, Allocator > 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< Kind, Set< Attribute > > kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< Kind, Set< Attribute > > 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<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> {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <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>  <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>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  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>  <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>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  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>  }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</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#
|
|
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< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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<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> {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <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>  <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>  <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>  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> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <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>  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>  }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <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>  {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVFUtil::errMsg</a>(<span class="stringliteral">"\t Symbol Attribute Parse Failure :"</span>) << symbolStr</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <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>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</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< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< Kind > 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 & 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<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> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <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>  <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>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  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>  <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>  }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  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>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</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< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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#
|
|
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< std::string, Kind > 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<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> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  key = i.first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  nkey = ni.first;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</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< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
865
|
+
<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  key = i.first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  nkey = ni.first;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</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< std::string, Kind > 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< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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<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> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  this-><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> }</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< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
888
|
+
<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  this-><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> }</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< Kind > 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<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> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  this-><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> }</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< Kind, Set< Attribute > > kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
909
|
+
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  this-><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> }</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< Kind, Set< Attribute > > 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<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#
|
|
938
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  this-><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>  }</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< std::string, Kind > 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<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> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  this-><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> }</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< Symbol, Productions > rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
959
|
+
<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  this-><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> }</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< Symbol, Productions > 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<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#
|
|
988
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  this-><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>  }</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<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#
|
|
1017
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  this-><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>  }</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< std::string, Kind > 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<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#
|
|
1046
|
-
<div class="fragment"><div class="line"><a name="
|
|
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>  {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  this-><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>  }</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<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> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <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>  <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>  <span class="keywordflow">return</span> tit->second;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <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>  <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>  <span class="keywordflow">return</span> nit->second;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"kind not found!"</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</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< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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<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> {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <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>  <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> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  key = i.first;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  key.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  key.append(std::to_string(attribute));</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &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>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  nkey = ni.first;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  nkey.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  nkey.append(std::to_string(attribute));</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</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< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
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< std::string, Kind > 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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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<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#
|
|
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>
|