Spicy
Public Member Functions | Public Attributes | List of all members
spicy::detail::codegen::production::Enclosure Class Reference

#include <enclosure.h>

Inheritance diagram for spicy::detail::codegen::production::Enclosure:
spicy::detail::codegen::ProductionBase spicy::trait::isNonTerminal spicy::trait::isProduction

Public Member Functions

 Enclosure (const std::string &symbol, Production child, const Location &l=location::None)
 
const Productionchild () const
 
std::vector< std::vector< Production > > rhss () const
 
std::optional< spicy::Typetype () const
 
bool nullable () const
 
bool eodOk () const
 
bool atomic () const
 
bool supportsSynchronize () const
 
std::string render () const
 
- Public Member Functions inherited from spicy::detail::codegen::ProductionBase
 ProductionBase (std::string symbol, Location l=location::None)
 
bool hasSize () const
 
bool maySynchronize () const
 
const Locationlocation () const
 
const std::string & symbol () const
 
void setSymbol (const std::string &s)
 
std::optional< Expression > filter () const
 
void setFilter (const Expression &filter)
 
std::optional< Expression > sink () const
 
void setSink (const Expression &sink)
 
const production::Metameta () const
 
void setMeta (production::Meta m)
 
std::shared_ptr< production::Meta_metaInstance () const
 
void _setMetaInstance (std::shared_ptr< production::Meta > m)
 

Public Attributes

Production _child
 

Detailed Description

A wrapper that forwards directly to another grammar (within the same unit type). This can be used to hook into starting/finishing parsing for that other grammar.


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