ANTLR Support Libraries 2.7.1+
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
TokenStreamHiddenTokenFilter Class Reference

#include <TokenStreamHiddenTokenFilter.hpp>

Inheritance diagram for TokenStreamHiddenTokenFilter:
Inheritance graph
[legend]
Collaboration diagram for TokenStreamHiddenTokenFilter:
Collaboration graph
[legend]

Public Member Functions

 TokenStreamHiddenTokenFilter (TokenStream &input)
 
BitSet getDiscardMask () const
 
RefToken getHiddenAfter (RefToken t)
 
RefToken getHiddenBefore (RefToken t)
 
BitSet getHideMask () const
 
RefToken getInitialHiddenToken ()
 
void hide (int m)
 
void hide (const BitSet &mask)
 
RefToken nextToken ()
 
- Public Member Functions inherited from TokenStreamBasicFilter
 TokenStreamBasicFilter (TokenStream &input_)
 
void discard (int ttype)
 
void discard (const BitSet &mask)
 
- Public Member Functions inherited from TokenStream
virtual ~TokenStream ()
 

Protected Member Functions

void consume ()
 
RefToken LA (int i)
 

Protected Attributes

BitSet hideMask
 
RefToken lastHiddenToken
 
RefToken firstHidden
 
- Protected Attributes inherited from TokenStreamBasicFilter
BitSet discardMask
 
TokenStreaminput
 

Private Member Functions

void consumeFirst ()
 

Private Attributes

RefToken nextMonitoredToken
 

Detailed Description

This object filters a token stream coming from a lexer or another TokenStream so that only certain token channels get transmitted to the parser.

Any of the channels can be filtered off as "hidden" channels whose tokens can be accessed from the parser.

Constructor & Destructor Documentation

◆ TokenStreamHiddenTokenFilter()

TokenStreamHiddenTokenFilter::TokenStreamHiddenTokenFilter ( TokenStream input)

This object filters a token stream coming from a lexer or another TokenStream so that only certain token channels get transmitted to the parser.

Any of the channels can be filtered off as "hidden" channels whose tokens can be accessed from the parser.

Member Function Documentation

◆ consume()

void TokenStreamHiddenTokenFilter::consume ( )
protected

◆ consumeFirst()

void TokenStreamHiddenTokenFilter::consumeFirst ( )
private

◆ getDiscardMask()

BitSet TokenStreamHiddenTokenFilter::getDiscardMask ( ) const

◆ getHiddenAfter()

RefToken TokenStreamHiddenTokenFilter::getHiddenAfter ( RefToken  t)

Return a ptr to the hidden token appearing immediately after token t in the input stream.

◆ getHiddenBefore()

RefToken TokenStreamHiddenTokenFilter::getHiddenBefore ( RefToken  t)

Return a ptr to the hidden token appearing immediately before token t in the input stream.

◆ getHideMask()

BitSet TokenStreamHiddenTokenFilter::getHideMask ( ) const

◆ getInitialHiddenToken()

RefToken TokenStreamHiddenTokenFilter::getInitialHiddenToken ( )

Return the first hidden token if one appears before any monitored token.

◆ hide() [1/2]

void TokenStreamHiddenTokenFilter::hide ( int  m)

◆ hide() [2/2]

void TokenStreamHiddenTokenFilter::hide ( const BitSet mask)

◆ LA()

RefToken TokenStreamHiddenTokenFilter::LA ( int  i)
protected

◆ nextToken()

RefToken TokenStreamHiddenTokenFilter::nextToken ( void  )
virtual

Return the next monitored token. Test the token following the monitored token. If following is another monitored token, save it for the next invocation of nextToken (like a single lookahead token) and return it then. If following is unmonitored, nondiscarded (hidden) channel token, add it to the monitored token.

Note: EOF must be a monitored Token.

Reimplemented from TokenStreamBasicFilter.

Member Data Documentation

◆ firstHidden

RefToken TokenStreamHiddenTokenFilter::firstHidden
protected

◆ hideMask

BitSet TokenStreamHiddenTokenFilter::hideMask
protected

◆ lastHiddenToken

RefToken TokenStreamHiddenTokenFilter::lastHiddenToken
protected

track tail of hidden list emanating from previous monitored token

◆ nextMonitoredToken

RefToken TokenStreamHiddenTokenFilter::nextMonitoredToken
private

The documentation for this class was generated from the following files: