buffalo
Loading...
Searching...
No Matches
bf::DefineNonTerminal< G, DebugName, SemanticValue > Class Template Reference

#include <buffalo.h>

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

Public Member Functions

SemanticValueoperator() (typename G::ValueType &value)
 
 DefineNonTerminal ()=delete
 
 DefineNonTerminal (Terminal< G > &single_terminal)
 
 DefineNonTerminal (NonTerminal< G > &single_non_terminal)
 
 DefineNonTerminal (ProductionRule< G > const &rule)
 
 DefineNonTerminal (ProductionRuleList< G > const &rule_list)
 
- Public Member Functions inherited from bf::NonTerminal< G >
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")
 

Additional Inherited Members

- Public Types inherited from bf::NonTerminal< G >
using TransductorType = void(*)(ValueTokenAccessor< G > &)
 
- Protected Attributes inherited from bf::NonTerminal< G >
std::string name_ = "unknown"
 
std::vector< ProductionRule< G > > rules_
 

Detailed Description

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
class bf::DefineNonTerminal< G, DebugName, SemanticValue >

DEFINE NON-TERMINAL

Definition at line 539 of file buffalo.h.

Constructor & Destructor Documentation

◆ DefineNonTerminal() [1/5]

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
bf::DefineNonTerminal< G, DebugName, SemanticValue >::DefineNonTerminal ( )
delete

◆ DefineNonTerminal() [2/5]

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
bf::DefineNonTerminal< G, DebugName, SemanticValue >::DefineNonTerminal ( Terminal< G > &  single_terminal)
inline

Definition at line 549 of file buffalo.h.

◆ DefineNonTerminal() [3/5]

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
bf::DefineNonTerminal< G, DebugName, SemanticValue >::DefineNonTerminal ( NonTerminal< G > &  single_non_terminal)
inline

Definition at line 550 of file buffalo.h.

◆ DefineNonTerminal() [4/5]

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
bf::DefineNonTerminal< G, DebugName, SemanticValue >::DefineNonTerminal ( ProductionRule< G > const rule)
inline

Definition at line 552 of file buffalo.h.

◆ DefineNonTerminal() [5/5]

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
bf::DefineNonTerminal< G, DebugName, SemanticValue >::DefineNonTerminal ( ProductionRuleList< G > const rule_list)
inline

Definition at line 553 of file buffalo.h.

Member Function Documentation

◆ operator()()

template<IGrammar G, ctll::fixed_string DebugName = "Generic", typename SemanticValue = Dummy>
SemanticValue & bf::DefineNonTerminal< G, DebugName, SemanticValue >::operator() ( typename G::ValueType value)
inline

Definition at line 542 of file buffalo.h.


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