![]() |
Spicy
|
#include <variable.h>
Public Member Functions | |
Variable (const std::string &symbol, spicy::Type type, const Location &l=location::None) | |
spicy::Type | type () const |
bool | nullable () const |
bool | eodOk () const |
bool | atomic () const |
std::string | render () const |
![]() | |
ProductionBase (std::string symbol, Location l=location::None) | |
bool | hasSize () 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) |
A variable. A variable is a terminal that will be parsed from the input stream according to its type, yet is not recognizable as such in advance by just looking at the available bytes. If we start parsing, we assume it will match (and if not, generate a parse error).