summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--grammer.cpp2
-rw-r--r--lexer.cpp2
-rw-r--r--test-lexer.cpp6
3 files changed, 6 insertions, 4 deletions
diff --git a/grammer.cpp b/grammer.cpp
index 796c099..508d6c5 100644
--- a/grammer.cpp
+++ b/grammer.cpp
@@ -179,7 +179,7 @@ bool Tree::Add(const Token& token, const BNF& bnf, const std::map<std::string, s
std::vector<TreeNode> parent_nodes = getParentTreeNode(bnf, reverseBNF);
if (parent_nodes.size() == 0)
- throw std::runtime_error("Couldn't add new parent node for "s + nodes[root].token.type);
+ throw std::runtime_error("Couldn't add new parent node for "s + nodes[root].token.type + "("s + std::to_string(root) + ")"s);
for (const auto &i : parent_nodes) {
AddRootNode(i);
diff --git a/lexer.cpp b/lexer.cpp
index 7717b85..a0681f4 100644
--- a/lexer.cpp
+++ b/lexer.cpp
@@ -292,7 +292,7 @@ std::vector<Token> Lexer::Lex(const std::string& s)
return result;
}
-// C++: Preprocessor Tokens To Tokens
+// TODO: C++: Preprocessor Tokens To Tokens
void Lexer::PreprocessorTokensToTokens(std::vector<Token>& tokens)
{
for (auto& i : tokens) {
diff --git a/test-lexer.cpp b/test-lexer.cpp
index 4f68fc6..71f787a 100644
--- a/test-lexer.cpp
+++ b/test-lexer.cpp
@@ -48,8 +48,10 @@ TEST_F(Test, BNF) {
std::string Top{"program"};
BNF bnf{
{"program", {{"statement-list"}}},
- {"statement-list", {{"statement-list", "statement"},
- {"statement"}, }},
+ {"statement-list", {
+ {"statement"},
+ {"statement-list", "statement"},
+ }},
{"statement", {{"assignment", ";"}}},
{"assignment", {{"identifier", "=", "identifier"},
{"identifier", "=", "pp-number"}}}