buffalo
Loading...
Searching...
No Matches
bf::NonTerminal< G > Class Template Reference

#include <buffalo.h>

Inheritance diagram for bf::NonTerminal< G >:
bf::DefineNonTerminal< G, DebugName, SemanticValue >

Public Types

using TransductorType = void(*)(ValueTokenAccessor< G > &)
 

Public Member Functions

char constGetName () const noexcept
 
 NonTerminal (NonTerminal &)=delete
 
 NonTerminal (NonTerminal &&)=delete
 
 NonTerminal ()=default
 
 NonTerminal (ProductionRule< G > const &rule, std::string name="unknown")
 
 NonTerminal (ProductionRuleList< G > const &rule_list, std::string name="unknown")
 

Protected Attributes

std::string name_ = "unknown"
 
std::vector< ProductionRule< G > > rules_
 

Friends

class Grammar< G >
 
struct LRState< G >
 

Detailed Description

template<IGrammar G>
class bf::NonTerminal< G >

NON-TERMINAL

Definition at line 508 of file buffalo.h.

Member Typedef Documentation

◆ TransductorType

template<IGrammar G>
using bf::NonTerminal< G >::TransductorType = void(*)(ValueTokenAccessor<G> &)

Definition at line 514 of file buffalo.h.

Constructor & Destructor Documentation

◆ NonTerminal() [1/5]

template<IGrammar G>
bf::NonTerminal< G >::NonTerminal ( NonTerminal< G > &  )
delete

◆ NonTerminal() [2/5]

template<IGrammar G>
bf::NonTerminal< G >::NonTerminal ( NonTerminal< G > &&  )
delete

◆ NonTerminal() [3/5]

template<IGrammar G>
bf::NonTerminal< G >::NonTerminal ( )
default

◆ NonTerminal() [4/5]

template<IGrammar G>
bf::NonTerminal< G >::NonTerminal ( ProductionRule< G > const rule,
std::string  name = "unknown" 
)
inline

Definition at line 531 of file buffalo.h.

◆ NonTerminal() [5/5]

template<IGrammar G>
bf::NonTerminal< G >::NonTerminal ( ProductionRuleList< G > const rule_list,
std::string  name = "unknown" 
)
inline

Definition at line 532 of file buffalo.h.

Member Function Documentation

◆ GetName()

template<IGrammar G>
char const * bf::NonTerminal< G >::GetName ( ) const
inlinenoexcept

Definition at line 521 of file buffalo.h.

Friends And Related Symbol Documentation

◆ Grammar< G >

template<IGrammar G>
friend class Grammar< G >
friend

Definition at line 501 of file buffalo.h.

◆ LRState< G >

template<IGrammar G>
friend struct LRState< G >
friend

Definition at line 501 of file buffalo.h.

Member Data Documentation

◆ name_

template<IGrammar G>
std::string bf::NonTerminal< G >::name_ = "unknown"
protected

Definition at line 517 of file buffalo.h.

◆ rules_

template<IGrammar G>
std::vector<ProductionRule<G> > bf::NonTerminal< G >::rules_
protected

Definition at line 518 of file buffalo.h.


The documentation for this class was generated from the following file: