Spicy
Public Member Functions | Public Attributes | List of all members
spicy::detail::codegen::ProductionVisitor Struct Reference
Inheritance diagram for spicy::detail::codegen::ProductionVisitor:
hilti::detail::visitor::Visitor< void, ProductionVisitor, Production, hilti::detail::visitor::Order::Pre >

Public Member Functions

 ProductionVisitor (ParserBuilder *pb, const Grammar &g)
 
auto cg ()
 
auto state ()
 
void pushState (ParserState p)
 
auto popState ()
 
auto builder ()
 
auto pushBuilder (std::shared_ptr< builder::Builder > b)
 
auto pushBuilder ()
 
auto pushBuilder (std::shared_ptr< hilti::builder::Builder > b, const std::function< void()> &func)
 
auto popBuilder ()
 
auto destination ()
 
auto pushDestination (Expression e)
 
auto popDestination ()
 
void beginProduction (const Production &p)
 
void endProduction (const Production &p)
 
void parseNonAtomicProduction (const Production &p, const std::optional< type::Unit > &unit)
 
Expression _parseProduction (const Production &p, bool top_level, const production::Meta &meta)
 
std::optional< Expression > preParseField (const Production &, const production::Meta &meta)
 
void postParseField (const Production &p, const production::Meta &meta, const std::optional< Expression > &pre_container_offset)
 
Expression parseProduction (const Production &p, bool top_level=false)
 
void skipRegExp (const Expression &e)
 
void getLookAhead (const production::LookAhead &lp)
 
void getLookAhead (const std::set< Production > &tokens, const std::string &symbol, const Location &location, LiteralMode mode=LiteralMode::Try)
 
void syncProduction (const Production &p_)
 
void syncProductionNext (const Production &p)
 
void addParseMethod (bool add_decl, const ID &id, Statement body, std::optional< type::function::Parameter > addl_param={}, const Meta &m={})
 
void redirectInputToBytesValue (const Expression &value)
 
void redirectInputToStreamPosition (const Expression &position)
 
void startSynchronize (const Production &sync)
 
void finishSynchronize ()
 
void operator() (const production::Epsilon &)
 
void operator() (const production::Counter &p)
 
void operator() (const production::Enclosure &p)
 
void operator() (const production::ForEach &p)
 
void operator() (const production::Resolved &p)
 
void operator() (const production::Switch &p)
 
void operator() (const production::Unit &p)
 
void operator() (const production::Ctor &p)
 
auto parseLookAhead (const production::LookAhead &p)
 
void operator() (const production::LookAhead &p)
 
void operator() (const production::Sequence &p)
 
void operator() (const production::Variable &p)
 
void operator() (const production::While &p)
 
- Public Member Functions inherited from hilti::detail::visitor::Visitor< void, ProductionVisitor, Production, hilti::detail::visitor::Order::Pre >
virtual void preDispatch (const Production &, int)
 
auto dispatch (position_t &i)
 
auto dispatch (const_position_t &i)
 
auto dispatch (Production *n)
 
auto dispatch (const Production &n)
 
auto walk (const Production &root)
 
auto walk (Production *root)
 

Public Attributes

ParserBuilderpb
 
const Grammargrammar
 
hilti::util::Cache< std::string, IDparse_functions
 
std::vector< hilti::declaration::Fieldnew_fields
 
std::vector< Expression > _destinations
 

Additional Inherited Members

- Public Types inherited from hilti::detail::visitor::Visitor< void, ProductionVisitor, Production, hilti::detail::visitor::Order::Pre >
using result_t = void
 
using erased_t = Production
 
using base_t = Visitor< void, ProductionVisitor, Production, order >
 
using visitor_t = ProductionVisitor
 
using iterator_t = Iterator< Production, order, false >
 
using const_iterator_t = Iterator< Production, order, true >
 
using position_t = typename iterator_t::Position
 
using const_position_t = typename const_iterator_t::Position
 
- Static Public Attributes inherited from hilti::detail::visitor::Visitor< void, ProductionVisitor, Production, hilti::detail::visitor::Order::Pre >
static const Order order_
 

Member Function Documentation

◆ finishSynchronize()

void spicy::detail::codegen::ProductionVisitor::finishSynchronize ( )
inline

End sync and trial mode.


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