bux API Reference 1.9.0
Static library of whatever are seen required in general purpose but not directly supported from Modern C++. Or whatever reusable originated from my side projects.
Loading...
Searching...
No Matches
bux::GLR Namespace Reference

Classes

class  C_Parser
 
struct  I_ParserPolicy
 

Typedefs

typedef unsigned T_ActionId
 
typedef std::shared_ptr< const I_LexAttrC_LexPtr
 
typedef C_LexInfoT< const I_LexAttr, std::shared_ptr > C_LexInfo
 
typedef F_GetProducedT< const I_LexAttr, std::shared_ptr > F_GetProduced
 
typedef std::function< void(C_Parser &parser)> F_OncePostShift
 
typedef std::function< void(C_Parser &, const F_GetProduced &, C_LexPtr &, F_OncePostShift &)> FH_Reduce
 
typedef FC_GetRelLexT< const I_LexAttr, std::shared_ptr > FC_GetRelLex
 
typedef C_RetLvalT< const I_LexAttr, std::shared_ptr > C_RetLval
 

Enumerations

enum  { ACTION_SHIFT , ACTION_ACCEPT , ACTION_REDUCE_MIN }
 

Functions

template<class T_Key , class T_Value , class T_ValueOrSize , class T_Traits >
std::vector< T_Value > index2values (U_K2V< T_Key, T_Value > k2v, T_ValueOrSize valOrSz, T_LexID key)
 
template<class T >
std::shared_ptr< C_LexDataT< T > > dupLex (const I_LexAttr &lex)
 
template<class T >
std::shared_ptr< C_LexDataT< T > > tryDupLex (const std::shared_ptr< const I_LexAttr > &lex)
 
template<class T >
std::shared_ptr< C_LexDataT< T > > tryDupLex (const C_LexInfoT< const I_LexAttr, std::shared_ptr > &lex)
 

Typedef Documentation

◆ C_LexInfo

typedef C_LexInfoT<const I_LexAttr,std::shared_ptr> bux::GLR::C_LexInfo

Definition at line 26 of file GLR.h.

◆ C_LexPtr

typedef std::shared_ptr<const I_LexAttr> bux::GLR::C_LexPtr

Definition at line 25 of file GLR.h.

◆ C_RetLval

typedef C_RetLvalT<const I_LexAttr,std::shared_ptr> bux::GLR::C_RetLval

Definition at line 18 of file ImplGLR.h.

◆ F_GetProduced

typedef F_GetProducedT<const I_LexAttr,std::shared_ptr> bux::GLR::F_GetProduced

Definition at line 27 of file GLR.h.

◆ F_OncePostShift

typedef std::function<void(C_Parser &parser)> bux::GLR::F_OncePostShift

Definition at line 30 of file GLR.h.

◆ FC_GetRelLex

typedef FC_GetRelLexT<const I_LexAttr,std::shared_ptr> bux::GLR::FC_GetRelLex

Definition at line 17 of file ImplGLR.h.

◆ FH_Reduce

typedef std::function<void(C_Parser&, const F_GetProduced&, C_LexPtr&, F_OncePostShift&)> bux::GLR::FH_Reduce

Definition at line 31 of file GLR.h.

◆ T_ActionId

typedef unsigned bux::GLR::T_ActionId

Definition at line 24 of file GLR.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ACTION_SHIFT 
ACTION_ACCEPT 
ACTION_REDUCE_MIN 

Definition at line 14 of file GLR.h.

Function Documentation

◆ dupLex()

template<class T >
std::shared_ptr< C_LexDataT< T > > bux::GLR::dupLex ( const I_LexAttr & lex)

Definition at line 58 of file ImplGLR.h.

References bux::unlex().

◆ index2values()

template<class T_Key , class T_Value , class T_ValueOrSize , class T_Traits >
std::vector< T_Value > bux::GLR::index2values ( U_K2V< T_Key, T_Value > k2v,
T_ValueOrSize valOrSz,
T_LexID key )

◆ tryDupLex() [1/2]

template<class T >
std::shared_ptr< C_LexDataT< T > > bux::GLR::tryDupLex ( const C_LexInfoT< const I_LexAttr, std::shared_ptr > & lex)

Definition at line 73 of file ImplGLR.h.

References bux::tryUnlex().

◆ tryDupLex() [2/2]

template<class T >
std::shared_ptr< C_LexDataT< T > > bux::GLR::tryDupLex ( const std::shared_ptr< const I_LexAttr > & lex)

Definition at line 64 of file ImplGLR.h.

References bux::tryUnlex().