Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

TinyXPath::token_list Class Reference

A token list class. More...

#include <tokenlist.h>

Inheritance diagram for TinyXPath::token_list:

Inheritance graph
[legend]
Collaboration diagram for TinyXPath::token_list:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 token_list ()
 constructor

virtual ~token_list ()
 destructor

void v_add_token (lexico l_in_enum, const _byte_ *bp_in_value, unsigned u_in_size)
 Adds a lexical token.

void v_set_current_top ()
 Set current to first real element.

void v_set_current (lex_token *ltp_cur)
 Set current.

lex_tokenltp_freeze ()
 Return the current token.

lex_tokenltp_get (int i_offset)
 Get next X linear token.

void v_inc_current (int i_rel)
 Increments the linear counter.

void v_replace_current (lexico lex_in, const char *cp_rep)
 Replaces the current element.

void v_delete_current ()
 Deletes the current element.

void v_delete_next ()
 Deletes the next element.

void v_tokenize_expression ()
 Decodes an XPath expression, further manipulating a token list
On input, we have a list of basic lexical tokens.


Protected Attributes

lex_tokenltp_first
 Pointer to first element.

lex_tokenltp_last
 Pointer to last element.

lex_tokenltp_current
 Pointer to current element.


Detailed Description

A token list class.

This is the output of the lexical analysis
Note that the empty list consist of a single null element in order to speed up later insertions


Constructor & Destructor Documentation

TinyXPath::token_list::token_list  )  [inline]
 

constructor

virtual TinyXPath::token_list::~token_list  )  [inline, virtual]
 

destructor


Member Function Documentation

lex_token* TinyXPath::token_list::ltp_freeze  )  [inline]
 

Return the current token.

lex_token* TinyXPath::token_list::ltp_get int  i_offset  )  [inline]
 

Get next X linear token.

void TinyXPath::token_list::v_add_token lexico  l_in_enum,
const _byte_ bp_in_value,
unsigned  u_in_size
[inline]
 

Adds a lexical token.

void TinyXPath::token_list::v_delete_current  )  [inline]
 

Deletes the current element.

void TinyXPath::token_list::v_delete_next  )  [inline]
 

Deletes the next element.

void TinyXPath::token_list::v_inc_current int  i_rel  )  [inline]
 

Increments the linear counter.

void TinyXPath::token_list::v_replace_current lexico  lex_in,
const char *  cp_rep
[inline]
 

Replaces the current element.

void TinyXPath::token_list::v_set_current lex_token ltp_cur  )  [inline]
 

Set current.

void TinyXPath::token_list::v_set_current_top  )  [inline]
 

Set current to first real element.

void TinyXPath::token_list::v_tokenize_expression  ) 
 

Decodes an XPath expression, further manipulating a token list
On input, we have a list of basic lexical tokens.

We only merge here the multiple tokens : like '::' or '!='. We also delete whitespace tokens


Member Data Documentation

lex_token* TinyXPath::token_list::ltp_current [protected]
 

Pointer to current element.

This is for external usage : we keep track of where it is, but it's not needed to manage the list structure

lex_token* TinyXPath::token_list::ltp_first [protected]
 

Pointer to first element.

lex_token* TinyXPath::token_list::ltp_last [protected]
 

Pointer to last element.


The documentation for this class was generated from the following files:
Generated for TinyXPath by doxygen SourceForge Logo