svf-tools 1.0.581 → 1.0.583
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/AndersenPWC_8h_source.html +1 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -30
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +15 -16
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +11 -9
- package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +23 -21
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +70 -66
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +28 -262
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +37 -20
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +22 -19
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +18 -15
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CFLStat_8h_source.html +8 -11
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +1 -4
- package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -7
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -3
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -4
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -5
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -5
- 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 +4 -4
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -4
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -3
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -3
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/PEGGrammar_8txt.html +6 -6
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -2
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +1 -2
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +1 -2
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -5
- package/SVF-doxygen/html/html/VFG_8h_source.html +3 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +1 -3
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +58 -56
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +47 -42
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +79 -26
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge-members.html +19 -18
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +43 -20
- package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +40 -37
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +55 -49
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +19 -9
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +379 -20
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +12 -9
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +144 -53
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat-members.html +31 -32
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +50 -78
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +2 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +14 -10
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -17
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +6 -10
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -14
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +6 -10
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +23 -19
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +197 -78
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +5 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -7
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +13 -25
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +6 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +14 -20
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +4 -5
- package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -2
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions.html +0 -3
- package/SVF-doxygen/html/html/functions_a.html +14 -4
- package/SVF-doxygen/html/html/functions_c.html +38 -30
- package/SVF-doxygen/html/html/functions_e.html +4 -1
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +16 -6
- package/SVF-doxygen/html/html/functions_func_c.html +29 -27
- package/SVF-doxygen/html/html/functions_func_g.html +25 -16
- package/SVF-doxygen/html/html/functions_func_i.html +8 -4
- package/SVF-doxygen/html/html/functions_func_p.html +4 -1
- package/SVF-doxygen/html/html/functions_func_r.html +8 -2
- package/SVF-doxygen/html/html/functions_func_s.html +12 -9
- package/SVF-doxygen/html/html/functions_g.html +23 -14
- package/SVF-doxygen/html/html/functions_i.html +20 -13
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_n.html +9 -4
- package/SVF-doxygen/html/html/functions_o.html +21 -10
- package/SVF-doxygen/html/html/functions_p.html +16 -17
- package/SVF-doxygen/html/html/functions_r.html +7 -1
- package/SVF-doxygen/html/html/functions_s.html +8 -5
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_type_c.html +6 -0
- package/SVF-doxygen/html/html/functions_vars.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_i.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_n.html +6 -1
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/globals_a.html +0 -4
- package/SVF-doxygen/html/html/globals_c.html +7 -8
- package/SVF-doxygen/html/html/globals_e.html +1 -2
- package/SVF-doxygen/html/html/globals_f.html +4 -8
- package/SVF-doxygen/html/html/globals_g.html +4 -8
- package/SVF-doxygen/html/html/globals_l.html +2 -8
- package/SVF-doxygen/html/html/globals_m.html +1 -4
- package/SVF-doxygen/html/html/globals_s.html +3 -6
- package/SVF-doxygen/html/html/globals_v.html +1 -4
- package/SVF-doxygen/html/html/globals_vars.html +22 -55
- package/SVF-doxygen/html/html/menudata.js +0 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +4 -4
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +9 -15
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_0.js +0 -1
- package/SVF-doxygen/html/html/search/all_1.js +6 -3
- package/SVF-doxygen/html/html/search/all_10.js +7 -6
- package/SVF-doxygen/html/html/search/all_11.js +3 -1
- package/SVF-doxygen/html/html/search/all_12.js +10 -9
- package/SVF-doxygen/html/html/search/all_13.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +3 -4
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +8 -5
- package/SVF-doxygen/html/html/search/all_5.js +2 -1
- package/SVF-doxygen/html/html/search/all_6.js +3 -4
- package/SVF-doxygen/html/html/search/all_7.js +7 -5
- package/SVF-doxygen/html/html/search/all_9.js +6 -4
- package/SVF-doxygen/html/html/search/all_c.js +4 -5
- package/SVF-doxygen/html/html/search/all_d.js +1 -2
- package/SVF-doxygen/html/html/search/all_e.js +4 -3
- package/SVF-doxygen/html/html/search/all_f.js +3 -2
- package/SVF-doxygen/html/html/search/functions_0.js +4 -1
- package/SVF-doxygen/html/html/search/functions_10.js +2 -0
- package/SVF-doxygen/html/html/search/functions_11.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +3 -2
- package/SVF-doxygen/html/html/search/functions_6.js +3 -0
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_2.js +2 -0
- package/SVF-doxygen/html/html/search/variables_0.js +0 -1
- package/SVF-doxygen/html/html/search/variables_1.js +1 -2
- package/SVF-doxygen/html/html/search/variables_12.js +1 -2
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -2
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_5.js +2 -1
- package/SVF-doxygen/html/html/search/variables_6.js +1 -2
- package/SVF-doxygen/html/html/search/variables_7.js +4 -5
- package/SVF-doxygen/html/html/search/variables_9.js +2 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -3
- package/SVF-doxygen/html/html/search/variables_d.js +0 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -2
- package/SVF-doxygen/html/html/search/variables_f.js +1 -0
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +4 -4
- 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/CFLBase.h +2 -0
- package/include/CFL/CFLGrammar.h +13 -0
- package/include/CFL/CFLGrammar.txt +9 -33
- package/include/CFL/CFLSolver.h +8 -0
- package/include/CFL/CFLStat.h +3 -13
- package/include/Graphs/CFLGraph.h +69 -0
- package/lib/CFL/CFGNormalizer.cpp +1 -0
- package/lib/CFL/CFLAlias.cpp +5 -0
- package/lib/CFL/CFLGrammar.cpp +34 -1
- package/lib/CFL/CFLSolver.cpp +58 -45
- package/lib/CFL/CFLStat.cpp +20 -66
- package/package.json +1 -1
|
@@ -127,6 +127,10 @@ Public Member Functions</h2></td></tr>
|
|
|
127
127
|
<tr class="separator:a44232dfc5b9a13dfe9b72ff18634ab37"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
128
|
<tr class="memitem:ae79b973ec24ba034e831a90285737a41"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ae79b973ec24ba034e831a90285737a41">setTerminals</a> (<a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > &<a class="el" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</td></tr>
|
|
129
129
|
<tr class="separator:ae79b973ec24ba034e831a90285737a41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
130
|
+
<tr class="memitem:a51b55df841ae449ecf0888325c6e8c6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a51b55df841ae449ecf0888325c6e8c6a">getEBNFSigns</a> ()</td></tr>
|
|
131
|
+
<tr class="separator:a51b55df841ae449ecf0888325c6e8c6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
132
|
+
<tr class="memitem:ad87ca88d62e7bc3a189652c707a72e12"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ad87ca88d62e7bc3a189652c707a72e12">setEBNFSigns</a> (<a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > &<a class="el" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>)</td></tr>
|
|
133
|
+
<tr class="separator:ad87ca88d62e7bc3a189652c707a72e12"><td class="memSeparator" colspan="2"> </td></tr>
|
|
130
134
|
<tr class="memitem:a4561438149716c91178ea013686f66ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GrammarBase.html#a4405933cc8ed8cf30b98ee16fc14c112">SymbolMap</a>< <a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a755024745a77509d2f07867be8245a4d">Productions</a> > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a4561438149716c91178ea013686f66ae">getRawProductions</a> ()</td></tr>
|
|
131
135
|
<tr class="separator:a4561438149716c91178ea013686f66ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
132
136
|
<tr class="memitem:ae28fea79c05ba05fc8c2e67b194e42b9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>< <a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> > > & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ae28fea79c05ba05fc8c2e67b194e42b9">getKind2AttrsMap</a> () const</td></tr>
|
|
@@ -172,6 +176,8 @@ Public Member Functions</h2></td></tr>
|
|
|
172
176
|
<tr class="separator:a63389968c8d246a84562a8d17e08790b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
173
177
|
<tr class="memitem:a7583350e892c62a454de8a8317e4c1b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a7583350e892c62a454de8a8317e4c1b8">insertTerminalSymbol</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> strLit)</td></tr>
|
|
174
178
|
<tr class="separator:a7583350e892c62a454de8a8317e4c1b8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
179
|
+
<tr class="memitem:a2af19122bccb7ca0c7ab44a07a1bdfb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a2af19122bccb7ca0c7ab44a07a1bdfb1">insertEBNFSigns</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> strLit)</td></tr>
|
|
180
|
+
<tr class="separator:a2af19122bccb7ca0c7ab44a07a1bdfb1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
175
181
|
<tr class="memitem:aa188ee22955b98c31abbf2b339b64d20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#aa188ee22955b98c31abbf2b339b64d20">insertAttribute</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind, <a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> <a class="el" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a>)</td></tr>
|
|
176
182
|
<tr class="separator:aa188ee22955b98c31abbf2b339b64d20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
177
183
|
</table><table class="memberdecls">
|
|
@@ -204,7 +210,10 @@ Private Attributes</h2></td></tr>
|
|
|
204
210
|
<tr class="separator:ac0e54c6a5e87f9d91a5296504914849b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
205
211
|
<tr class="memitem:a079915fce4eb8e63433b06d79127261a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a></td></tr>
|
|
206
212
|
<tr class="separator:a079915fce4eb8e63433b06d79127261a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
213
|
+
<tr class="memitem:a7909a5f90ed1678a178f18259f0b66a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a></td></tr>
|
|
214
|
+
<tr class="separator:a7909a5f90ed1678a178f18259f0b66a9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
207
215
|
<tr class="memitem:ac3324324d2146cf04680cc4a4e444a2d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>< <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a></td></tr>
|
|
216
|
+
<tr class="memdesc:ac3324324d2146cf04680cc4a4e444a2d"><td class="mdescLeft"> </td><td class="mdescRight">Map contains Signs' String and associated Symbols. <a href="#ac3324324d2146cf04680cc4a4e444a2d">More...</a><br /></td></tr>
|
|
208
217
|
<tr class="separator:ac3324324d2146cf04680cc4a4e444a2d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
209
218
|
<tr class="memitem:a9782f4baeece8095f8a55cadd049ffce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a>, <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>< <a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> > > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a></td></tr>
|
|
210
219
|
<tr class="separator:a9782f4baeece8095f8a55cadd049ffce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -364,8 +373,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
364
373
|
</table>
|
|
365
374
|
</div><div class="memdoc">
|
|
366
375
|
|
|
367
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
368
|
-
<div class="fragment"><div class="line"><a name="
|
|
376
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00219">219</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
377
|
+
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attributeStr;</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="comment">// symbolStr end with '_', the whole symbolStr treat as kind, not with attribute.</span></div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keyword">auto</span> underscorePosition = symbolStr.find_last_of(<span class="stringliteral">"_"</span>, symbolStr.size()-1);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span> (underscorePosition == std::string::npos)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">return</span> symbolStr.substr(underscorePosition+1);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div><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>
|
|
369
378
|
</div><!-- fragment -->
|
|
370
379
|
</div>
|
|
371
380
|
</div>
|
|
@@ -385,8 +394,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
385
394
|
</table>
|
|
386
395
|
</div><div class="memdoc">
|
|
387
396
|
|
|
388
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
389
|
-
<div class="fragment"><div class="line"><a name="
|
|
397
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00207">207</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
398
|
+
<div class="fragment"><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> kindStr;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="comment">// symbolStr end with '_', the whole symbolStr treat as kind, not with attribute.</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keyword">auto</span> underscorePosition = symbolStr.find_last_of(<span class="stringliteral">"_"</span>, symbolStr.size()-1);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (underscorePosition == std::string::npos)</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> symbolStr;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> symbolStr.substr(0, underscorePosition);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> }</div><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>
|
|
390
399
|
</div><!-- fragment -->
|
|
391
400
|
</div>
|
|
392
401
|
</div>
|
|
@@ -424,8 +433,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
424
433
|
</table>
|
|
425
434
|
</div><div class="memdoc">
|
|
426
435
|
|
|
427
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
428
|
-
<div class="fragment"><div class="line"><a name="
|
|
436
|
+
<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>
|
|
437
|
+
<div class="fragment"><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>  <span class="keywordflow">return</span> ((attribute << <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>)| kind );</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</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#l00276">CFLGrammar.h:276</a></div></div>
|
|
429
438
|
</div><!-- fragment -->
|
|
430
439
|
</div>
|
|
431
440
|
</div>
|
|
@@ -452,8 +461,36 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
452
461
|
</table>
|
|
453
462
|
</div><div class="memdoc">
|
|
454
463
|
|
|
455
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
456
|
-
<div class="fragment"><div class="line"><a name="
|
|
464
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00243">243</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
465
|
+
<div class="fragment"><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">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</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="ttdoc">Map contains Signs&#39; String and associated Symbols. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
|
|
466
|
+
</div><!-- fragment -->
|
|
467
|
+
</div>
|
|
468
|
+
</div>
|
|
469
|
+
<a id="a51b55df841ae449ecf0888325c6e8c6a"></a>
|
|
470
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a51b55df841ae449ecf0888325c6e8c6a">◆ </a></span>getEBNFSigns()</h2>
|
|
471
|
+
|
|
472
|
+
<div class="memitem">
|
|
473
|
+
<div class="memproto">
|
|
474
|
+
<table class="mlabels">
|
|
475
|
+
<tr>
|
|
476
|
+
<td class="mlabels-left">
|
|
477
|
+
<table class="memname">
|
|
478
|
+
<tr>
|
|
479
|
+
<td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a>>& SVF::GrammarBase::getEBNFSigns </td>
|
|
480
|
+
<td>(</td>
|
|
481
|
+
<td class="paramname"></td><td>)</td>
|
|
482
|
+
<td></td>
|
|
483
|
+
</tr>
|
|
484
|
+
</table>
|
|
485
|
+
</td>
|
|
486
|
+
<td class="mlabels-right">
|
|
487
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
488
|
+
</tr>
|
|
489
|
+
</table>
|
|
490
|
+
</div><div class="memdoc">
|
|
491
|
+
|
|
492
|
+
<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>
|
|
493
|
+
<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#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7909a5f90ed1678a178f18259f0b66a9"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">SVF::GrammarBase::EBNFSigns</a></div><div class="ttdeci">Map< std::string, Kind > EBNFSigns</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00283">CFLGrammar.h:283</a></div></div>
|
|
457
494
|
</div><!-- fragment -->
|
|
458
495
|
</div>
|
|
459
496
|
</div>
|
|
@@ -480,8 +517,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
480
517
|
</table>
|
|
481
518
|
</div><div class="memdoc">
|
|
482
519
|
|
|
483
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
484
|
-
<div class="fragment"><div class="line"><a name="
|
|
520
|
+
<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>
|
|
521
|
+
<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#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</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#l00285">CFLGrammar.h:285</a></div></div>
|
|
485
522
|
</div><!-- fragment -->
|
|
486
523
|
</div>
|
|
487
524
|
</div>
|
|
@@ -509,7 +546,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
509
546
|
</div><div class="memdoc">
|
|
510
547
|
|
|
511
548
|
<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>
|
|
512
|
-
<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#
|
|
549
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
513
550
|
</div><!-- fragment -->
|
|
514
551
|
</div>
|
|
515
552
|
</div>
|
|
@@ -536,8 +573,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
536
573
|
</table>
|
|
537
574
|
</div><div class="memdoc">
|
|
538
575
|
|
|
539
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
540
|
-
<div class="fragment"><div class="line"><a name="
|
|
576
|
+
<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>
|
|
577
|
+
<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#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</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#l00286">CFLGrammar.h:286</a></div></div>
|
|
541
578
|
</div><!-- fragment -->
|
|
542
579
|
</div>
|
|
543
580
|
</div>
|
|
@@ -564,8 +601,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
564
601
|
</table>
|
|
565
602
|
</div><div class="memdoc">
|
|
566
603
|
|
|
567
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
568
|
-
<div class="fragment"><div class="line"><a name="
|
|
604
|
+
<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>
|
|
605
|
+
<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>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</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#l00279">CFLGrammar.h:279</a></div></div>
|
|
569
606
|
</div><!-- fragment -->
|
|
570
607
|
</div>
|
|
571
608
|
</div>
|
|
@@ -603,8 +640,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
603
640
|
</table>
|
|
604
641
|
</div><div class="memdoc">
|
|
605
642
|
|
|
606
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
607
|
-
<div class="fragment"><div class="line"><a name="
|
|
643
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00238">238</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
644
|
+
<div class="fragment"><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">return</span> prod.at(pos);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div></div><!-- fragment -->
|
|
608
645
|
</div>
|
|
609
646
|
</div>
|
|
610
647
|
<a id="a44232dfc5b9a13dfe9b72ff18634ab37"></a>
|
|
@@ -631,7 +668,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
631
668
|
</div><div class="memdoc">
|
|
632
669
|
|
|
633
670
|
<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>
|
|
634
|
-
<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#
|
|
671
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
635
672
|
</div><!-- fragment -->
|
|
636
673
|
</div>
|
|
637
674
|
</div>
|
|
@@ -658,8 +695,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
658
695
|
</table>
|
|
659
696
|
</div><div class="memdoc">
|
|
660
697
|
|
|
661
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
662
|
-
<div class="fragment"><div class="line"><a name="
|
|
698
|
+
<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>
|
|
699
|
+
<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>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</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#l00287">CFLGrammar.h:287</a></div></div>
|
|
663
700
|
</div><!-- fragment -->
|
|
664
701
|
</div>
|
|
665
702
|
</div>
|
|
@@ -697,8 +734,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
697
734
|
</table>
|
|
698
735
|
</div><div class="memdoc">
|
|
699
736
|
|
|
700
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
701
|
-
<div class="fragment"><div class="line"><a name="
|
|
737
|
+
<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>
|
|
738
|
+
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</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="l00273"></a><span class="lineno"> 273</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#l00277">CFLGrammar.h:277</a></div></div>
|
|
702
739
|
</div><!-- fragment -->
|
|
703
740
|
</div>
|
|
704
741
|
</div>
|
|
@@ -728,10 +765,34 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
728
765
|
</table>
|
|
729
766
|
</div><div class="memdoc">
|
|
730
767
|
|
|
731
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
732
|
-
<div class="fragment"><div class="line"><a name="
|
|
768
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00327">327</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
769
|
+
<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(kind);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</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="l00331"></a><span class="lineno"> 331</span>  {</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>[kind].insert(attribute);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<CFLGrammar::Attribute></a> attrs {attribute};</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.insert(make_pair(kind, attrs));</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</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="ttdoc">Map contains Signs&#39; String and associated Symbols. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
|
|
733
770
|
<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#l00105">SVFBasicTypes.h:105</a></div></div>
|
|
734
|
-
<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#
|
|
771
|
+
<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#l00285">CFLGrammar.h:285</a></div></div>
|
|
772
|
+
</div><!-- fragment -->
|
|
773
|
+
</div>
|
|
774
|
+
</div>
|
|
775
|
+
<a id="a2af19122bccb7ca0c7ab44a07a1bdfb1"></a>
|
|
776
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2af19122bccb7ca0c7ab44a07a1bdfb1">◆ </a></span>insertEBNFSigns()</h2>
|
|
777
|
+
|
|
778
|
+
<div class="memitem">
|
|
779
|
+
<div class="memproto">
|
|
780
|
+
<table class="memname">
|
|
781
|
+
<tr>
|
|
782
|
+
<td class="memname"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">GrammarBase::Symbol</a> GrammarBase::insertEBNFSigns </td>
|
|
783
|
+
<td>(</td>
|
|
784
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
785
|
+
<td class="paramname"><em>strLit</em></td><td>)</td>
|
|
786
|
+
<td></td>
|
|
787
|
+
</tr>
|
|
788
|
+
</table>
|
|
789
|
+
</div><div class="memdoc">
|
|
790
|
+
|
|
791
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00311">311</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
792
|
+
<div class="fragment"><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> sign;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>.find(symbolStr) == <a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>.end())</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  sign = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>.insert({symbolStr, sign});</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  }</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  sign = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(symbolStr);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> sign;</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7909a5f90ed1678a178f18259f0b66a9"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">SVF::GrammarBase::EBNFSigns</a></div><div class="ttdeci">Map< std::string, Kind > EBNFSigns</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00283">CFLGrammar.h:283</a></div></div>
|
|
793
|
+
<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>
|
|
794
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad4f53184d04d9f7a737b19f63d002550"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">SVF::GrammarBase::Symbol</a></div><div class="ttdeci">struct SVF::GrammarBase::Symbol Symbol</div></div>
|
|
795
|
+
<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#l00287">CFLGrammar.h:287</a></div></div>
|
|
735
796
|
</div><!-- fragment -->
|
|
736
797
|
</div>
|
|
737
798
|
</div>
|
|
@@ -761,11 +822,11 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
761
822
|
|
|
762
823
|
<p>Insert kind to nonterminal and return kind. </p>
|
|
763
824
|
|
|
764
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
765
|
-
<div class="fragment"><div class="line"><a name="
|
|
766
|
-
<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#
|
|
825
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00192">192</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
826
|
+
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</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="l00196"></a><span class="lineno"> 196</span>  {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">else</span></div><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>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</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>
|
|
827
|
+
<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#l00287">CFLGrammar.h:287</a></div></div>
|
|
767
828
|
<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>
|
|
768
|
-
<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#
|
|
829
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
769
830
|
</div><!-- fragment -->
|
|
770
831
|
</div>
|
|
771
832
|
</div>
|
|
@@ -785,13 +846,13 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
785
846
|
</table>
|
|
786
847
|
</div><div class="memdoc">
|
|
787
848
|
|
|
788
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
789
|
-
<div class="fragment"><div class="line"><a name="
|
|
790
|
-
<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#
|
|
849
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00249">249</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
850
|
+
<div class="fragment"><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="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</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="l00253"></a><span class="lineno"> 253</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="l00254"></a><span class="lineno"> 254</span>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac15b20ef3698ddab09c4c60e302ea4a0">insertNonterminalKind</a>(kindStr);</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>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><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">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</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>  <span class="keywordflow">if</span> ( std::isdigit(c) == <span class="keyword">false</span> )</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>  <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="l00270"></a><span class="lineno"> 270</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  }</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>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> }</div><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#l00192">CFLGrammar.cpp:192</a></div></div>
|
|
851
|
+
<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="ttdoc">Map contains Signs&#39; String and associated Symbols. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
|
|
791
852
|
<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#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
792
853
|
<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>
|
|
793
|
-
<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#
|
|
794
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#
|
|
854
|
+
<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#l00207">CFLGrammar.cpp:207</a></div></div>
|
|
855
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00219">CFLGrammar.cpp:219</a></div></div>
|
|
795
856
|
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad4f53184d04d9f7a737b19f63d002550"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">SVF::GrammarBase::Symbol</a></div><div class="ttdeci">struct SVF::GrammarBase::Symbol Symbol</div></div>
|
|
796
857
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
|
|
797
858
|
<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>
|
|
@@ -814,9 +875,10 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
814
875
|
</table>
|
|
815
876
|
</div><div class="memdoc">
|
|
816
877
|
|
|
817
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
818
|
-
<div class="fragment"><div class="line"><a name="
|
|
819
|
-
<div class="ttc" id="
|
|
878
|
+
<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>
|
|
879
|
+
<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>  <span class="keywordflow">if</span> ((symbolStr.size() == 1) && (!isalpha(symbolStr[0])))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  symbol = <a class="code" href="classSVF_1_1GrammarBase.html#a2af19122bccb7ca0c7ab44a07a1bdfb1">insertEBNFSigns</a>(symbolStr);</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">else</span> <span class="keywordflow">if</span> (isupper(symbolStr[0]))</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>  symbol = <a class="code" href="classSVF_1_1GrammarBase.html#a63389968c8d246a84562a8d17e08790b">insertNonTerminalSymbol</a>(symbolStr);</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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  symbol = <a class="code" href="classSVF_1_1GrammarBase.html#a7583350e892c62a454de8a8317e4c1b8">insertTerminalSymbol</a>(symbolStr);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7583350e892c62a454de8a8317e4c1b8"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7583350e892c62a454de8a8317e4c1b8">SVF::GrammarBase::insertTerminalSymbol</a></div><div class="ttdeci">Symbol insertTerminalSymbol(std::string strLit)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00280">CFLGrammar.cpp:280</a></div></div>
|
|
880
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a2af19122bccb7ca0c7ab44a07a1bdfb1"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a2af19122bccb7ca0c7ab44a07a1bdfb1">SVF::GrammarBase::insertEBNFSigns</a></div><div class="ttdeci">Symbol insertEBNFSigns(std::string strLit)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00311">CFLGrammar.cpp:311</a></div></div>
|
|
881
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a63389968c8d246a84562a8d17e08790b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a63389968c8d246a84562a8d17e08790b">SVF::GrammarBase::insertNonTerminalSymbol</a></div><div class="ttdeci">Symbol insertNonTerminalSymbol(std::string strLit)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00249">CFLGrammar.cpp:249</a></div></div>
|
|
820
882
|
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad4f53184d04d9f7a737b19f63d002550"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">SVF::GrammarBase::Symbol</a></div><div class="ttdeci">struct SVF::GrammarBase::Symbol Symbol</div></div>
|
|
821
883
|
</div><!-- fragment -->
|
|
822
884
|
</div>
|
|
@@ -838,10 +900,10 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
838
900
|
</div><div class="memdoc">
|
|
839
901
|
<p>From SymbolStr extract kind to inserted in nonterminal symbolStr = <kindStr> [_] [ attributeStr | variableattributeStr ] </p>
|
|
840
902
|
|
|
841
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
842
|
-
<div class="fragment"><div class="line"><a name="
|
|
843
|
-
<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#
|
|
844
|
-
<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#
|
|
903
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00177">177</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
904
|
+
<div class="fragment"><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</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="l00181"></a><span class="lineno"> 181</span>  {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  }</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">else</span></div><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>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  }</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</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>
|
|
905
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
906
|
+
<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#l00287">CFLGrammar.h:287</a></div></div>
|
|
845
907
|
<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>
|
|
846
908
|
</div><!-- fragment -->
|
|
847
909
|
</div>
|
|
@@ -862,16 +924,16 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
862
924
|
</table>
|
|
863
925
|
</div><div class="memdoc">
|
|
864
926
|
|
|
865
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
866
|
-
<div class="fragment"><div class="line"><a name="
|
|
927
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00280">280</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
928
|
+
<div class="fragment"><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</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="l00284"></a><span class="lineno"> 284</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="l00285"></a><span class="lineno"> 285</span>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2f1a578ba72a2b600014b21b6f2d542">insertTerminalKind</a>(kindStr);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  }</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">if</span> ( std::isdigit(c) == <span class="keyword">false</span> )</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</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="l00301"></a><span class="lineno"> 301</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</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="ttdoc">Map contains Signs&#39; String and associated Symbols. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
|
|
867
929
|
<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#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
868
930
|
<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>
|
|
869
|
-
<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#
|
|
870
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#
|
|
931
|
+
<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#l00207">CFLGrammar.cpp:207</a></div></div>
|
|
932
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00219">CFLGrammar.cpp:219</a></div></div>
|
|
871
933
|
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad4f53184d04d9f7a737b19f63d002550"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">SVF::GrammarBase::Symbol</a></div><div class="ttdeci">struct SVF::GrammarBase::Symbol Symbol</div></div>
|
|
872
934
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
|
|
873
935
|
<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>
|
|
874
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad2f1a578ba72a2b600014b21b6f2d542"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2f1a578ba72a2b600014b21b6f2d542">SVF::GrammarBase::insertTerminalKind</a></div><div class="ttdeci">Kind insertTerminalKind(std::string strLit)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#
|
|
936
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad2f1a578ba72a2b600014b21b6f2d542"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2f1a578ba72a2b600014b21b6f2d542">SVF::GrammarBase::insertTerminalKind</a></div><div class="ttdeci">Kind insertTerminalKind(std::string strLit)</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00177">CFLGrammar.cpp:177</a></div></div>
|
|
875
937
|
</div><!-- fragment -->
|
|
876
938
|
</div>
|
|
877
939
|
</div>
|
|
@@ -891,10 +953,11 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
891
953
|
</table>
|
|
892
954
|
</div><div class="memdoc">
|
|
893
955
|
|
|
894
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
895
|
-
<div class="fragment"><div class="line"><a name="
|
|
956
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00103">103</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
957
|
+
<div class="fragment"><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> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</span>  {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">if</span> (i.second == kind)</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>  key = i.first;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</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="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">if</span> (ni.second == kind)</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>  nkey = ni.first;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> signs = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &i : <a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  signs = i.first;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> signs;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</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> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7909a5f90ed1678a178f18259f0b66a9"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">SVF::GrammarBase::EBNFSigns</a></div><div class="ttdeci">Map< std::string, Kind > EBNFSigns</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00283">CFLGrammar.h:283</a></div></div>
|
|
958
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
896
959
|
<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>
|
|
897
|
-
<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#
|
|
960
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
898
961
|
</div><!-- fragment -->
|
|
899
962
|
</div>
|
|
900
963
|
</div>
|
|
@@ -915,7 +978,36 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
915
978
|
</div><div class="memdoc">
|
|
916
979
|
|
|
917
980
|
<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>
|
|
918
|
-
<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#
|
|
981
|
+
<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="ttdoc">Map contains Signs&#39; String and associated Symbols. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00284">CFLGrammar.h:284</a></div></div>
|
|
982
|
+
</div><!-- fragment -->
|
|
983
|
+
</div>
|
|
984
|
+
</div>
|
|
985
|
+
<a id="ad87ca88d62e7bc3a189652c707a72e12"></a>
|
|
986
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad87ca88d62e7bc3a189652c707a72e12">◆ </a></span>setEBNFSigns()</h2>
|
|
987
|
+
|
|
988
|
+
<div class="memitem">
|
|
989
|
+
<div class="memproto">
|
|
990
|
+
<table class="mlabels">
|
|
991
|
+
<tr>
|
|
992
|
+
<td class="mlabels-left">
|
|
993
|
+
<table class="memname">
|
|
994
|
+
<tr>
|
|
995
|
+
<td class="memname">void SVF::GrammarBase::setEBNFSigns </td>
|
|
996
|
+
<td>(</td>
|
|
997
|
+
<td class="paramtype"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > & </td>
|
|
998
|
+
<td class="paramname"><em>EBNFSigns</em></td><td>)</td>
|
|
999
|
+
<td></td>
|
|
1000
|
+
</tr>
|
|
1001
|
+
</table>
|
|
1002
|
+
</td>
|
|
1003
|
+
<td class="mlabels-right">
|
|
1004
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
1005
|
+
</tr>
|
|
1006
|
+
</table>
|
|
1007
|
+
</div><div class="memdoc">
|
|
1008
|
+
|
|
1009
|
+
<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>
|
|
1010
|
+
<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>  this-><a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7909a5f90ed1678a178f18259f0b66a9"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">SVF::GrammarBase::EBNFSigns</a></div><div class="ttdeci">Map< std::string, Kind > EBNFSigns</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00283">CFLGrammar.h:283</a></div></div>
|
|
919
1011
|
</div><!-- fragment -->
|
|
920
1012
|
</div>
|
|
921
1013
|
</div>
|
|
@@ -936,7 +1028,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
936
1028
|
</div><div class="memdoc">
|
|
937
1029
|
|
|
938
1030
|
<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>
|
|
939
|
-
<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#
|
|
1031
|
+
<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#l00285">CFLGrammar.h:285</a></div></div>
|
|
940
1032
|
</div><!-- fragment -->
|
|
941
1033
|
</div>
|
|
942
1034
|
</div>
|
|
@@ -965,7 +1057,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
965
1057
|
</div><div class="memdoc">
|
|
966
1058
|
|
|
967
1059
|
<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>
|
|
968
|
-
<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#
|
|
1060
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
969
1061
|
</div><!-- fragment -->
|
|
970
1062
|
</div>
|
|
971
1063
|
</div>
|
|
@@ -986,7 +1078,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
986
1078
|
</div><div class="memdoc">
|
|
987
1079
|
|
|
988
1080
|
<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>
|
|
989
|
-
<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#
|
|
1081
|
+
<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#l00286">CFLGrammar.h:286</a></div></div>
|
|
990
1082
|
</div><!-- fragment -->
|
|
991
1083
|
</div>
|
|
992
1084
|
</div>
|
|
@@ -1014,8 +1106,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1014
1106
|
</table>
|
|
1015
1107
|
</div><div class="memdoc">
|
|
1016
1108
|
|
|
1017
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1018
|
-
<div class="fragment"><div class="line"><a name="
|
|
1109
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00210">210</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1110
|
+
<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</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="l00213"></a><span class="lineno"> 213</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#l00279">CFLGrammar.h:279</a></div></div>
|
|
1019
1111
|
</div><!-- fragment -->
|
|
1020
1112
|
</div>
|
|
1021
1113
|
</div>
|
|
@@ -1044,7 +1136,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1044
1136
|
</div><div class="memdoc">
|
|
1045
1137
|
|
|
1046
1138
|
<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>
|
|
1047
|
-
<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#
|
|
1139
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
1048
1140
|
</div><!-- fragment -->
|
|
1049
1141
|
</div>
|
|
1050
1142
|
</div>
|
|
@@ -1072,8 +1164,8 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1072
1164
|
</table>
|
|
1073
1165
|
</div><div class="memdoc">
|
|
1074
1166
|
|
|
1075
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1076
|
-
<div class="fragment"><div class="line"><a name="
|
|
1167
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00215">215</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1168
|
+
<div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  {</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</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="l00218"></a><span class="lineno"> 218</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#l00287">CFLGrammar.h:287</a></div></div>
|
|
1077
1169
|
</div><!-- fragment -->
|
|
1078
1170
|
</div>
|
|
1079
1171
|
</div>
|
|
@@ -1094,8 +1186,9 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1094
1186
|
</div><div class="memdoc">
|
|
1095
1187
|
|
|
1096
1188
|
<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>
|
|
1097
|
-
<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>  assert(<span class="keyword">false</span> && <span class="stringliteral">"kind not found!"</span>);</div><div class="line"><a name="
|
|
1098
|
-
<div class="ttc" id="
|
|
1189
|
+
<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>  <span class="keyword">auto</span> sit = <a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>.find(str);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span>(sit!=<a class="code" href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">EBNFSigns</a>.end())</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> sit->second;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"kind not found!"</span>);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  abort();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a7909a5f90ed1678a178f18259f0b66a9"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7909a5f90ed1678a178f18259f0b66a9">SVF::GrammarBase::EBNFSigns</a></div><div class="ttdeci">Map< std::string, Kind > EBNFSigns</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00283">CFLGrammar.h:283</a></div></div>
|
|
1190
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
1191
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
1099
1192
|
</div><!-- fragment -->
|
|
1100
1193
|
</div>
|
|
1101
1194
|
</div>
|
|
@@ -1115,12 +1208,12 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1115
1208
|
</table>
|
|
1116
1209
|
</div><div class="memdoc">
|
|
1117
1210
|
|
|
1118
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
1119
|
-
<div class="fragment"><div class="line"><a name="
|
|
1211
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00074">74</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
1212
|
+
<div class="fragment"><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> {</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attributeStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">extractAttributeStrFromSymbolStr</a>(str);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> kindStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">extractKindStrFromSymbolStr</a>(str);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> ( std::isdigit(c) == <span class="keyword">false</span> )</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</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>) << str</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div><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#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
1120
1213
|
<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>
|
|
1121
1214
|
<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>
|
|
1122
|
-
<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#
|
|
1123
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#
|
|
1215
|
+
<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#l00207">CFLGrammar.cpp:207</a></div></div>
|
|
1216
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9f56cebea336079e35f5f3a288eb356f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">SVF::GrammarBase::extractAttributeStrFromSymbolStr</a></div><div class="ttdeci">std::string extractAttributeStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00219">CFLGrammar.cpp:219</a></div></div>
|
|
1124
1217
|
<div class="ttc" id="classSVF_1_1GrammarBase_html_ad4f53184d04d9f7a737b19f63d002550"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">SVF::GrammarBase::Symbol</a></div><div class="ttdeci">struct SVF::GrammarBase::Symbol Symbol</div></div>
|
|
1125
1218
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5d4bb92f5df30417f414397f8e58cf01"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(std::string msg)</div><div class="ttdoc">Print error message by converting a string into red string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
|
|
1126
1219
|
<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>
|
|
@@ -1143,12 +1236,12 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1143
1236
|
</table>
|
|
1144
1237
|
</div><div class="memdoc">
|
|
1145
1238
|
|
|
1146
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
1147
|
-
<div class="fragment"><div class="line"><a name="
|
|
1148
|
-
<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#
|
|
1239
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00139">139</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
1240
|
+
<div class="fragment"><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>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind = sym.kind;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> attribute = sym.attribute;</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>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</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="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  key = i.first;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  key.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  key.append(std::to_string(attribute));</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</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>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</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="l00161"></a><span class="lineno"> 161</span>  {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  nkey = ni.first;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">if</span>(attribute != 0)</div><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>  nkey.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  nkey.append(std::to_string(attribute));</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> nkey;</div><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>  }</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</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>
|
|
1241
|
+
<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#l00282">CFLGrammar.h:282</a></div></div>
|
|
1149
1242
|
<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>
|
|
1150
1243
|
<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>
|
|
1151
|
-
<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#
|
|
1244
|
+
<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#l00281">CFLGrammar.h:281</a></div></div>
|
|
1152
1245
|
</div><!-- fragment -->
|
|
1153
1246
|
</div>
|
|
1154
1247
|
</div>
|
|
@@ -1175,7 +1268,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1175
1268
|
|
|
1176
1269
|
<p>We use the lower 24 bits to denote attributed kind. </p>
|
|
1177
1270
|
|
|
1178
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1271
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00277">277</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1179
1272
|
|
|
1180
1273
|
</div>
|
|
1181
1274
|
</div>
|
|
@@ -1199,7 +1292,33 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1199
1292
|
</table>
|
|
1200
1293
|
</div><div class="memdoc">
|
|
1201
1294
|
|
|
1202
|
-
<p
|
|
1295
|
+
<p>Map contains Signs' String and associated Symbols. </p>
|
|
1296
|
+
|
|
1297
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00284">284</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1298
|
+
|
|
1299
|
+
</div>
|
|
1300
|
+
</div>
|
|
1301
|
+
<a id="a7909a5f90ed1678a178f18259f0b66a9"></a>
|
|
1302
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7909a5f90ed1678a178f18259f0b66a9">◆ </a></span>EBNFSigns</h2>
|
|
1303
|
+
|
|
1304
|
+
<div class="memitem">
|
|
1305
|
+
<div class="memproto">
|
|
1306
|
+
<table class="mlabels">
|
|
1307
|
+
<tr>
|
|
1308
|
+
<td class="mlabels-left">
|
|
1309
|
+
<table class="memname">
|
|
1310
|
+
<tr>
|
|
1311
|
+
<td class="memname"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a>, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a>> SVF::GrammarBase::EBNFSigns</td>
|
|
1312
|
+
</tr>
|
|
1313
|
+
</table>
|
|
1314
|
+
</td>
|
|
1315
|
+
<td class="mlabels-right">
|
|
1316
|
+
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
|
1317
|
+
</tr>
|
|
1318
|
+
</table>
|
|
1319
|
+
</div><div class="memdoc">
|
|
1320
|
+
|
|
1321
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00283">283</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1203
1322
|
|
|
1204
1323
|
</div>
|
|
1205
1324
|
</div>
|
|
@@ -1223,7 +1342,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1223
1342
|
</table>
|
|
1224
1343
|
</div><div class="memdoc">
|
|
1225
1344
|
|
|
1226
|
-
<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#l00278">278</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1227
1346
|
|
|
1228
1347
|
</div>
|
|
1229
1348
|
</div>
|
|
@@ -1249,7 +1368,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1249
1368
|
|
|
1250
1369
|
<p>We use the lower 8 bits to denote edge kind. </p>
|
|
1251
1370
|
|
|
1252
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1371
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00276">276</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1253
1372
|
|
|
1254
1373
|
</div>
|
|
1255
1374
|
</div>
|
|
@@ -1273,7 +1392,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1273
1392
|
</table>
|
|
1274
1393
|
</div><div class="memdoc">
|
|
1275
1394
|
|
|
1276
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1395
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00285">285</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1277
1396
|
|
|
1278
1397
|
</div>
|
|
1279
1398
|
</div>
|
|
@@ -1297,7 +1416,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1297
1416
|
</table>
|
|
1298
1417
|
</div><div class="memdoc">
|
|
1299
1418
|
|
|
1300
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1419
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00281">281</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1301
1420
|
|
|
1302
1421
|
</div>
|
|
1303
1422
|
</div>
|
|
@@ -1321,7 +1440,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1321
1440
|
</table>
|
|
1322
1441
|
</div><div class="memdoc">
|
|
1323
1442
|
|
|
1324
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1443
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00286">286</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1325
1444
|
|
|
1326
1445
|
</div>
|
|
1327
1446
|
</div>
|
|
@@ -1345,7 +1464,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1345
1464
|
</table>
|
|
1346
1465
|
</div><div class="memdoc">
|
|
1347
1466
|
|
|
1348
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1467
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00279">279</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1349
1468
|
|
|
1350
1469
|
</div>
|
|
1351
1470
|
</div>
|
|
@@ -1369,7 +1488,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1369
1488
|
</table>
|
|
1370
1489
|
</div><div class="memdoc">
|
|
1371
1490
|
|
|
1372
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1491
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00282">282</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1373
1492
|
|
|
1374
1493
|
</div>
|
|
1375
1494
|
</div>
|
|
@@ -1393,7 +1512,7 @@ template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual
|
|
|
1393
1512
|
</table>
|
|
1394
1513
|
</div><div class="memdoc">
|
|
1395
1514
|
|
|
1396
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1515
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00287">287</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1397
1516
|
|
|
1398
1517
|
</div>
|
|
1399
1518
|
</div>
|