llvm/clang-tools-extra/pseudo/unittests/GLRTest.cpp

//===--- GLRTest.cpp - Test the GLR parser ----------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//

#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) {}

} // namespace
} // namespace pseudo
} // namespace clang