43 {
45 for(auto pairV : grammar->getTerminals())
46 {
47 if (graphBuilder->getLabelToKindMap().find(pairV.first) != graphBuilder->getLabelToKindMap().end())
48 {
49 assert(graphBuilder->getLabelToKindMap()[pairV.first] == pairV.second);
50 assert(graphBuilder->getKindToLabelMap()[pairV.second] == pairV.first);
51 }
52 }
53
54 for(auto pairV : grammar->getNonterminals())
55 {
56 if (graphBuilder->getLabelToKindMap().find(pairV.first) != graphBuilder->getLabelToKindMap().end())
57 {
58 assert(graphBuilder->getLabelToKindMap()[pairV.first] == pairV.second);
59 assert(graphBuilder->getKindToLabelMap()[pairV.second] == pairV.first);
60 }
61 else
62 {
63 graphBuilder->getLabelToKindMap().insert(std::make_pair (pairV.first,pairV.second));
64 graphBuilder->getKindToLabelMap().insert(std::make_pair (pairV.second, pairV.first));
65 }
66 }
67
69 grammar->setKindToAttrsMap(graphBuilder->getKindToAttrsMap());
70 graph->startKind = grammar->getStartKind();
71 }