CoreComponents 3.0.0
A Modern C++ Toolkit
Loading...
Searching...
No Matches

Syntax production. More...

#include <cc/Token>

Inheritance diagram for Token:

Public Types

using Children = AppendList<Token>
 Type of the children list.
 

Public Member Functions

 Token ()
 Create an invalid token.
 
bool isValid () const
 Check if valid.
 
 operator bool () const
 Check if valid.
 
bool withinContext (const SyntaxRule &context) const
 Check if this token is produced within a certain context.
 
const SyntaxRulerule () const
 Returns the syntax rule this token was generated by.
 
const Rangerange () const
 Index range that is covered by this token
 
 operator long () const
 Cast to long.
 
 operator Range () const
 Coverage range.
 
long i0 () const
 Start index of coverage range.
 
long i1 () const
 End index of coverage range.
 
long operator[] (int i) const
 Syntax sugar.
 
const Childrenchildren () const
 Constant children list
 
Childrenchildren ()
 Children list
 
String capturedValue (const String &name) const
 Get captured value by name.
 
void setCapturedValue (const String &name, const String &value)
 Set captured value
 
bool project (const TokenScreen &screen) const
 Project this token tree onto screen
 
- 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 >
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.
 

Additional Inherited Members

- Protected Member Functions inherited from Object
template<class 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)
 
Objectoperator= (std::nullptr_t)
 
- 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< Stateme
 Internal object state
 

Detailed Description

Syntax production.

Member Typedef Documentation

◆ Children

Type of the children list.

Constructor & Destructor Documentation

◆ Token()

Token ( )

Create an invalid token.

Member Function Documentation

◆ isValid()

bool isValid ( ) const

Check if valid.

◆ operator bool()

operator bool ( ) const

Check if valid.

◆ withinContext()

bool withinContext ( const SyntaxRule & context) const

Check if this token is produced within a certain context.

◆ rule()

const SyntaxRule & rule ( ) const

Returns the syntax rule this token was generated by.

◆ range()

const Range & range ( ) const

Index range that is covered by this token

◆ operator long()

operator long ( ) const

Cast to long.

◆ operator Range()

operator Range ( ) const

Coverage range.

◆ i0()

long i0 ( ) const

Start index of coverage range.

◆ i1()

long i1 ( ) const

End index of coverage range.

◆ operator[]()

long operator[] ( int i) const

Syntax sugar.

◆ children() [1/2]

const Children & children ( ) const

Constant children list

◆ children() [2/2]

Children & children ( )

Children list

◆ capturedValue()

String capturedValue ( const String & name) const

Get captured value by name.

See also
cc::SyntaxDefinition::Capture

◆ setCapturedValue()

void setCapturedValue ( const String & name,
const String & value )

Set captured value

◆ project()

bool project ( const TokenScreen & screen) const

Project this token tree onto screen