Home
last modified time | relevance | path

Searched refs:Nonterminals (Results 1 – 10 of 10) sorted by relevance

/llvm-project-15.0.7/clang-tools-extra/pseudo/lib/grammar/
H A DGrammarBNF.cpp68 T->Nonterminals.emplace_back(); in build()
69 T->Nonterminals.back().Name = Name.str(); in build()
71 assert(T->Nonterminals.size() < (1 << (SymbolBits - 1)) && in build()
88 for (SymbolID SID = 0; SID < T->Nonterminals.size(); ++SID) in build()
89 SymbolIds.try_emplace(T->Nonterminals[SID].Name, SID); in build()
124 T->Nonterminals[SID].RuleRange = {Start, End}; in build()
160 T->Nonterminals[SID].Name)); in getTopologicalOrder()
171 for (SymbolID ID = 0; ID != T->Nonterminals.size(); ++ID) in getTopologicalOrder()
173 std::vector<unsigned> Result(T->Nonterminals.size(), 0); in getTopologicalOrder()
320 auto Range = T.Nonterminals[SID].RuleRange; in diagnoseGrammar()
[all …]
H A DGrammar.cpp32 const auto &R = T->Nonterminals[SID].RuleRange; in rulesFor()
45 return T->Nonterminals[SID].Name; in symbolName()
72 T->Nonterminals, in findNonterminal()
74 if (It != T->Nonterminals.end() && It->Name == Name) in findNonterminal()
75 return It - T->Nonterminals.begin(); in findNonterminal()
97 const auto &Range = T->Nonterminals[SID].RuleRange; in dumpRules()
107 for (SymbolID SID = 0; SID < T->Nonterminals.size(); ++SID) in dump()
117 G.table().Nonterminals.size()); in firstSets()
150 G.table().Nonterminals.size()); in followSets()
H A DLRTable.cpp56 for (SymbolID NontermID = 0; NontermID < G.table().Nonterminals.size(); in dumpForTests()
H A DLRGraph.cpp77 auto RRange = G.table().Nonterminals[NextSym].RuleRange; in closure()
235 auto RRange = G.table().Nonterminals[G.underscore()].RuleRange; in buildLR0()
/llvm-project-15.0.7/clang-tools-extra/pseudo/unittests/
H A DForestTest.cpp33 for (SymbolID ID = 0; ID < G.table().Nonterminals.size(); ++ID) in symbol()
34 if (G.table().Nonterminals[ID].Name == Name) in symbol()
41 auto RuleRange = G.table().Nonterminals[symbol(NonterminalName)].RuleRange; in ruleFor()
43 return G.table().Nonterminals[symbol(NonterminalName)].RuleRange.Start; in ruleFor()
H A DGLRTest.cpp75 void buildGrammar(std::vector<std::string> Nonterminals, in buildGrammar() argument
77 Nonterminals.push_back("_"); in buildGrammar()
78 llvm::sort(Nonterminals); in buildGrammar()
79 Nonterminals.erase(std::unique(Nonterminals.begin(), Nonterminals.end()), in buildGrammar()
80 Nonterminals.end()); in buildGrammar()
82 for (const auto &NT : Nonterminals) in buildGrammar()
92 for (SymbolID ID = 0; ID < TestLang.G.table().Nonterminals.size(); ++ID) in id()
93 if (TestLang.G.table().Nonterminals[ID].Name == Name) in id()
109 TestLang.G.table().Nonterminals[id(NonterminalName)].RuleRange; in ruleFor()
112 .Nonterminals[id(NonterminalName)] in ruleFor()
H A DGrammarTest.cpp40 for (SymbolID ID = 0; ID < G.table().Nonterminals.size(); ++ID) in id()
41 if (G.table().Nonterminals[ID].Name == Name) in id()
48 auto RuleRange = G.table().Nonterminals[id(NonterminalName)].RuleRange; in ruleFor()
50 return G.table().Nonterminals[id(NonterminalName)].RuleRange.Start; in ruleFor()
/llvm-project-15.0.7/clang-tools-extra/pseudo/gen/
H A DMain.cpp93 for (clang::pseudo::SymbolID ID = 0; ID < G.table().Nonterminals.size(); in main()
/llvm-project-15.0.7/clang-tools-extra/pseudo/include/clang-pseudo/grammar/
H A DGrammar.h236 std::vector<Nonterminal> Nonterminals; member
H A DLRTable.h146 NumNonterminals = G.table().Nonterminals.size(); in Builder()