svf-tools 1.0.478 → 1.0.481
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/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp.html +5 -4
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +50 -40
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +20 -18
- package/SVF-doxygen/html/html/CFLAlias_8cpp.html +80 -0
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +107 -0
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +14 -35
- package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +10 -10
- package/SVF-doxygen/html/html/CFLGrammar_8cpp.html +1 -0
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +34 -23
- package/SVF-doxygen/html/html/CFLGrammar_8h.html +9 -1
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +106 -62
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +58 -151
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +24 -11
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h.html +2 -0
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +18 -19
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +27 -16
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +20 -16
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
- 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 -1
- package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +36 -32
- package/SVF-doxygen/html/html/ExtAPI_8h.html +36 -0
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +66 -64
- 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 +14 -17
- package/SVF-doxygen/html/html/GrammarBuilder_8h.html +0 -1
- package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +9 -11
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +5 -3
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -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 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
- 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 -1
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +15 -15
- 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 -1
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +298 -293
- package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder-members.html +96 -0
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +197 -0
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +108 -99
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +52 -39
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge-members.html +3 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +62 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList-members.html +91 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +459 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +47 -38
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +180 -137
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph-members.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +44 -22
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +53 -43
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +158 -125
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +20 -21
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +29 -21
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +397 -179
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash-members.html +81 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +124 -0
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder-members.html +6 -7
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +73 -91
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +54 -53
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +11 -11
- package/SVF-doxygen/html/html/classes.html +105 -106
- package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
- package/SVF-doxygen/html/html/cuddInt_8c.html +17 -17
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -3
- package/SVF-doxygen/html/html/cuddInt_8h.html +5 -5
- package/SVF-doxygen/html/html/cudd_8h.html +9 -9
- package/SVF-doxygen/html/html/cudd_8h_source.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_98f9a352f241e0e917d4efaa4086f6e8.html +2 -0
- package/SVF-doxygen/html/html/files.html +5 -4
- package/SVF-doxygen/html/html/functions_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_a.html +14 -8
- package/SVF-doxygen/html/html/functions_b.html +4 -3
- package/SVF-doxygen/html/html/functions_c.html +37 -35
- package/SVF-doxygen/html/html/functions_d.html +8 -4
- package/SVF-doxygen/html/html/functions_e.html +15 -8
- package/SVF-doxygen/html/html/functions_f.html +16 -17
- package/SVF-doxygen/html/html/functions_func.html +1 -1
- package/SVF-doxygen/html/html/functions_func_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_func_b.html +3 -2
- package/SVF-doxygen/html/html/functions_func_c.html +32 -28
- package/SVF-doxygen/html/html/functions_func_e.html +14 -7
- package/SVF-doxygen/html/html/functions_func_f.html +3 -2
- package/SVF-doxygen/html/html/functions_func_g.html +22 -18
- package/SVF-doxygen/html/html/functions_func_i.html +18 -9
- package/SVF-doxygen/html/html/functions_func_l.html +2 -5
- package/SVF-doxygen/html/html/functions_func_o.html +20 -5
- package/SVF-doxygen/html/html/functions_func_p.html +9 -7
- package/SVF-doxygen/html/html/functions_func_s.html +12 -6
- package/SVF-doxygen/html/html/functions_g.html +25 -21
- package/SVF-doxygen/html/html/functions_i.html +29 -20
- package/SVF-doxygen/html/html/functions_k.html +2 -1
- package/SVF-doxygen/html/html/functions_l.html +1 -4
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +24 -15
- package/SVF-doxygen/html/html/functions_p.html +18 -18
- package/SVF-doxygen/html/html/functions_r.html +5 -5
- package/SVF-doxygen/html/html/functions_s.html +24 -16
- package/SVF-doxygen/html/html/functions_t.html +5 -7
- package/SVF-doxygen/html/html/functions_type_d.html +4 -2
- package/SVF-doxygen/html/html/functions_type_p.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +7 -1
- package/SVF-doxygen/html/html/functions_type_v.html +3 -0
- package/SVF-doxygen/html/html/functions_v.html +7 -1
- package/SVF-doxygen/html/html/functions_vars_a.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_d.html +4 -2
- package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_k.html +1 -0
- package/SVF-doxygen/html/html/functions_vars_n.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_v.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +6 -10
- package/SVF-doxygen/html/html/globals.html +1 -2
- package/SVF-doxygen/html/html/globals_a.html +1 -6
- package/SVF-doxygen/html/html/globals_c.html +129 -126
- package/SVF-doxygen/html/html/globals_defs_j.html +6 -0
- package/SVF-doxygen/html/html/globals_e.html +7 -8
- package/SVF-doxygen/html/html/globals_f.html +6 -12
- package/SVF-doxygen/html/html/globals_func.html +0 -6
- package/SVF-doxygen/html/html/globals_func_f.html +0 -8
- package/SVF-doxygen/html/html/globals_g.html +4 -2
- package/SVF-doxygen/html/html/globals_j.html +6 -0
- package/SVF-doxygen/html/html/globals_l.html +3 -0
- package/SVF-doxygen/html/html/globals_s.html +7 -9
- package/SVF-doxygen/html/html/globals_v.html +3 -0
- package/SVF-doxygen/html/html/globals_vars.html +17 -13
- package/SVF-doxygen/html/html/hierarchy.html +449 -444
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +8 -4
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +8 -8
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +5 -4
- package/SVF-doxygen/html/html/search/all_10.js +12 -12
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +22 -17
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +2 -0
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1b.js +1 -0
- package/SVF-doxygen/html/html/search/all_2.js +2 -2
- package/SVF-doxygen/html/html/search/all_3.js +7 -6
- package/SVF-doxygen/html/html/search/all_4.js +5 -5
- package/SVF-doxygen/html/html/search/all_5.js +7 -5
- package/SVF-doxygen/html/html/search/all_6.js +4 -4
- package/SVF-doxygen/html/html/search/all_7.js +11 -9
- package/SVF-doxygen/html/html/search/all_9.js +8 -5
- package/SVF-doxygen/html/html/search/all_a.js +2 -0
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -2
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +4 -4
- package/SVF-doxygen/html/html/search/all_f.js +9 -6
- package/SVF-doxygen/html/html/search/classes_0.js +1 -0
- package/SVF-doxygen/html/html/search/classes_2.js +1 -0
- package/SVF-doxygen/html/html/search/classes_f.js +3 -0
- package/SVF-doxygen/html/html/search/defines_8.js +2 -0
- package/SVF-doxygen/html/html/search/files_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +1 -3
- package/SVF-doxygen/html/html/search/functions_1.js +2 -2
- package/SVF-doxygen/html/html/search/functions_11.js +4 -2
- package/SVF-doxygen/html/html/search/functions_17.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +3 -2
- package/SVF-doxygen/html/html/search/functions_3.js +1 -1
- package/SVF-doxygen/html/html/search/functions_4.js +5 -3
- package/SVF-doxygen/html/html/search/functions_5.js +1 -3
- package/SVF-doxygen/html/html/search/functions_6.js +9 -8
- package/SVF-doxygen/html/html/search/functions_8.js +4 -1
- package/SVF-doxygen/html/html/search/functions_b.js +0 -1
- package/SVF-doxygen/html/html/search/functions_e.js +8 -5
- package/SVF-doxygen/html/html/search/functions_f.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_11.js +3 -1
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -0
- package/SVF-doxygen/html/html/search/typedefs_3.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +3 -2
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +2 -0
- package/SVF-doxygen/html/html/search/variables_3.js +2 -2
- package/SVF-doxygen/html/html/search/variables_4.js +2 -2
- package/SVF-doxygen/html/html/search/variables_5.js +2 -2
- package/SVF-doxygen/html/html/search/variables_6.js +3 -3
- package/SVF-doxygen/html/html/search/variables_7.js +2 -1
- package/SVF-doxygen/html/html/search/variables_b.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol-members.html +98 -0
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +652 -0
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +124 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +22 -15
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +4 -2
- 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/CFGNormalizer.h +14 -9
- package/include/CFL/CFLAlias.h +1 -40
- package/include/CFL/CFLGrammar.h +246 -31
- package/include/CFL/CFLGrammar.txt +13 -15
- package/include/CFL/CFLGraphBuilder.h +27 -29
- package/include/CFL/GrammarBuilder.h +34 -14
- package/include/Graphs/CFLGraph.h +12 -0
- package/include/Graphs/ConsGEdge.h +1 -0
- package/include/SVF-FE/CallGraphBuilder.h +2 -2
- package/include/Util/ExtAPI.h +59 -42
- package/lib/CFL/CFGNormalizer.cpp +138 -86
- package/lib/CFL/CFLAlias.cpp +73 -0
- package/lib/CFL/CFLGrammar.cpp +115 -16
- package/lib/CFL/CFLGraphBuilder.cpp +64 -1
- package/lib/CFL/GrammarBuilder.cpp +42 -60
- package/lib/Graphs/CFLGraph.cpp +41 -1
- package/lib/MemoryModel/LocationSet.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +2 -2
- package/lib/SVF-FE/SymbolTableBuilder.cpp +4 -0
- package/lib/Util/ExtAPI.cpp +34 -2
- package/lib/Util/ExtAPI.json +3268 -2585
- package/package.json +1 -1
- package/include/CFL/CFLGrammarDev.txt +0 -16
|
@@ -63,6 +63,7 @@ $(function() {
|
|
|
63
63
|
</div><!-- top -->
|
|
64
64
|
<div class="header">
|
|
65
65
|
<div class="summary">
|
|
66
|
+
<a href="#nested-classes">Classes</a> |
|
|
66
67
|
<a href="#pub-types">Public Types</a> |
|
|
67
68
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
68
69
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
@@ -86,18 +87,35 @@ Inheritance diagram for SVF::GrammarBase:</div>
|
|
|
86
87
|
</map>
|
|
87
88
|
</div></div>
|
|
88
89
|
<table class="memberdecls">
|
|
90
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
91
|
+
Classes</h2></td></tr>
|
|
92
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a></td></tr>
|
|
93
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
94
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase_1_1SymbolHash.html">SymbolHash</a></td></tr>
|
|
95
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
96
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structSVF_1_1GrammarBase_1_1SymbolVectorHash.html">SymbolVectorHash</a></td></tr>
|
|
97
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
98
|
+
</table><table class="memberdecls">
|
|
89
99
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
90
100
|
Public Types</h2></td></tr>
|
|
91
|
-
<tr class="memitem:a98ae90215ba9aa3ddb0afdab459cb08f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a></td></tr>
|
|
92
|
-
<tr class="separator:a98ae90215ba9aa3ddb0afdab459cb08f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
93
|
-
<tr class="memitem:af384c960a5edc576cbfb60a869e346ec"><td class="memItemLeft" align="right" valign="top">typedef std::vector< <a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a></td></tr>
|
|
94
|
-
<tr class="separator:af384c960a5edc576cbfb60a869e346ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
95
|
-
<tr class="memitem:afe9195a37f75841dffd831e6e0873a98"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>< <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#afe9195a37f75841dffd831e6e0873a98">Productions</a></td></tr>
|
|
96
|
-
<tr class="separator:afe9195a37f75841dffd831e6e0873a98"><td class="memSeparator" colspan="2"> </td></tr>
|
|
97
|
-
<tr class="memitem:ab070e5449d26e347b957d8b994d0303f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a></td></tr>
|
|
98
|
-
<tr class="separator:ab070e5449d26e347b957d8b994d0303f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
99
101
|
<tr class="memitem:a7aef5c42fbd8a62dd4a541cc0e8e8187"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a></td></tr>
|
|
100
102
|
<tr class="separator:a7aef5c42fbd8a62dd4a541cc0e8e8187"><td class="memSeparator" colspan="2"> </td></tr>
|
|
103
|
+
<tr class="memitem:ab070e5449d26e347b957d8b994d0303f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a></td></tr>
|
|
104
|
+
<tr class="separator:ab070e5449d26e347b957d8b994d0303f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
|
+
<tr class="memitem:a716ce662e6a3f2febf3ab378c4217759"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a716ce662e6a3f2febf3ab378c4217759">VariableAttribute</a></td></tr>
|
|
106
|
+
<tr class="separator:a716ce662e6a3f2febf3ab378c4217759"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
|
+
<tr class="memitem:ad4f53184d04d9f7a737b19f63d002550"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">SVF::GrammarBase::Symbol</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a></td></tr>
|
|
108
|
+
<tr class="separator:ad4f53184d04d9f7a737b19f63d002550"><td class="memSeparator" colspan="2"> </td></tr>
|
|
109
|
+
<tr class="memitem:a4405933cc8ed8cf30b98ee16fc14c112"><td class="memTemplParams" colspan="2">template<typename Key , typename Value , typename Hash = SymbolHash, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>> </td></tr>
|
|
110
|
+
<tr class="memitem:a4405933cc8ed8cf30b98ee16fc14c112"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a4405933cc8ed8cf30b98ee16fc14c112">SymbolMap</a> = std::unordered_map< Key, <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>, <a class="el" href="structSVF_1_1Hash.html">Hash</a>, KeyEqual, Allocator ></td></tr>
|
|
111
|
+
<tr class="separator:a4405933cc8ed8cf30b98ee16fc14c112"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
|
+
<tr class="memitem:a8687586451b07458d591120cdee9f6a3"><td class="memTemplParams" colspan="2">template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<Key>> </td></tr>
|
|
113
|
+
<tr class="memitem:a8687586451b07458d591120cdee9f6a3"><td class="memTemplItemLeft" align="right" valign="top">using </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a8687586451b07458d591120cdee9f6a3">SymbolSet</a> = std::unordered_set< Key, <a class="el" href="structSVF_1_1Hash.html">Hash</a>, KeyEqual, Allocator ></td></tr>
|
|
114
|
+
<tr class="separator:a8687586451b07458d591120cdee9f6a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
115
|
+
<tr class="memitem:af384c960a5edc576cbfb60a869e346ec"><td class="memItemLeft" align="right" valign="top">typedef std::vector< <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#af384c960a5edc576cbfb60a869e346ec">Production</a></td></tr>
|
|
116
|
+
<tr class="separator:af384c960a5edc576cbfb60a869e346ec"><td class="memSeparator" colspan="2"> </td></tr>
|
|
117
|
+
<tr class="memitem:a755024745a77509d2f07867be8245a4d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1GrammarBase.html#a8687586451b07458d591120cdee9f6a3">SymbolSet</a>< <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a755024745a77509d2f07867be8245a4d">Productions</a></td></tr>
|
|
118
|
+
<tr class="separator:a755024745a77509d2f07867be8245a4d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
101
119
|
</table><table class="memberdecls">
|
|
102
120
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
103
121
|
Public Member Functions</h2></td></tr>
|
|
@@ -109,8 +127,8 @@ Public Member Functions</h2></td></tr>
|
|
|
109
127
|
<tr class="separator:a44232dfc5b9a13dfe9b72ff18634ab37"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
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>
|
|
111
129
|
<tr class="separator:ae79b973ec24ba034e831a90285737a41"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
|
-
<tr class="memitem:
|
|
113
|
-
<tr class="separator:
|
|
130
|
+
<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
|
+
<tr class="separator:a4561438149716c91178ea013686f66ae"><td class="memSeparator" colspan="2"> </td></tr>
|
|
114
132
|
<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>
|
|
115
133
|
<tr class="separator:ae28fea79c05ba05fc8c2e67b194e42b9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
116
134
|
<tr class="memitem:a76e0969670709e24532756e56aafab19"><td class="memItemLeft" align="right" valign="top"><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#a76e0969670709e24532756e56aafab19">getTotalKind</a> ()</td></tr>
|
|
@@ -119,39 +137,48 @@ Public Member Functions</h2></td></tr>
|
|
|
119
137
|
<tr class="separator:a8921a7d7a006e31f13d88b8c808c931b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
120
138
|
<tr class="memitem:a1de2b9f6c39936afa8f821ca262deadd"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a1de2b9f6c39936afa8f821ca262deadd">setStartKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> <a class="el" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>)</td></tr>
|
|
121
139
|
<tr class="separator:a1de2b9f6c39936afa8f821ca262deadd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
122
|
-
<tr class="memitem:a37a31f03501a11e7951d56dbf1cb146a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a37a31f03501a11e7951d56dbf1cb146a">setTotalKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> <a class="el" href="classSVF_1_1GrammarBase.html#
|
|
140
|
+
<tr class="memitem:a37a31f03501a11e7951d56dbf1cb146a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a37a31f03501a11e7951d56dbf1cb146a">setTotalKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> <a class="el" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>)</td></tr>
|
|
123
141
|
<tr class="separator:a37a31f03501a11e7951d56dbf1cb146a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
124
|
-
<tr class="memitem:
|
|
125
|
-
<tr class="separator:
|
|
142
|
+
<tr class="memitem:a9cc406edc117b3abd07a85f66ca892a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">extractKindStrFromSymbolStr</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> symbolStr) const</td></tr>
|
|
143
|
+
<tr class="separator:a9cc406edc117b3abd07a85f66ca892a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
|
+
<tr class="memitem:a9f56cebea336079e35f5f3a288eb356f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">extractAttributeStrFromSymbolStr</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> symbolStr) const</td></tr>
|
|
145
|
+
<tr class="separator:a9f56cebea336079e35f5f3a288eb356f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
146
|
+
<tr class="memitem:a2eb6ab294093710ca1dc119836adff5a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a2eb6ab294093710ca1dc119836adff5a">setRawProductions</a> (<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> > &<a class="el" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>)</td></tr>
|
|
147
|
+
<tr class="separator:a2eb6ab294093710ca1dc119836adff5a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
126
148
|
<tr class="memitem:ac5048e88477e9b937fffed628dc5e8e5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ac5048e88477e9b937fffed628dc5e8e5">setKind2AttrsMap</a> (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> >> &<a class="el" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>)</td></tr>
|
|
127
149
|
<tr class="separator:ac5048e88477e9b937fffed628dc5e8e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
150
|
<tr class="memitem:a1e1bf1e32bcd7c68ce789c2f9f6327c0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a1e1bf1e32bcd7c68ce789c2f9f6327c0">setAttributeKinds</a> (const <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a>< <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> > &attributeKind)</td></tr>
|
|
129
151
|
<tr class="separator:a1e1bf1e32bcd7c68ce789c2f9f6327c0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
130
152
|
<tr class="memitem:ad2d56d8cdc4539d4201d1995fb36e772"><td class="memItemLeft" align="right" valign="top"><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#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> str) const</td></tr>
|
|
131
153
|
<tr class="separator:ad2d56d8cdc4539d4201d1995fb36e772"><td class="memSeparator" colspan="2"> </td></tr>
|
|
154
|
+
<tr class="memitem:a5c081c6ff0501fc91b71352995d6d9dc"><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#a5c081c6ff0501fc91b71352995d6d9dc">str2Symbol</a> (const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> str) const</td></tr>
|
|
155
|
+
<tr class="separator:a5c081c6ff0501fc91b71352995d6d9dc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
132
156
|
<tr class="memitem:ac8ecc4293c5a63d2d30d0ca0832217d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ac8ecc4293c5a63d2d30d0ca0832217d3">kind2Str</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind) const</td></tr>
|
|
133
157
|
<tr class="separator:ac8ecc4293c5a63d2d30d0ca0832217d3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
134
|
-
<tr class="memitem:a4c0b76ce574087acdcb3e884480b18b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a4c0b76ce574087acdcb3e884480b18b0">sym2StrDump</a> (<a class="el" href="
|
|
158
|
+
<tr class="memitem:a4c0b76ce574087acdcb3e884480b18b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a4c0b76ce574087acdcb3e884480b18b0">sym2StrDump</a> (<a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a> sym) const</td></tr>
|
|
135
159
|
<tr class="separator:a4c0b76ce574087acdcb3e884480b18b0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
136
|
-
<tr class="memitem:afb21efe07e3451ad8284cab384963f06"><td class="memItemLeft" align="right" valign="top"><a class="el" href="
|
|
160
|
+
<tr class="memitem:afb21efe07e3451ad8284cab384963f06"><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#afb21efe07e3451ad8284cab384963f06">getSymbol</a> (const <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a> &prod, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pos)</td></tr>
|
|
137
161
|
<tr class="separator:afb21efe07e3451ad8284cab384963f06"><td class="memSeparator" colspan="2"> </td></tr>
|
|
138
|
-
<tr class="memitem:
|
|
139
|
-
<tr class="separator:
|
|
162
|
+
<tr class="memitem:a2620ded7573ebdb8b4595e199105ef0e"><td class="memItemLeft" align="right" valign="top">const <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#a2620ded7573ebdb8b4595e199105ef0e">getAttrSyms</a> () const</td></tr>
|
|
163
|
+
<tr class="separator:a2620ded7573ebdb8b4595e199105ef0e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
164
|
+
<tr class="memitem:ac15b20ef3698ddab09c4c60e302ea4a0"><td class="memItemLeft" align="right" valign="top"><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#ac15b20ef3698ddab09c4c60e302ea4a0">insertNonterminalKind</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> const kindStr)</td></tr>
|
|
165
|
+
<tr class="memdesc:ac15b20ef3698ddab09c4c60e302ea4a0"><td class="mdescLeft"> </td><td class="mdescRight">Insert kind to nonterminal and return kind. <a href="#ac15b20ef3698ddab09c4c60e302ea4a0">More...</a><br /></td></tr>
|
|
166
|
+
<tr class="separator:ac15b20ef3698ddab09c4c60e302ea4a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
140
167
|
<tr class="memitem:ad2f1a578ba72a2b600014b21b6f2d542"><td class="memItemLeft" align="right" valign="top"><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#ad2f1a578ba72a2b600014b21b6f2d542">insertTerminalKind</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> strLit)</td></tr>
|
|
141
168
|
<tr class="separator:ad2f1a578ba72a2b600014b21b6f2d542"><td class="memSeparator" colspan="2"> </td></tr>
|
|
142
|
-
<tr class="memitem:
|
|
143
|
-
<tr class="separator:
|
|
169
|
+
<tr class="memitem:a3c16f37c05de31fbd2be1ae9c0961e84"><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#a3c16f37c05de31fbd2be1ae9c0961e84">insertSymbol</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> strLit)</td></tr>
|
|
170
|
+
<tr class="separator:a3c16f37c05de31fbd2be1ae9c0961e84"><td class="memSeparator" colspan="2"> </td></tr>
|
|
171
|
+
<tr class="memitem:a63389968c8d246a84562a8d17e08790b"><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#a63389968c8d246a84562a8d17e08790b">insertNonTerminalSymbol</a> (<a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> strLit)</td></tr>
|
|
172
|
+
<tr class="separator:a63389968c8d246a84562a8d17e08790b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
144
173
|
<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>
|
|
145
174
|
<tr class="separator:aa188ee22955b98c31abbf2b339b64d20"><td class="memSeparator" colspan="2"> </td></tr>
|
|
146
175
|
</table><table class="memberdecls">
|
|
147
176
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
148
177
|
Static Public Member Functions</h2></td></tr>
|
|
149
|
-
<tr class="memitem:a76189622192db66f7c355038c73fa9dd"><td class="memItemLeft" align="right" valign="top">static <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#a76189622192db66f7c355038c73fa9dd">getSymKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a> sym)</td></tr>
|
|
150
|
-
<tr class="separator:a76189622192db66f7c355038c73fa9dd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
151
|
-
<tr class="memitem:ae16ccf07065150dddca4a2becdfdff91"><td class="memItemLeft" align="right" valign="top">static <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#ae16ccf07065150dddca4a2becdfdff91">getSymAttribute</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a> sym)</td></tr>
|
|
152
|
-
<tr class="separator:ae16ccf07065150dddca4a2becdfdff91"><td class="memSeparator" colspan="2"> </td></tr>
|
|
153
178
|
<tr class="memitem:af418e1033618da75e974a04ee1d7e275"><td class="memItemLeft" align="right" valign="top">static <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#af418e1033618da75e974a04ee1d7e275">getAttributedKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> attribute, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind)</td></tr>
|
|
154
179
|
<tr class="separator:af418e1033618da75e974a04ee1d7e275"><td class="memSeparator" colspan="2"> </td></tr>
|
|
180
|
+
<tr class="memitem:ad7321168f53baa55098f7c714ec53f1e"><td class="memItemLeft" align="right" valign="top">static <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#ad7321168f53baa55098f7c714ec53f1e">getVariabledKind</a> (<a class="el" href="classSVF_1_1GrammarBase.html#a716ce662e6a3f2febf3ab378c4217759">VariableAttribute</a> variableAttribute, <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind)</td></tr>
|
|
181
|
+
<tr class="separator:ad7321168f53baa55098f7c714ec53f1e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
155
182
|
</table><table class="memberdecls">
|
|
156
183
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
|
|
157
184
|
Protected Attributes</h2></td></tr>
|
|
@@ -163,27 +190,30 @@ Static Protected Attributes</h2></td></tr>
|
|
|
163
190
|
<tr class="memitem:adc1413dc2e875a6e74bdb5b985cdd39f"><td class="memItemLeft" align="right" valign="top">static constexpr unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a> = 8</td></tr>
|
|
164
191
|
<tr class="memdesc:adc1413dc2e875a6e74bdb5b985cdd39f"><td class="mdescLeft"> </td><td class="mdescRight">We use the lower 8 bits to denote edge kind. <a href="#adc1413dc2e875a6e74bdb5b985cdd39f">More...</a><br /></td></tr>
|
|
165
192
|
<tr class="separator:adc1413dc2e875a6e74bdb5b985cdd39f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
193
|
+
<tr class="memitem:a2dcb7647b5be7b3ab1dad2c494828854"><td class="memItemLeft" align="right" valign="top">static constexpr unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">AttributedKindMaskBits</a> = 24</td></tr>
|
|
194
|
+
<tr class="memdesc:a2dcb7647b5be7b3ab1dad2c494828854"><td class="mdescLeft"> </td><td class="mdescRight">We use the lower 24 bits to denote attributed kind. <a href="#a2dcb7647b5be7b3ab1dad2c494828854">More...</a><br /></td></tr>
|
|
195
|
+
<tr class="separator:a2dcb7647b5be7b3ab1dad2c494828854"><td class="memSeparator" colspan="2"> </td></tr>
|
|
166
196
|
<tr class="memitem:a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d"><td class="memItemLeft" align="right" valign="top">static constexpr <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d">EdgeKindMask</a> = (~0ULL) >> (64 - EdgeKindMaskBits)</td></tr>
|
|
167
197
|
<tr class="separator:a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
168
198
|
</table><table class="memberdecls">
|
|
169
199
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
170
200
|
Private Attributes</h2></td></tr>
|
|
171
|
-
<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>
|
|
172
|
-
<tr class="separator:ac3324324d2146cf04680cc4a4e444a2d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
173
|
-
<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>
|
|
174
|
-
<tr class="separator:a9782f4baeece8095f8a55cadd049ffce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
175
|
-
<tr class="memitem:a05ea6937c8afaa20914ec47c10452a95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a>, <a class="el" href="classSVF_1_1GrammarBase.html#afe9195a37f75841dffd831e6e0873a98">Productions</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#a05ea6937c8afaa20914ec47c10452a95">rawProductions</a></td></tr>
|
|
176
|
-
<tr class="separator:a05ea6937c8afaa20914ec47c10452a95"><td class="memSeparator" colspan="2"> </td></tr>
|
|
177
|
-
<tr class="memitem:a7b0a2c88e1ae1a09aa7efe526821c52a"><td class="memItemLeft" align="right" valign="top"><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#a7b0a2c88e1ae1a09aa7efe526821c52a">totalKind</a></td></tr>
|
|
178
|
-
<tr class="separator:a7b0a2c88e1ae1a09aa7efe526821c52a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
179
201
|
<tr class="memitem:ac0e54c6a5e87f9d91a5296504914849b"><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#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a></td></tr>
|
|
180
202
|
<tr class="separator:ac0e54c6a5e87f9d91a5296504914849b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
181
203
|
<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>
|
|
182
204
|
<tr class="separator:a079915fce4eb8e63433b06d79127261a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
205
|
+
<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>
|
|
206
|
+
<tr class="separator:ac3324324d2146cf04680cc4a4e444a2d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
207
|
+
<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>
|
|
208
|
+
<tr class="separator:a9782f4baeece8095f8a55cadd049ffce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
209
|
+
<tr class="memitem:a5ba80e2f28d7b7a722a24901fcaf4ffd"><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#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a></td></tr>
|
|
210
|
+
<tr class="separator:a5ba80e2f28d7b7a722a24901fcaf4ffd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
211
|
+
<tr class="memitem:ac9f86b0861e93eee2548aa7f5f3b7b7f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a></td></tr>
|
|
212
|
+
<tr class="separator:ac9f86b0861e93eee2548aa7f5f3b7b7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
183
213
|
</table>
|
|
184
214
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
185
215
|
<div class="textblock">
|
|
186
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
216
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00036">36</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
187
217
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
188
218
|
<a id="ab070e5449d26e347b957d8b994d0303f"></a>
|
|
189
219
|
<h2 class="memtitle"><span class="permalink"><a href="#ab070e5449d26e347b957d8b994d0303f">◆ </a></span>Attribute</h2>
|
|
@@ -197,7 +227,7 @@ Private Attributes</h2></td></tr>
|
|
|
197
227
|
</table>
|
|
198
228
|
</div><div class="memdoc">
|
|
199
229
|
|
|
200
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
230
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00040">40</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
201
231
|
|
|
202
232
|
</div>
|
|
203
233
|
</div>
|
|
@@ -213,7 +243,7 @@ Private Attributes</h2></td></tr>
|
|
|
213
243
|
</table>
|
|
214
244
|
</div><div class="memdoc">
|
|
215
245
|
|
|
216
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
246
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00039">39</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
217
247
|
|
|
218
248
|
</div>
|
|
219
249
|
</div>
|
|
@@ -224,48 +254,140 @@ Private Attributes</h2></td></tr>
|
|
|
224
254
|
<div class="memproto">
|
|
225
255
|
<table class="memname">
|
|
226
256
|
<tr>
|
|
227
|
-
<td class="memname">typedef std::vector<<a class="el" href="
|
|
257
|
+
<td class="memname">typedef std::vector<<a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a>> <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">SVF::GrammarBase::Production</a></td>
|
|
228
258
|
</tr>
|
|
229
259
|
</table>
|
|
230
260
|
</div><div class="memdoc">
|
|
231
261
|
|
|
232
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
262
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00175">175</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
233
263
|
|
|
234
264
|
</div>
|
|
235
265
|
</div>
|
|
236
|
-
<a id="
|
|
237
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
266
|
+
<a id="a755024745a77509d2f07867be8245a4d"></a>
|
|
267
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a755024745a77509d2f07867be8245a4d">◆ </a></span>Productions</h2>
|
|
238
268
|
|
|
239
269
|
<div class="memitem">
|
|
240
270
|
<div class="memproto">
|
|
241
271
|
<table class="memname">
|
|
242
272
|
<tr>
|
|
243
|
-
<td class="memname">typedef <a class="el" href="
|
|
273
|
+
<td class="memname">typedef <a class="el" href="classSVF_1_1GrammarBase.html#a8687586451b07458d591120cdee9f6a3">SymbolSet</a><<a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a>> <a class="el" href="classSVF_1_1GrammarBase.html#a755024745a77509d2f07867be8245a4d">SVF::GrammarBase::Productions</a></td>
|
|
244
274
|
</tr>
|
|
245
275
|
</table>
|
|
246
276
|
</div><div class="memdoc">
|
|
247
277
|
|
|
248
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
278
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00176">176</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
279
|
+
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
<a id="ad4f53184d04d9f7a737b19f63d002550"></a>
|
|
283
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad4f53184d04d9f7a737b19f63d002550">◆ </a></span>Symbol</h2>
|
|
284
|
+
|
|
285
|
+
<div class="memitem">
|
|
286
|
+
<div class="memproto">
|
|
287
|
+
<table class="memname">
|
|
288
|
+
<tr>
|
|
289
|
+
<td class="memname">typedef struct <a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">SVF::GrammarBase::Symbol</a> <a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">SVF::GrammarBase::Symbol</a></td>
|
|
290
|
+
</tr>
|
|
291
|
+
</table>
|
|
292
|
+
</div><div class="memdoc">
|
|
249
293
|
|
|
250
294
|
</div>
|
|
251
295
|
</div>
|
|
252
|
-
<a id="
|
|
253
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
296
|
+
<a id="a4405933cc8ed8cf30b98ee16fc14c112"></a>
|
|
297
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a4405933cc8ed8cf30b98ee16fc14c112">◆ </a></span>SymbolMap</h2>
|
|
254
298
|
|
|
255
299
|
<div class="memitem">
|
|
256
300
|
<div class="memproto">
|
|
301
|
+
<div class="memtemplate">
|
|
302
|
+
template<typename Key , typename Value , typename Hash = SymbolHash, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<std::pair<const Key, Value>>> </div>
|
|
257
303
|
<table class="memname">
|
|
258
304
|
<tr>
|
|
259
|
-
<td class="memname">
|
|
305
|
+
<td class="memname">using <a class="el" href="classSVF_1_1GrammarBase.html#a4405933cc8ed8cf30b98ee16fc14c112">SVF::GrammarBase::SymbolMap</a> = std::unordered_map<Key, <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>, <a class="el" href="structSVF_1_1Hash.html">Hash</a>, KeyEqual, Allocator></td>
|
|
260
306
|
</tr>
|
|
261
307
|
</table>
|
|
262
308
|
</div><div class="memdoc">
|
|
263
309
|
|
|
264
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
310
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00169">169</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
311
|
+
|
|
312
|
+
</div>
|
|
313
|
+
</div>
|
|
314
|
+
<a id="a8687586451b07458d591120cdee9f6a3"></a>
|
|
315
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8687586451b07458d591120cdee9f6a3">◆ </a></span>SymbolSet</h2>
|
|
316
|
+
|
|
317
|
+
<div class="memitem">
|
|
318
|
+
<div class="memproto">
|
|
319
|
+
<div class="memtemplate">
|
|
320
|
+
template<typename Key , typename Hash = SymbolVectorHash, typename KeyEqual = std::equal_to<Key>, typename Allocator = std::allocator<Key>> </div>
|
|
321
|
+
<table class="memname">
|
|
322
|
+
<tr>
|
|
323
|
+
<td class="memname">using <a class="el" href="classSVF_1_1GrammarBase.html#a8687586451b07458d591120cdee9f6a3">SVF::GrammarBase::SymbolSet</a> = std::unordered_set<Key, <a class="el" href="structSVF_1_1Hash.html">Hash</a>, KeyEqual, Allocator></td>
|
|
324
|
+
</tr>
|
|
325
|
+
</table>
|
|
326
|
+
</div><div class="memdoc">
|
|
327
|
+
|
|
328
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00173">173</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
329
|
+
|
|
330
|
+
</div>
|
|
331
|
+
</div>
|
|
332
|
+
<a id="a716ce662e6a3f2febf3ab378c4217759"></a>
|
|
333
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a716ce662e6a3f2febf3ab378c4217759">◆ </a></span>VariableAttribute</h2>
|
|
334
|
+
|
|
335
|
+
<div class="memitem">
|
|
336
|
+
<div class="memproto">
|
|
337
|
+
<table class="memname">
|
|
338
|
+
<tr>
|
|
339
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="el" href="classSVF_1_1GrammarBase.html#a716ce662e6a3f2febf3ab378c4217759">SVF::GrammarBase::VariableAttribute</a></td>
|
|
340
|
+
</tr>
|
|
341
|
+
</table>
|
|
342
|
+
</div><div class="memdoc">
|
|
343
|
+
|
|
344
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00041">41</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
265
345
|
|
|
266
346
|
</div>
|
|
267
347
|
</div>
|
|
268
348
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
349
|
+
<a id="a9f56cebea336079e35f5f3a288eb356f"></a>
|
|
350
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a9f56cebea336079e35f5f3a288eb356f">◆ </a></span>extractAttributeStrFromSymbolStr()</h2>
|
|
351
|
+
|
|
352
|
+
<div class="memitem">
|
|
353
|
+
<div class="memproto">
|
|
354
|
+
<table class="memname">
|
|
355
|
+
<tr>
|
|
356
|
+
<td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> GrammarBase::extractAttributeStrFromSymbolStr </td>
|
|
357
|
+
<td>(</td>
|
|
358
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
359
|
+
<td class="paramname"><em>symbolStr</em></td><td>)</td>
|
|
360
|
+
<td> const</td>
|
|
361
|
+
</tr>
|
|
362
|
+
</table>
|
|
363
|
+
</div><div class="memdoc">
|
|
364
|
+
|
|
365
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00205">205</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
366
|
+
<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>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attributeStr;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="comment">// symbolStr end with '_', the whole symbolStr treat as kind, not with attribute.</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">auto</span> underscorePosition = symbolStr.find_last_of(<span class="stringliteral">"_"</span>, symbolStr.size()-1);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">if</span> (underscorePosition == std::string::npos)</div><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>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</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.substr(underscorePosition+1);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</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>
|
|
367
|
+
</div><!-- fragment -->
|
|
368
|
+
</div>
|
|
369
|
+
</div>
|
|
370
|
+
<a id="a9cc406edc117b3abd07a85f66ca892a0"></a>
|
|
371
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a9cc406edc117b3abd07a85f66ca892a0">◆ </a></span>extractKindStrFromSymbolStr()</h2>
|
|
372
|
+
|
|
373
|
+
<div class="memitem">
|
|
374
|
+
<div class="memproto">
|
|
375
|
+
<table class="memname">
|
|
376
|
+
<tr>
|
|
377
|
+
<td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> GrammarBase::extractKindStrFromSymbolStr </td>
|
|
378
|
+
<td>(</td>
|
|
379
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
380
|
+
<td class="paramname"><em>symbolStr</em></td><td>)</td>
|
|
381
|
+
<td> const</td>
|
|
382
|
+
</tr>
|
|
383
|
+
</table>
|
|
384
|
+
</div><div class="memdoc">
|
|
385
|
+
|
|
386
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00193">193</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
387
|
+
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> kindStr;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// symbolStr end with '_', the whole symbolStr treat as kind, not with attribute.</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">auto</span> underscorePosition = symbolStr.find_last_of(<span class="stringliteral">"_"</span>, symbolStr.size()-1);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> (underscorePosition == std::string::npos)</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">return</span> symbolStr;</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>  <span class="keywordflow">return</span> symbolStr.substr(0, underscorePosition);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</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>
|
|
388
|
+
</div><!-- fragment -->
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
269
391
|
<a id="af418e1033618da75e974a04ee1d7e275"></a>
|
|
270
392
|
<h2 class="memtitle"><span class="permalink"><a href="#af418e1033618da75e974a04ee1d7e275">◆ </a></span>getAttributedKind()</h2>
|
|
271
393
|
|
|
@@ -300,13 +422,13 @@ Private Attributes</h2></td></tr>
|
|
|
300
422
|
</table>
|
|
301
423
|
</div><div class="memdoc">
|
|
302
424
|
|
|
303
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
304
|
-
<div class="fragment"><div class="line"><a name="
|
|
425
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00270">270</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
426
|
+
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  {</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</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="l00273"></a><span class="lineno"> 273</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#l00281">CFLGrammar.h:281</a></div></div>
|
|
305
427
|
</div><!-- fragment -->
|
|
306
428
|
</div>
|
|
307
429
|
</div>
|
|
308
|
-
<a id="
|
|
309
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
430
|
+
<a id="a2620ded7573ebdb8b4595e199105ef0e"></a>
|
|
431
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2620ded7573ebdb8b4595e199105ef0e">◆ </a></span>getAttrSyms()</h2>
|
|
310
432
|
|
|
311
433
|
<div class="memitem">
|
|
312
434
|
<div class="memproto">
|
|
@@ -315,7 +437,7 @@ Private Attributes</h2></td></tr>
|
|
|
315
437
|
<td class="mlabels-left">
|
|
316
438
|
<table class="memname">
|
|
317
439
|
<tr>
|
|
318
|
-
<td class="memname">const <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a><<a class="el" href="classSVF_1_1GrammarBase.html#
|
|
440
|
+
<td class="memname">const <a class="el" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set</a><<a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a>>& SVF::GrammarBase::getAttrSyms </td>
|
|
319
441
|
<td>(</td>
|
|
320
442
|
<td class="paramname"></td><td>)</td>
|
|
321
443
|
<td> const</td>
|
|
@@ -328,8 +450,8 @@ Private Attributes</h2></td></tr>
|
|
|
328
450
|
</table>
|
|
329
451
|
</div><div class="memdoc">
|
|
330
452
|
|
|
331
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
332
|
-
<div class="fragment"><div class="line"><a name="
|
|
453
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00252">252</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
454
|
+
<div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</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#l00288">CFLGrammar.h:288</a></div></div>
|
|
333
455
|
</div><!-- fragment -->
|
|
334
456
|
</div>
|
|
335
457
|
</div>
|
|
@@ -356,8 +478,8 @@ Private Attributes</h2></td></tr>
|
|
|
356
478
|
</table>
|
|
357
479
|
</div><div class="memdoc">
|
|
358
480
|
|
|
359
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
360
|
-
<div class="fragment"><div class="line"><a name="
|
|
481
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00204">204</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
482
|
+
<div class="fragment"><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</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#l00289">CFLGrammar.h:289</a></div></div>
|
|
361
483
|
</div><!-- fragment -->
|
|
362
484
|
</div>
|
|
363
485
|
</div>
|
|
@@ -384,13 +506,13 @@ Private Attributes</h2></td></tr>
|
|
|
384
506
|
</table>
|
|
385
507
|
</div><div class="memdoc">
|
|
386
508
|
|
|
387
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
388
|
-
<div class="fragment"><div class="line"><a name="
|
|
509
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00179">179</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
510
|
+
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</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#l00286">CFLGrammar.h:286</a></div></div>
|
|
389
511
|
</div><!-- fragment -->
|
|
390
512
|
</div>
|
|
391
513
|
</div>
|
|
392
|
-
<a id="
|
|
393
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
514
|
+
<a id="a4561438149716c91178ea013686f66ae"></a>
|
|
515
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a4561438149716c91178ea013686f66ae">◆ </a></span>getRawProductions()</h2>
|
|
394
516
|
|
|
395
517
|
<div class="memitem">
|
|
396
518
|
<div class="memproto">
|
|
@@ -399,7 +521,7 @@ Private Attributes</h2></td></tr>
|
|
|
399
521
|
<td class="mlabels-left">
|
|
400
522
|
<table class="memname">
|
|
401
523
|
<tr>
|
|
402
|
-
<td class="memname"><a class="el" href="
|
|
524
|
+
<td class="memname"><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>>& SVF::GrammarBase::getRawProductions </td>
|
|
403
525
|
<td>(</td>
|
|
404
526
|
<td class="paramname"></td><td>)</td>
|
|
405
527
|
<td></td>
|
|
@@ -412,8 +534,8 @@ Private Attributes</h2></td></tr>
|
|
|
412
534
|
</table>
|
|
413
535
|
</div><div class="memdoc">
|
|
414
536
|
|
|
415
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
416
|
-
<div class="fragment"><div class="line"><a name="
|
|
537
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00199">199</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
538
|
+
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</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#l00290">CFLGrammar.h:290</a></div></div>
|
|
417
539
|
</div><!-- fragment -->
|
|
418
540
|
</div>
|
|
419
541
|
</div>
|
|
@@ -440,37 +562,8 @@ Private Attributes</h2></td></tr>
|
|
|
440
562
|
</table>
|
|
441
563
|
</div><div class="memdoc">
|
|
442
564
|
|
|
443
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
444
|
-
<div class="fragment"><div class="line"><a name="
|
|
445
|
-
</div><!-- fragment -->
|
|
446
|
-
</div>
|
|
447
|
-
</div>
|
|
448
|
-
<a id="ae16ccf07065150dddca4a2becdfdff91"></a>
|
|
449
|
-
<h2 class="memtitle"><span class="permalink"><a href="#ae16ccf07065150dddca4a2becdfdff91">◆ </a></span>getSymAttribute()</h2>
|
|
450
|
-
|
|
451
|
-
<div class="memitem">
|
|
452
|
-
<div class="memproto">
|
|
453
|
-
<table class="mlabels">
|
|
454
|
-
<tr>
|
|
455
|
-
<td class="mlabels-left">
|
|
456
|
-
<table class="memname">
|
|
457
|
-
<tr>
|
|
458
|
-
<td class="memname">static <a class="el" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> SVF::GrammarBase::getSymAttribute </td>
|
|
459
|
-
<td>(</td>
|
|
460
|
-
<td class="paramtype"><a class="el" href="classSVF_1_1GrammarBase.html#a98ae90215ba9aa3ddb0afdab459cb08f">Symbol</a> </td>
|
|
461
|
-
<td class="paramname"><em>sym</em></td><td>)</td>
|
|
462
|
-
<td></td>
|
|
463
|
-
</tr>
|
|
464
|
-
</table>
|
|
465
|
-
</td>
|
|
466
|
-
<td class="mlabels-right">
|
|
467
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
468
|
-
</tr>
|
|
469
|
-
</table>
|
|
470
|
-
</div><div class="memdoc">
|
|
471
|
-
|
|
472
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00125">125</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
473
|
-
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> (sym >> <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</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#l00136">CFLGrammar.h:136</a></div></div>
|
|
565
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00214">214</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
566
|
+
<div class="fragment"><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  {</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a604cb7d4850cfd12d3b8730e0cab84af">startKind</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</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#l00284">CFLGrammar.h:284</a></div></div>
|
|
474
567
|
</div><!-- fragment -->
|
|
475
568
|
</div>
|
|
476
569
|
</div>
|
|
@@ -484,7 +577,7 @@ Private Attributes</h2></td></tr>
|
|
|
484
577
|
<td class="mlabels-left">
|
|
485
578
|
<table class="memname">
|
|
486
579
|
<tr>
|
|
487
|
-
<td class="memname"><a class="el" href="
|
|
580
|
+
<td class="memname"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a> SVF::GrammarBase::getSymbol </td>
|
|
488
581
|
<td>(</td>
|
|
489
582
|
<td class="paramtype">const <a class="el" href="classSVF_1_1GrammarBase.html#af384c960a5edc576cbfb60a869e346ec">Production</a> & </td>
|
|
490
583
|
<td class="paramname"><em>prod</em>, </td>
|
|
@@ -508,12 +601,12 @@ Private Attributes</h2></td></tr>
|
|
|
508
601
|
</table>
|
|
509
602
|
</div><div class="memdoc">
|
|
510
603
|
|
|
511
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
512
|
-
<div class="fragment"><div class="line"><a name="
|
|
604
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00247">247</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
605
|
+
<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> prod.at(pos);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div></div><!-- fragment -->
|
|
513
606
|
</div>
|
|
514
607
|
</div>
|
|
515
|
-
<a id="
|
|
516
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
608
|
+
<a id="a44232dfc5b9a13dfe9b72ff18634ab37"></a>
|
|
609
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a44232dfc5b9a13dfe9b72ff18634ab37">◆ </a></span>getTerminals()</h2>
|
|
517
610
|
|
|
518
611
|
<div class="memitem">
|
|
519
612
|
<div class="memproto">
|
|
@@ -522,27 +615,26 @@ Private Attributes</h2></td></tr>
|
|
|
522
615
|
<td class="mlabels-left">
|
|
523
616
|
<table class="memname">
|
|
524
617
|
<tr>
|
|
525
|
-
<td class="memname">
|
|
618
|
+
<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::getTerminals </td>
|
|
526
619
|
<td>(</td>
|
|
527
|
-
<td class="
|
|
528
|
-
<td class="paramname"><em>sym</em></td><td>)</td>
|
|
620
|
+
<td class="paramname"></td><td>)</td>
|
|
529
621
|
<td></td>
|
|
530
622
|
</tr>
|
|
531
623
|
</table>
|
|
532
624
|
</td>
|
|
533
625
|
<td class="mlabels-right">
|
|
534
|
-
<span class="mlabels"><span class="mlabel">inline</span
|
|
626
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
535
627
|
</tr>
|
|
536
628
|
</table>
|
|
537
629
|
</div><div class="memdoc">
|
|
538
630
|
|
|
539
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
540
|
-
<div class="fragment"><div class="line"><a name="
|
|
631
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00189">189</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
632
|
+
<div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</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#l00287">CFLGrammar.h:287</a></div></div>
|
|
541
633
|
</div><!-- fragment -->
|
|
542
634
|
</div>
|
|
543
635
|
</div>
|
|
544
|
-
<a id="
|
|
545
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
636
|
+
<a id="a76e0969670709e24532756e56aafab19"></a>
|
|
637
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a76e0969670709e24532756e56aafab19">◆ </a></span>getTotalKind()</h2>
|
|
546
638
|
|
|
547
639
|
<div class="memitem">
|
|
548
640
|
<div class="memproto">
|
|
@@ -551,7 +643,7 @@ Private Attributes</h2></td></tr>
|
|
|
551
643
|
<td class="mlabels-left">
|
|
552
644
|
<table class="memname">
|
|
553
645
|
<tr>
|
|
554
|
-
<td class="memname"><a class="el" href="
|
|
646
|
+
<td class="memname"><a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> SVF::GrammarBase::getTotalKind </td>
|
|
555
647
|
<td>(</td>
|
|
556
648
|
<td class="paramname"></td><td>)</td>
|
|
557
649
|
<td></td>
|
|
@@ -564,13 +656,13 @@ Private Attributes</h2></td></tr>
|
|
|
564
656
|
</table>
|
|
565
657
|
</div><div class="memdoc">
|
|
566
658
|
|
|
567
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
568
|
-
<div class="fragment"><div class="line"><a name="
|
|
659
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00209">209</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
660
|
+
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</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#l00291">CFLGrammar.h:291</a></div></div>
|
|
569
661
|
</div><!-- fragment -->
|
|
570
662
|
</div>
|
|
571
663
|
</div>
|
|
572
|
-
<a id="
|
|
573
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
664
|
+
<a id="ad7321168f53baa55098f7c714ec53f1e"></a>
|
|
665
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad7321168f53baa55098f7c714ec53f1e">◆ </a></span>getVariabledKind()</h2>
|
|
574
666
|
|
|
575
667
|
<div class="memitem">
|
|
576
668
|
<div class="memproto">
|
|
@@ -579,21 +671,32 @@ Private Attributes</h2></td></tr>
|
|
|
579
671
|
<td class="mlabels-left">
|
|
580
672
|
<table class="memname">
|
|
581
673
|
<tr>
|
|
582
|
-
<td class="memname"
|
|
674
|
+
<td class="memname">static <a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> SVF::GrammarBase::getVariabledKind </td>
|
|
583
675
|
<td>(</td>
|
|
584
|
-
<td class="
|
|
676
|
+
<td class="paramtype"><a class="el" href="classSVF_1_1GrammarBase.html#a716ce662e6a3f2febf3ab378c4217759">VariableAttribute</a> </td>
|
|
677
|
+
<td class="paramname"><em>variableAttribute</em>, </td>
|
|
678
|
+
</tr>
|
|
679
|
+
<tr>
|
|
680
|
+
<td class="paramkey"></td>
|
|
585
681
|
<td></td>
|
|
682
|
+
<td class="paramtype"><a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> </td>
|
|
683
|
+
<td class="paramname"><em>kind</em> </td>
|
|
684
|
+
</tr>
|
|
685
|
+
<tr>
|
|
686
|
+
<td></td>
|
|
687
|
+
<td>)</td>
|
|
688
|
+
<td></td><td></td>
|
|
586
689
|
</tr>
|
|
587
690
|
</table>
|
|
588
691
|
</td>
|
|
589
692
|
<td class="mlabels-right">
|
|
590
|
-
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
693
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
|
|
591
694
|
</tr>
|
|
592
695
|
</table>
|
|
593
696
|
</div><div class="memdoc">
|
|
594
697
|
|
|
595
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
596
|
-
<div class="fragment"><div class="line"><a name="
|
|
698
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00275">275</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
699
|
+
<div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</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="l00278"></a><span class="lineno"> 278</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#l00282">CFLGrammar.h:282</a></div></div>
|
|
597
700
|
</div><!-- fragment -->
|
|
598
701
|
</div>
|
|
599
702
|
</div>
|
|
@@ -623,21 +726,85 @@ Private Attributes</h2></td></tr>
|
|
|
623
726
|
</table>
|
|
624
727
|
</div><div class="memdoc">
|
|
625
728
|
|
|
626
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
627
|
-
<div class="fragment"><div class="line"><a name="
|
|
729
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00262">262</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
730
|
+
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(kind);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.find(kind)!= <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.end())</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>[kind].insert(attribute);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<CFLGrammar::Attribute></a> attrs {attribute};</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>.insert(make_pair(kind, attrs));</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  }</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
|
|
628
731
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
|
|
629
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map< Kind, Set< Attribute > > kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
732
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map< Kind, Set< Attribute > > kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00289">CFLGrammar.h:289</a></div></div>
|
|
733
|
+
</div><!-- fragment -->
|
|
734
|
+
</div>
|
|
735
|
+
</div>
|
|
736
|
+
<a id="ac15b20ef3698ddab09c4c60e302ea4a0"></a>
|
|
737
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac15b20ef3698ddab09c4c60e302ea4a0">◆ </a></span>insertNonterminalKind()</h2>
|
|
738
|
+
|
|
739
|
+
<div class="memitem">
|
|
740
|
+
<div class="memproto">
|
|
741
|
+
<table class="mlabels">
|
|
742
|
+
<tr>
|
|
743
|
+
<td class="mlabels-left">
|
|
744
|
+
<table class="memname">
|
|
745
|
+
<tr>
|
|
746
|
+
<td class="memname"><a class="el" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">GrammarBase::Kind</a> GrammarBase::insertNonterminalKind </td>
|
|
747
|
+
<td>(</td>
|
|
748
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> const </td>
|
|
749
|
+
<td class="paramname"><em>kindStr</em></td><td>)</td>
|
|
750
|
+
<td></td>
|
|
751
|
+
</tr>
|
|
752
|
+
</table>
|
|
753
|
+
</td>
|
|
754
|
+
<td class="mlabels-right">
|
|
755
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
756
|
+
</tr>
|
|
757
|
+
</table>
|
|
758
|
+
</div><div class="memdoc">
|
|
759
|
+
|
|
760
|
+
<p>Insert kind to nonterminal and return kind. </p>
|
|
761
|
+
|
|
762
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00178">178</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
763
|
+
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.find(kindStr) == <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.end())</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  }</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  }</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ad2d56d8cdc4539d4201d1995fb36e772"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">SVF::GrammarBase::str2Kind</a></div><div class="ttdeci">Kind str2Kind(std::string str) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00055">CFLGrammar.cpp:55</a></div></div>
|
|
764
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
|
|
765
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
|
|
766
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
|
|
767
|
+
</div><!-- fragment -->
|
|
768
|
+
</div>
|
|
769
|
+
</div>
|
|
770
|
+
<a id="a63389968c8d246a84562a8d17e08790b"></a>
|
|
771
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a63389968c8d246a84562a8d17e08790b">◆ </a></span>insertNonTerminalSymbol()</h2>
|
|
772
|
+
|
|
773
|
+
<div class="memitem">
|
|
774
|
+
<div class="memproto">
|
|
775
|
+
<table class="memname">
|
|
776
|
+
<tr>
|
|
777
|
+
<td class="memname"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">GrammarBase::Symbol</a> GrammarBase::insertNonTerminalSymbol </td>
|
|
778
|
+
<td>(</td>
|
|
779
|
+
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
780
|
+
<td class="paramname"><em>strLit</em></td><td>)</td>
|
|
781
|
+
<td></td>
|
|
782
|
+
</tr>
|
|
783
|
+
</table>
|
|
784
|
+
</div><div class="memdoc">
|
|
785
|
+
|
|
786
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00231">231</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
787
|
+
<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> kindStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">extractKindStrFromSymbolStr</a>(symbolStr);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> attributeStr = <a class="code" href="classSVF_1_1GrammarBase.html#a9f56cebea336079e35f5f3a288eb356f">extractAttributeStrFromSymbolStr</a>(symbolStr);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac15b20ef3698ddab09c4c60e302ea4a0">insertNonterminalKind</a>(kindStr);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">if</span> ( std::isdigit(c) == <span class="keyword">false</span> )</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5d4bb92f5df30417f414397f8e58cf01">SVFUtil::errMsg</a>(<span class="stringliteral">"\t Symbol Attribute Parse Failure :"</span>) << symbolStr</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>.insert(symbol.kind);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
788
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac15b20ef3698ddab09c4c60e302ea4a0"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac15b20ef3698ddab09c4c60e302ea4a0">SVF::GrammarBase::insertNonterminalKind</a></div><div class="ttdeci">Kind insertNonterminalKind(std::string const kindStr)</div><div class="ttdoc">Insert kind to nonterminal and return kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00178">CFLGrammar.cpp:178</a></div></div>
|
|
789
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
|
|
790
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
|
|
791
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00055">SVFUtil.h:55</a></div></div>
|
|
792
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9cc406edc117b3abd07a85f66ca892a0"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">SVF::GrammarBase::extractKindStrFromSymbolStr</a></div><div class="ttdeci">std::string extractKindStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00193">CFLGrammar.cpp:193</a></div></div>
|
|
793
|
+
<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#l00205">CFLGrammar.cpp:205</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="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#l00077">SVFUtil.cpp:77</a></div></div>
|
|
796
|
+
<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>
|
|
630
797
|
</div><!-- fragment -->
|
|
631
798
|
</div>
|
|
632
799
|
</div>
|
|
633
|
-
<a id="
|
|
634
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
800
|
+
<a id="a3c16f37c05de31fbd2be1ae9c0961e84"></a>
|
|
801
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3c16f37c05de31fbd2be1ae9c0961e84">◆ </a></span>insertSymbol()</h2>
|
|
635
802
|
|
|
636
803
|
<div class="memitem">
|
|
637
804
|
<div class="memproto">
|
|
638
805
|
<table class="memname">
|
|
639
806
|
<tr>
|
|
640
|
-
<td class="memname"><a class="el" href="
|
|
807
|
+
<td class="memname"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">GrammarBase::Symbol</a> GrammarBase::insertSymbol </td>
|
|
641
808
|
<td>(</td>
|
|
642
809
|
<td class="paramtype"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
643
810
|
<td class="paramname"><em>strLit</em></td><td>)</td>
|
|
@@ -646,12 +813,10 @@ Private Attributes</h2></td></tr>
|
|
|
646
813
|
</table>
|
|
647
814
|
</div><div class="memdoc">
|
|
648
815
|
|
|
649
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
650
|
-
<div class="fragment"><div class="line"><a name="
|
|
651
|
-
<div class="ttc" id="
|
|
652
|
-
<div class="ttc" id="
|
|
653
|
-
<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#l00042">CFLGrammar.h:42</a></div></div>
|
|
654
|
-
<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#l00144">CFLGrammar.h:144</a></div></div>
|
|
816
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00217">217</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
817
|
+
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">if</span> (isupper(symbolStr[0]))</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  symbol = <a class="code" href="classSVF_1_1GrammarBase.html#a63389968c8d246a84562a8d17e08790b">insertNonTerminalSymbol</a>(symbolStr);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">else</span></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>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2f1a578ba72a2b600014b21b6f2d542">insertTerminalKind</a>(symbolStr);</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> symbol;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> }</div><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#l00231">CFLGrammar.cpp:231</a></div></div>
|
|
818
|
+
<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>
|
|
819
|
+
<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#l00163">CFLGrammar.cpp:163</a></div></div>
|
|
655
820
|
</div><!-- fragment -->
|
|
656
821
|
</div>
|
|
657
822
|
</div>
|
|
@@ -670,12 +835,13 @@ Private Attributes</h2></td></tr>
|
|
|
670
835
|
</tr>
|
|
671
836
|
</table>
|
|
672
837
|
</div><div class="memdoc">
|
|
838
|
+
<p>From SymbolStr extract kind to inserted in nonterminal symbolStr = <kindStr> [_] [ attributeStr | variableattributeStr ] </p>
|
|
673
839
|
|
|
674
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
675
|
-
<div class="fragment"><div class="line"><a name="
|
|
676
|
-
<div class="ttc" id="
|
|
677
|
-
<div class="ttc" id="
|
|
678
|
-
<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#
|
|
840
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00163">163</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
841
|
+
<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.find(kindStr) == <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.end())</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">totalKind</a>++;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.insert({kindStr, kind});</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> kind;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ad2d56d8cdc4539d4201d1995fb36e772"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">SVF::GrammarBase::str2Kind</a></div><div class="ttdeci">Kind str2Kind(std::string str) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00055">CFLGrammar.cpp:55</a></div></div>
|
|
842
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
|
|
843
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac9f86b0861e93eee2548aa7f5f3b7b7f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac9f86b0861e93eee2548aa7f5f3b7b7f">SVF::GrammarBase::totalKind</a></div><div class="ttdeci">u32_t totalKind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00291">CFLGrammar.h:291</a></div></div>
|
|
844
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
|
|
679
845
|
</div><!-- fragment -->
|
|
680
846
|
</div>
|
|
681
847
|
</div>
|
|
@@ -695,10 +861,10 @@ Private Attributes</h2></td></tr>
|
|
|
695
861
|
</table>
|
|
696
862
|
</div><div class="memdoc">
|
|
697
863
|
|
|
698
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
699
|
-
<div class="fragment"><div class="line"><a name="
|
|
864
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00099">99</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
865
|
+
<div class="fragment"><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &i : <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  key = i.first;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &ni : <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  nkey = ni.first;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
|
|
700
866
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
701
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
867
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
|
|
702
868
|
</div><!-- fragment -->
|
|
703
869
|
</div>
|
|
704
870
|
</div>
|
|
@@ -718,8 +884,8 @@ Private Attributes</h2></td></tr>
|
|
|
718
884
|
</table>
|
|
719
885
|
</div><div class="memdoc">
|
|
720
886
|
|
|
721
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
722
|
-
<div class="fragment"><div class="line"><a name="
|
|
887
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00050">50</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
888
|
+
<div class="fragment"><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> {</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  this-><a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a> = <a class="code" href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">attributeKinds</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ac3324324d2146cf04680cc4a4e444a2d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac3324324d2146cf04680cc4a4e444a2d">SVF::GrammarBase::attributeKinds</a></div><div class="ttdeci">Set< Kind > attributeKinds</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00288">CFLGrammar.h:288</a></div></div>
|
|
723
889
|
</div><!-- fragment -->
|
|
724
890
|
</div>
|
|
725
891
|
</div>
|
|
@@ -739,8 +905,8 @@ Private Attributes</h2></td></tr>
|
|
|
739
905
|
</table>
|
|
740
906
|
</div><div class="memdoc">
|
|
741
907
|
|
|
742
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
743
|
-
<div class="fragment"><div class="line"><a name="
|
|
908
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00045">45</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
909
|
+
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  this-><a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">kind2AttrsMap</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a9782f4baeece8095f8a55cadd049ffce"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce">SVF::GrammarBase::kind2AttrsMap</a></div><div class="ttdeci">Map< Kind, Set< Attribute > > kind2AttrsMap</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00289">CFLGrammar.h:289</a></div></div>
|
|
744
910
|
</div><!-- fragment -->
|
|
745
911
|
</div>
|
|
746
912
|
</div>
|
|
@@ -768,13 +934,13 @@ Private Attributes</h2></td></tr>
|
|
|
768
934
|
</table>
|
|
769
935
|
</div><div class="memdoc">
|
|
770
936
|
|
|
771
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
772
|
-
<div class="fragment"><div class="line"><a name="
|
|
937
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00184">184</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
938
|
+
<div class="fragment"><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</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="l00187"></a><span class="lineno"> 187</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#l00286">CFLGrammar.h:286</a></div></div>
|
|
773
939
|
</div><!-- fragment -->
|
|
774
940
|
</div>
|
|
775
941
|
</div>
|
|
776
|
-
<a id="
|
|
777
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
942
|
+
<a id="a2eb6ab294093710ca1dc119836adff5a"></a>
|
|
943
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2eb6ab294093710ca1dc119836adff5a">◆ </a></span>setRawProductions()</h2>
|
|
778
944
|
|
|
779
945
|
<div class="memitem">
|
|
780
946
|
<div class="memproto">
|
|
@@ -782,15 +948,15 @@ Private Attributes</h2></td></tr>
|
|
|
782
948
|
<tr>
|
|
783
949
|
<td class="memname">void GrammarBase::setRawProductions </td>
|
|
784
950
|
<td>(</td>
|
|
785
|
-
<td class="paramtype"><a class="el" href="
|
|
951
|
+
<td class="paramtype"><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>
|
|
786
952
|
<td class="paramname"><em>rawProductions</em></td><td>)</td>
|
|
787
953
|
<td></td>
|
|
788
954
|
</tr>
|
|
789
955
|
</table>
|
|
790
956
|
</div><div class="memdoc">
|
|
791
957
|
|
|
792
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
793
|
-
<div class="fragment"><div class="line"><a name="
|
|
958
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00040">40</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
959
|
+
<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> {</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  this-><a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">rawProductions</a>;</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_a5ba80e2f28d7b7a722a24901fcaf4ffd"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a5ba80e2f28d7b7a722a24901fcaf4ffd">SVF::GrammarBase::rawProductions</a></div><div class="ttdeci">SymbolMap< Symbol, Productions > rawProductions</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00290">CFLGrammar.h:290</a></div></div>
|
|
794
960
|
</div><!-- fragment -->
|
|
795
961
|
</div>
|
|
796
962
|
</div>
|
|
@@ -818,8 +984,8 @@ Private Attributes</h2></td></tr>
|
|
|
818
984
|
</table>
|
|
819
985
|
</div><div class="memdoc">
|
|
820
986
|
|
|
821
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
822
|
-
<div class="fragment"><div class="line"><a name="
|
|
987
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00219">219</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
988
|
+
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</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="l00222"></a><span class="lineno"> 222</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#l00284">CFLGrammar.h:284</a></div></div>
|
|
823
989
|
</div><!-- fragment -->
|
|
824
990
|
</div>
|
|
825
991
|
</div>
|
|
@@ -847,8 +1013,8 @@ Private Attributes</h2></td></tr>
|
|
|
847
1013
|
</table>
|
|
848
1014
|
</div><div class="memdoc">
|
|
849
1015
|
|
|
850
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
851
|
-
<div class="fragment"><div class="line"><a name="
|
|
1016
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00194">194</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1017
|
+
<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</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="l00197"></a><span class="lineno"> 197</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#l00287">CFLGrammar.h:287</a></div></div>
|
|
852
1018
|
</div><!-- fragment -->
|
|
853
1019
|
</div>
|
|
854
1020
|
</div>
|
|
@@ -876,8 +1042,8 @@ Private Attributes</h2></td></tr>
|
|
|
876
1042
|
</table>
|
|
877
1043
|
</div><div class="memdoc">
|
|
878
1044
|
|
|
879
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
880
|
-
<div class="fragment"><div class="line"><a name="
|
|
1045
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00224">224</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1046
|
+
<div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</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="l00227"></a><span class="lineno"> 227</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#l00291">CFLGrammar.h:291</a></div></div>
|
|
881
1047
|
</div><!-- fragment -->
|
|
882
1048
|
</div>
|
|
883
1049
|
</div>
|
|
@@ -897,11 +1063,40 @@ Private Attributes</h2></td></tr>
|
|
|
897
1063
|
</table>
|
|
898
1064
|
</div><div class="memdoc">
|
|
899
1065
|
|
|
900
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
901
|
-
<div class="fragment"><div class="line"><a name="
|
|
902
|
-
<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#
|
|
1066
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00055">55</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
1067
|
+
<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">auto</span> tit = <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.find(str);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span>(tit!=<a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>.end())</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> tit->second;</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">auto</span> nit = <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.find(str);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span>(nit!=<a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>.end())</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> nit->second;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"kind not found!"</span>);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a>();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1068
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
|
|
903
1069
|
<div class="ttc" id="util_8h_html_a23c00958edf66c39625a0d535dee57b7"><div class="ttname"><a href="util_8h.html#a23c00958edf66c39625a0d535dee57b7">abort</a></div><div class="ttdeci">VOID_OR_INT abort()</div></div>
|
|
904
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
1070
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
|
|
1071
|
+
</div><!-- fragment -->
|
|
1072
|
+
</div>
|
|
1073
|
+
</div>
|
|
1074
|
+
<a id="a5c081c6ff0501fc91b71352995d6d9dc"></a>
|
|
1075
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5c081c6ff0501fc91b71352995d6d9dc">◆ </a></span>str2Symbol()</h2>
|
|
1076
|
+
|
|
1077
|
+
<div class="memitem">
|
|
1078
|
+
<div class="memproto">
|
|
1079
|
+
<table class="memname">
|
|
1080
|
+
<tr>
|
|
1081
|
+
<td class="memname"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">GrammarBase::Symbol</a> GrammarBase::str2Symbol </td>
|
|
1082
|
+
<td>(</td>
|
|
1083
|
+
<td class="paramtype">const <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> </td>
|
|
1084
|
+
<td class="paramname"><em>str</em></td><td>)</td>
|
|
1085
|
+
<td> const</td>
|
|
1086
|
+
</tr>
|
|
1087
|
+
</table>
|
|
1088
|
+
</div><div class="memdoc">
|
|
1089
|
+
|
|
1090
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00070">70</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
1091
|
+
<div class="fragment"><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ad4f53184d04d9f7a737b19f63d002550">Symbol</a> symbol;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</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="l00074"></a><span class="lineno"> 74</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="l00075"></a><span class="lineno"> 75</span>  symbol.kind = <a class="code" href="classSVF_1_1GrammarBase.html#ad2d56d8cdc4539d4201d1995fb36e772">str2Kind</a>(kindStr);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">if</span> ( attributeStr == <span class="stringliteral">""</span>) <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">if</span> ( (attributeStr.size() == 1) && (std::isalpha(attributeStr[attributeStr.size()-1])) )</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>  symbol.variableAttribute = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)attributeStr[attributeStr.size()-1];</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">else</span></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>  <span class="keywordflow">for</span>( <span class="keywordtype">char</span> &c : attributeStr)</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">if</span> ( std::isdigit(c) == <span class="keyword">false</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>  <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="l00090"></a><span class="lineno"> 90</span>  << <span class="stringliteral">" Attribute:"</span> << attributeStr << <span class="stringliteral">" (only number or single alphabet.)"</span>;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"grammar loading failed!"</span>);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  symbol.attribute = std::stoi(attributeStr);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">return</span> symbol;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1092
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00084">SVFBasicTypes.h:84</a></div></div>
|
|
1093
|
+
<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>
|
|
1094
|
+
<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>
|
|
1095
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9cc406edc117b3abd07a85f66ca892a0"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9cc406edc117b3abd07a85f66ca892a0">SVF::GrammarBase::extractKindStrFromSymbolStr</a></div><div class="ttdeci">std::string extractKindStrFromSymbolStr(const std::string symbolStr) const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8cpp_source.html#l00193">CFLGrammar.cpp:193</a></div></div>
|
|
1096
|
+
<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#l00205">CFLGrammar.cpp:205</a></div></div>
|
|
1097
|
+
<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>
|
|
1098
|
+
<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#l00077">SVFUtil.cpp:77</a></div></div>
|
|
1099
|
+
<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>
|
|
905
1100
|
</div><!-- fragment -->
|
|
906
1101
|
</div>
|
|
907
1102
|
</div>
|
|
@@ -914,26 +1109,49 @@ Private Attributes</h2></td></tr>
|
|
|
914
1109
|
<tr>
|
|
915
1110
|
<td class="memname"><a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> GrammarBase::sym2StrDump </td>
|
|
916
1111
|
<td>(</td>
|
|
917
|
-
<td class="paramtype"><a class="el" href="
|
|
1112
|
+
<td class="paramtype"><a class="el" href="structSVF_1_1GrammarBase_1_1Symbol.html">Symbol</a> </td>
|
|
918
1113
|
<td class="paramname"><em>sym</em></td><td>)</td>
|
|
919
1114
|
<td> const</td>
|
|
920
1115
|
</tr>
|
|
921
1116
|
</table>
|
|
922
1117
|
</div><div class="memdoc">
|
|
923
1118
|
|
|
924
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#
|
|
925
|
-
<div class="fragment"><div class="line"><a name="
|
|
926
|
-
<div class="ttc" id="
|
|
927
|
-
<div class="ttc" id="
|
|
928
|
-
<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#l00041">CFLGrammar.h:41</a></div></div>
|
|
929
|
-
<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#l00145">CFLGrammar.h:145</a></div></div>
|
|
930
|
-
<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#l00042">CFLGrammar.h:42</a></div></div>
|
|
1119
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8cpp_source.html#l00125">125</a> of file <a class="el" href="CFLGrammar_8cpp_source.html">CFLGrammar.cpp</a>.</p>
|
|
1120
|
+
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">Kind</a> kind = sym.kind;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <a class="code" href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">Attribute</a> attribute = sym.attribute;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> key = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &i : <a class="code" href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">terminals</a>)</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">if</span> (i.second == kind)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  key = i.first;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  key.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  key.append(std::to_string(attribute));</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> key;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> nkey = <span class="stringliteral">""</span>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &ni : <a class="code" href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">nonterminals</a>)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">if</span> (ni.second == kind)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  {</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  nkey = ni.first;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">if</span>(attribute != 0)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  nkey.append(<span class="stringliteral">"_"</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  nkey.append(std::to_string(attribute));</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">return</span> nkey;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_ab070e5449d26e347b957d8b994d0303f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ab070e5449d26e347b957d8b994d0303f">SVF::GrammarBase::Attribute</a></div><div class="ttdeci">u32_t Attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00040">CFLGrammar.h:40</a></div></div>
|
|
1121
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a079915fce4eb8e63433b06d79127261a"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a079915fce4eb8e63433b06d79127261a">SVF::GrammarBase::terminals</a></div><div class="ttdeci">Map< std::string, Kind > terminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00287">CFLGrammar.h:287</a></div></div>
|
|
1122
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a7aef5c42fbd8a62dd4a541cc0e8e8187"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187">SVF::GrammarBase::Kind</a></div><div class="ttdeci">u32_t Kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00039">CFLGrammar.h:39</a></div></div>
|
|
931
1123
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
932
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
1124
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_ac0e54c6a5e87f9d91a5296504914849b"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#ac0e54c6a5e87f9d91a5296504914849b">SVF::GrammarBase::nonterminals</a></div><div class="ttdeci">Map< std::string, Kind > nonterminals</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00286">CFLGrammar.h:286</a></div></div>
|
|
933
1125
|
</div><!-- fragment -->
|
|
934
1126
|
</div>
|
|
935
1127
|
</div>
|
|
936
1128
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
1129
|
+
<a id="a2dcb7647b5be7b3ab1dad2c494828854"></a>
|
|
1130
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2dcb7647b5be7b3ab1dad2c494828854">◆ </a></span>AttributedKindMaskBits</h2>
|
|
1131
|
+
|
|
1132
|
+
<div class="memitem">
|
|
1133
|
+
<div class="memproto">
|
|
1134
|
+
<table class="mlabels">
|
|
1135
|
+
<tr>
|
|
1136
|
+
<td class="mlabels-left">
|
|
1137
|
+
<table class="memname">
|
|
1138
|
+
<tr>
|
|
1139
|
+
<td class="memname">constexpr unsigned char SVF::GrammarBase::AttributedKindMaskBits = 24</td>
|
|
1140
|
+
</tr>
|
|
1141
|
+
</table>
|
|
1142
|
+
</td>
|
|
1143
|
+
<td class="mlabels-right">
|
|
1144
|
+
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">protected</span></span> </td>
|
|
1145
|
+
</tr>
|
|
1146
|
+
</table>
|
|
1147
|
+
</div><div class="memdoc">
|
|
1148
|
+
|
|
1149
|
+
<p>We use the lower 24 bits to denote attributed kind. </p>
|
|
1150
|
+
|
|
1151
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00282">282</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1152
|
+
|
|
1153
|
+
</div>
|
|
1154
|
+
</div>
|
|
937
1155
|
<a id="ac3324324d2146cf04680cc4a4e444a2d"></a>
|
|
938
1156
|
<h2 class="memtitle"><span class="permalink"><a href="#ac3324324d2146cf04680cc4a4e444a2d">◆ </a></span>attributeKinds</h2>
|
|
939
1157
|
|
|
@@ -954,7 +1172,7 @@ Private Attributes</h2></td></tr>
|
|
|
954
1172
|
</table>
|
|
955
1173
|
</div><div class="memdoc">
|
|
956
1174
|
|
|
957
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1175
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00288">288</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
958
1176
|
|
|
959
1177
|
</div>
|
|
960
1178
|
</div>
|
|
@@ -978,7 +1196,7 @@ Private Attributes</h2></td></tr>
|
|
|
978
1196
|
</table>
|
|
979
1197
|
</div><div class="memdoc">
|
|
980
1198
|
|
|
981
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1199
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00283">283</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
982
1200
|
|
|
983
1201
|
</div>
|
|
984
1202
|
</div>
|
|
@@ -1004,7 +1222,7 @@ Private Attributes</h2></td></tr>
|
|
|
1004
1222
|
|
|
1005
1223
|
<p>We use the lower 8 bits to denote edge kind. </p>
|
|
1006
1224
|
|
|
1007
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1225
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00281">281</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1008
1226
|
|
|
1009
1227
|
</div>
|
|
1010
1228
|
</div>
|
|
@@ -1028,7 +1246,7 @@ Private Attributes</h2></td></tr>
|
|
|
1028
1246
|
</table>
|
|
1029
1247
|
</div><div class="memdoc">
|
|
1030
1248
|
|
|
1031
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1249
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00289">289</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1032
1250
|
|
|
1033
1251
|
</div>
|
|
1034
1252
|
</div>
|
|
@@ -1052,12 +1270,12 @@ Private Attributes</h2></td></tr>
|
|
|
1052
1270
|
</table>
|
|
1053
1271
|
</div><div class="memdoc">
|
|
1054
1272
|
|
|
1055
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1273
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00286">286</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1056
1274
|
|
|
1057
1275
|
</div>
|
|
1058
1276
|
</div>
|
|
1059
|
-
<a id="
|
|
1060
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1277
|
+
<a id="a5ba80e2f28d7b7a722a24901fcaf4ffd"></a>
|
|
1278
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5ba80e2f28d7b7a722a24901fcaf4ffd">◆ </a></span>rawProductions</h2>
|
|
1061
1279
|
|
|
1062
1280
|
<div class="memitem">
|
|
1063
1281
|
<div class="memproto">
|
|
@@ -1066,7 +1284,7 @@ Private Attributes</h2></td></tr>
|
|
|
1066
1284
|
<td class="mlabels-left">
|
|
1067
1285
|
<table class="memname">
|
|
1068
1286
|
<tr>
|
|
1069
|
-
<td class="memname"><a class="el" href="
|
|
1287
|
+
<td class="memname"><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>> SVF::GrammarBase::rawProductions</td>
|
|
1070
1288
|
</tr>
|
|
1071
1289
|
</table>
|
|
1072
1290
|
</td>
|
|
@@ -1076,7 +1294,7 @@ Private Attributes</h2></td></tr>
|
|
|
1076
1294
|
</table>
|
|
1077
1295
|
</div><div class="memdoc">
|
|
1078
1296
|
|
|
1079
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1297
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00290">290</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1080
1298
|
|
|
1081
1299
|
</div>
|
|
1082
1300
|
</div>
|
|
@@ -1100,7 +1318,7 @@ Private Attributes</h2></td></tr>
|
|
|
1100
1318
|
</table>
|
|
1101
1319
|
</div><div class="memdoc">
|
|
1102
1320
|
|
|
1103
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1321
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00284">284</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1104
1322
|
|
|
1105
1323
|
</div>
|
|
1106
1324
|
</div>
|
|
@@ -1124,12 +1342,12 @@ Private Attributes</h2></td></tr>
|
|
|
1124
1342
|
</table>
|
|
1125
1343
|
</div><div class="memdoc">
|
|
1126
1344
|
|
|
1127
|
-
<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#l00287">287</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1128
1346
|
|
|
1129
1347
|
</div>
|
|
1130
1348
|
</div>
|
|
1131
|
-
<a id="
|
|
1132
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1349
|
+
<a id="ac9f86b0861e93eee2548aa7f5f3b7b7f"></a>
|
|
1350
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac9f86b0861e93eee2548aa7f5f3b7b7f">◆ </a></span>totalKind</h2>
|
|
1133
1351
|
|
|
1134
1352
|
<div class="memitem">
|
|
1135
1353
|
<div class="memproto">
|
|
@@ -1138,7 +1356,7 @@ Private Attributes</h2></td></tr>
|
|
|
1138
1356
|
<td class="mlabels-left">
|
|
1139
1357
|
<table class="memname">
|
|
1140
1358
|
<tr>
|
|
1141
|
-
<td class="memname"><a class="el" href="
|
|
1359
|
+
<td class="memname"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> SVF::GrammarBase::totalKind</td>
|
|
1142
1360
|
</tr>
|
|
1143
1361
|
</table>
|
|
1144
1362
|
</td>
|
|
@@ -1148,7 +1366,7 @@ Private Attributes</h2></td></tr>
|
|
|
1148
1366
|
</table>
|
|
1149
1367
|
</div><div class="memdoc">
|
|
1150
1368
|
|
|
1151
|
-
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#
|
|
1369
|
+
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00291">291</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
1152
1370
|
|
|
1153
1371
|
</div>
|
|
1154
1372
|
</div>
|