CoreComponents 3.0.0
A Modern C++ Toolkit
|
Syntactic rule within a syntax definition. More...
#include <cc/SyntaxRule>
Public Member Functions | |
SyntaxRule ()=default | |
Create a null syntax rule. | |
SyntaxRule (const SyntaxNode &entry) | |
Create a syntax rule. | |
SyntaxRule (const String &name, const SyntaxNode &entry) | |
Create a syntax rule. | |
String | name () const |
Rule name. | |
void | setName (const String &newName) |
Set the rule name | |
SyntaxNode | entry () const |
Root node | |
Object | metaData () const |
Application data associated with this rule | |
void | setMetaData (const Object &newValue) |
Set application data assocaited with this rule | |
Public Member Functions inherited from SyntaxNode | |
SyntaxNode ()=default | |
Create an null syntax node. | |
SyntaxNode (char ch) | |
SyntaxNode (const char *s) | |
SyntaxNode (const SyntaxRule *rule) | |
SyntaxNode (Function< bool(char)> &&match) | |
long | matchNext (const String &text, long offset, Token &production) const |
Match text at offset against this node. | |
long | matchLength () const |
Match length for this node (or -1 if variable) | |
String | hint () const |
Hint for generating syntax error messages (Expect failed) | |
List< String > | explain () const |
Convert to a human-readable form. | |
Public Member Functions inherited from Object | |
Object ()=default | |
Create a null object. | |
operator bool () const | |
Check if this is a non-null object. | |
bool | isNull () const |
Check if this is a null object. | |
template<class T > | |
bool | is () const |
Check if this object is of type T. | |
template<class T > | |
T | as () const |
Cast this object to type T. | |
bool | isWeak () const |
Check if the underlying object reference is weak. | |
bool | operator== (const Object &other) const |
Equality operator. | |
std::strong_ordering | operator<=> (const Object &other) const |
Ordering operator. | |
long | useCount () const |
Reference count. | |
Protected Member Functions | |
SyntaxRule (State *newState) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from SyntaxNode | |
SyntaxNode (State *newState) | |
State & | me () |
const State & | me () const |
Protected Member Functions inherited from Object | |
template<class T > | |
T | weak () const |
template<class T > | |
void | initOnce () |
Create the object state when called the first time. | |
template<class T > | |
void | initOncePerThread () |
Create a distinct object state for each thread when called the first time in that thread. | |
Object (State *newState) | |
Initialize object with newState. | |
Object (State *state, Alias) | |
Object (State *state, Weak) | |
Object & | operator= (std::nullptr_t) |
Additional Inherited Members | |
Static Protected Member Functions inherited from Object | |
template<class T > | |
static T | alias (const State *state) |
Create an alias object for the given state. | |
template<class T > | |
static T | weak (const State *state) |
Protected Attributes inherited from Object | |
Handle< State > | me |
Internal object state | |
Syntactic rule within a syntax definition.
|
default |
Create a null syntax rule.
|
explicit |
Create a syntax rule.
SyntaxRule | ( | const String & | name, |
const SyntaxNode & | entry ) |
Create a syntax rule.
String name | ( | ) | const |
Rule name.
void setName | ( | const String & | newName | ) |
Set the rule name
syntax::SyntaxNode entry | ( | ) | const |
Root node
Object metaData | ( | ) | const |
Application data associated with this rule
void setMetaData | ( | const Object & | newValue | ) |
Set application data assocaited with this rule