From 1011655d2ef76a0c0aa29dbbff091dab139198e3 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Sat, 24 Oct 2020 16:32:18 +0200 Subject: Add FlowGraph --- test-grammer.cpp | 65 -------------------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 test-grammer.cpp (limited to 'test-grammer.cpp') diff --git a/test-grammer.cpp b/test-grammer.cpp deleted file mode 100644 index 1734da2..0000000 --- a/test-grammer.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "bnf.h" -#include "cpp.h" -#include "cppbnf.h" -#include "lexer.h" -#include "grammer.h" -#include "minicc.h" -#include "debug.h" - -#include - -#include "gmock/gmock.h" -#include "gtest/gtest.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std::string_literals; - -class GrammerTest: public ::testing::Test -{ -protected: - GrammerTest() { - //debug = true; - } - ~GrammerTest() { - } - - // Accessors for friend - size_t minimumSymbolsNeeded(Gram::Compiler& compiler, std::vector list) { - return compiler.minimumSymbolsNeeded(list); - } - size_t minimumSymbolsNeeded(Gram::Compiler& compiler, std::string s) { - return compiler.minimumSymbolsNeeded(s); - } -}; - -TEST_F(GrammerTest, minimumSymbolsNeeded) { - auto bnf = SubBNF(CPPBNF::GetCppBNFGram(), "translation-unit"); - - Gram::Compiler compiler(bnf, "translation-unit"); - - EXPECT_EQ(minimumSymbolsNeeded(compiler, std::vector{}), 0); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "translation-unit"), 0); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "logical-or-expression"), 1); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "assignment-expression"), 1); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "declaration"), 1); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "block-declaration"), 3); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "simple-declaration"), 2); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "asm-declaration"), 5); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "namespace-alias-definition"), 5); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "using-declaration"), 4); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "using-enum-declaration"), 4); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "using-directive"), 4); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "static_assert-declaration"), 5); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "alias-declaration"), 7); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "opaque-enum-declaration"), 3); - EXPECT_EQ(minimumSymbolsNeeded(compiler, "function-definition"), 4); -} - -- cgit v1.2.3