![]() |
Spicy
|
#include <production.h>
Public Member Functions | |
ProductionBase (std::string symbol, Location l=location::None) | |
bool | hasSize () const |
bool | maySynchronize () const |
const Location & | location () 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::Meta & | meta () const |
void | setMeta (production::Meta m) |
std::shared_ptr< production::Meta > | _metaInstance () const |
void | _setMetaInstance (std::shared_ptr< production::Meta > m) |
Common base class for classes implementing the Production
interface. The base implements a number of the interface methods with standard versions shared across all nodes.
|
inline |
Constructor.
symbol | symbol associated with the production; the symbol must be unique within the grammar the production is (or will be) part of (unless it's empty). |
m | meta data associated with the |
l | location associated with the production |
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Returns true if the production's associated field has a &size
attribute.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.
|
inline |
Implements the Production
interface.