#include "clang-pseudo/GLR.h"
#include "clang-pseudo/Bracket.h"
#include "clang-pseudo/Language.h"
#include "clang-pseudo/Token.h"
#include "clang-pseudo/grammar/Grammar.h"
#include "clang/Basic/LangOptions.h"
#include "clang/Basic/TokenKinds.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/Support/FormatVariadic.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include <memory>
namespace clang {
namespace pseudo {
llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
const std::vector<const GSS::Node *> &Heads) { … }
namespace {
StateID;
AllOf;
ElementsAre;
IsEmpty;
UnorderedElementsAre;
MATCHER_P(state, StateID, "") { … }
MATCHER_P(parsedSymbol, FNode, "") { … }
MATCHER_P(parsedSymbolID, SID, "") { … }
MATCHER_P(start, Start, "") { … }
testing::Matcher<const GSS::Node *>
parents(llvm::ArrayRef<const GSS::Node *> Parents) { … }
Token::Index recoverBraces(Token::Index Begin, const TokenStream &Code) { … }
class GLRTest : public ::testing::Test { … };
TEST_F(GLRTest, ShiftMergingHeads) { … }
TEST_F(GLRTest, ReduceConflictsSplitting) { … }
TEST_F(GLRTest, ReduceSplittingDueToMultipleBases) { … }
TEST_F(GLRTest, ReduceJoiningWithMultipleBases) { … }
TEST_F(GLRTest, ReduceJoiningWithSameBase) { … }
TEST_F(GLRTest, ReduceLookahead) { … }
TEST_F(GLRTest, Recover) { … }
TEST_F(GLRTest, RecoverRightmost) { … }
TEST_F(GLRTest, RecoverAlternatives) { … }
TEST_F(GLRTest, PerfectForestNodeSharing) { … }
TEST_F(GLRTest, GLRReduceOrder) { … }
TEST_F(GLRTest, RecoveryEndToEnd) { … }
TEST_F(GLRTest, RecoverTerminal) { … }
TEST_F(GLRTest, RecoverUnrestrictedReduce) { … }
TEST_F(GLRTest, RecoveryFromStartOfInput) { … }
TEST_F(GLRTest, RepeatedRecovery) { … }
TEST_F(GLRTest, NoExplicitAccept) { … }
TEST_F(GLRTest, GuardExtension) { … }
TEST(GSSTest, GC) { … }
}
}
}