buffalo
Loading...
Searching...
No Matches
buffalo.h File Reference
#include <memory>
#include <algorithm>
#include <cctype>
#include <expected>
#include <map>
#include <optional>
#include <ranges>
#include <set>
#include <stack>
#include <stdexcept>
#include <variant>
#include <vector>
#include <ctre.hpp>
#include <ctll.hpp>

Go to the source code of this file.

Classes

struct  bf::overload< Ts >
 
struct  bf::Location
 
struct  bf::Error
 
struct  bf::GrammarDefinitionError
 
struct  bf::ParsingError
 
struct  bf::ProductionRuleList< G >
 
struct  bf::Token< G >
 
struct  bf::Dummy
 
class  bf::GrammarDefinition< GValueType, GUserDataType >
 
struct  bf::DebugSymbol
 
class  bf::Terminal< G >
 
class  bf::DefineTerminal< G, regex, SemanticType >
 
class  bf::NonTerminal< G >
 
class  bf::DefineNonTerminal< G, SemanticValue >
 
class  bf::ProductionRule< G >
 
class  bf::Grammar< G >
 
struct  bf::LRItem< G >
 
struct  bf::LRState< G >
 
struct  bf::LRAction< G >
 
class  bf::Parser< G >
 
class  bf::SLRParser< G >
 

Namespaces

namespace  bf
 

Concepts

concept  bf::IGrammar
 

Typedefs

template<IGrammar G>
using bf::Symbol = std::variant< Terminal< G > *, NonTerminal< G > * >
 
template<IGrammar G>
using bf::PR = ProductionRule< G >
 
using bf::lrstate_id_t = std::size_t
 

Enumerations

enum  bf::Associativity { bf::None , bf::Left , bf::Right }
 
enum class  bf::LRActionType { bf::kError , bf::kAccept , bf::kShift , bf::kReduce }
 

Functions

template<class... Ts>
 bf::overload (Ts...) -> overload< Ts... >
 
template<IGrammar G>
ProductionRule< Gbf::operator+ (Terminal< G > &lhs, Terminal< G > &rhs)
 
template<IGrammar G>
ProductionRule< Gbf::operator+ (Terminal< G > &lhs, NonTerminal< G > &rhs)
 
template<IGrammar G>
ProductionRule< Gbf::operator+ (NonTerminal< G > &lhs, NonTerminal< G > &rhs)
 
template<IGrammar G>
ProductionRule< Gbf::operator+ (NonTerminal< G > &lhs, Terminal< G > &rhs)
 
template<IGrammar G>
ProductionRuleList< Gbf::operator| (ProductionRule< G > const &lhs, ProductionRule< G > const &rhs)
 

Variables

template<class... >
constexpr bool bf::always_false_v = false