PUMA Library Reference Manual
Loading...
Searching...
No Matches
Puma::InstantiationTokenProvider Class Reference

#include <Puma/InstantiationTokenProvider.h>

+ Inheritance diagram for Puma::InstantiationTokenProvider:

Description

Provides token infos (token pointer + context) from a syntax tree.

The context is set to the syntax tree node in which the token was found.

Public Member Functions

 InstantiationTokenProvider (InstantiationTokenSource &s)
 Constructor.
 
- Public Member Functions inherited from Puma::TokenProvider
 TokenProvider (TokenSource &s)
 Constructor.
 
virtual ~TokenProvider ()
 Destructor.
 
void init ()
 Initialize the token provider by reading the first token.
 
TokenSourcesource () const
 Get the token source.
 
Tokennext ()
 Read the next token from the token source.
 
Tokencurrent () const
 Get the last token read from the token source.
 
void * current_context () const
 Get the context information for the current token.
 
State get_state ()
 Get the current read position.
 
void set_state (State restored_pos)
 Restore the read position.
 

Protected Member Functions

virtual TokenInfo read ()
 Read next token info.
 
- Protected Member Functions inherited from Puma::TokenProvider
Tokentoken () const
 Get the current token.
 

Additional Inherited Members

- Public Types inherited from Puma::TokenProvider
typedef TokenStore::Iterator State
 Read position.
 
- Protected Types inherited from Puma::TokenProvider
typedef BCList< TokenInfo, 8192 > TokenStore
 
- Protected Attributes inherited from Puma::TokenProvider
TokenSource_source
 
TokenStore _tokens
 
TokenStore::Iterator _read_pos
 

Constructor & Destructor Documentation

◆ InstantiationTokenProvider()

Puma::InstantiationTokenProvider::InstantiationTokenProvider ( InstantiationTokenSource & s)
inline

Constructor.

Parameters
sThe token source from which to read the tokens.

Member Function Documentation

◆ read()

virtual TokenInfo Puma::InstantiationTokenProvider::read ( )
protectedvirtual

Read next token info.

Reimplemented from Puma::TokenProvider.