#include <CFLGramGraphChecker.h>
Definition at line 37 of file CFLGramGraphChecker.h.
◆ check()
Check all kinds in grammar in graphBuilder with the same label
Get KindToAttrs Map from Graph to Grammar
Definition at line 40 of file CFLGramGraphChecker.h.
43 for(
auto pairV : grammar->getTerminals())
45 if (graphBuilder->getLabelToKindMap().find(pairV.first) != graphBuilder->getLabelToKindMap().end())
47 assert(graphBuilder->getLabelToKindMap()[pairV.first] == pairV.second);
48 assert(graphBuilder->getKindToLabelMap()[pairV.second] == pairV.first);
52 for(
auto pairV : grammar->getNonterminals())
54 if (graphBuilder->getLabelToKindMap().find(pairV.first) != graphBuilder->getLabelToKindMap().end())
56 assert(graphBuilder->getLabelToKindMap()[pairV.first] == pairV.second);
57 assert(graphBuilder->getKindToLabelMap()[pairV.second] == pairV.first);
61 graphBuilder->getLabelToKindMap().insert(std::make_pair (pairV.first,pairV.second));
62 graphBuilder->getKindToLabelMap().insert(std::make_pair (pairV.second, pairV.first));
67 grammar->setKindToAttrsMap(graphBuilder->getKindToAttrsMap());
68 graph->startKind = grammar->getStartKind();
The documentation for this class was generated from the following file: