Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
YAML_PM::Scanner Class Reference

#include <scanner.h>

Classes

struct  IndentMarker
 
struct  SimpleKey
 

Public Member Functions

bool empty ()
 
Tokenpeek ()
 
void pop ()
 
 Scanner (std::istream &in)
 
 ~Scanner ()
 

Private Types

enum  FLOW_MARKER { FLOW_MAP, FLOW_SEQ }
 

Private Member Functions

bool CanInsertPotentialSimpleKey () const
 
void EndStream ()
 
void EnsureTokensInQueue ()
 
bool ExistsActiveSimpleKey () const
 
int GetFlowLevel () const
 
Token::TYPE GetStartTokenFor (IndentMarker::INDENT_TYPE type) const
 
int GetTopIndent () const
 
const RegExGetValueRegex () const
 
bool InBlockContext () const
 
bool InFlowContext () const
 
void InsertPotentialSimpleKey ()
 
void InvalidateSimpleKey ()
 
bool IsWhitespaceToBeEaten (char ch)
 
void PopAllIndents ()
 
void PopAllSimpleKeys ()
 
void PopIndent ()
 
void PopIndentToHere ()
 
IndentMarkerPushIndentTo (int column, IndentMarker::INDENT_TYPE type)
 
TokenPushToken (Token::TYPE type)
 
void ScanAnchorOrAlias ()
 
void ScanBlockEnd ()
 
void ScanBlockEntry ()
 
void ScanBlockMapSTart ()
 
void ScanBlockScalar ()
 
void ScanBlockSeqStart ()
 
void ScanDirective ()
 
void ScanDocEnd ()
 
void ScanDocStart ()
 
void ScanFlowEnd ()
 
void ScanFlowEntry ()
 
void ScanFlowStart ()
 
void ScanKey ()
 
void ScanNextToken ()
 
void ScanPlainScalar ()
 
void ScanQuotedScalar ()
 
void ScanTag ()
 
void ScanToNextToken ()
 
void ScanValue ()
 
void StartStream ()
 
void ThrowParserException (const std::string &msg) const
 
bool VerifySimpleKey ()
 

Private Attributes

Stream INPUT
 
bool m_canBeJSONFlow
 
bool m_endedStream
 
std::stack< FLOW_MARKERm_flows
 
ptr_vector< IndentMarkerm_indentRefs
 
std::stack< IndentMarker * > m_indents
 
bool m_simpleKeyAllowed
 
std::stack< SimpleKeym_simpleKeys
 
bool m_startedStream
 
std::queue< Tokenm_tokens
 

Detailed Description

Definition at line 24 of file scanner.h.

Member Enumeration Documentation

◆ FLOW_MARKER

Enumerator
FLOW_MAP 
FLOW_SEQ 

Definition at line 47 of file scanner.h.

Constructor & Destructor Documentation

◆ Scanner()

YAML_PM::Scanner::Scanner ( std::istream &  in)

Definition at line 10 of file scanner.cpp.

◆ ~Scanner()

YAML_PM::Scanner::~Scanner ( )

Definition at line 15 of file scanner.cpp.

Member Function Documentation

◆ CanInsertPotentialSimpleKey()

bool YAML_PM::Scanner::CanInsertPotentialSimpleKey ( ) const
private

Definition at line 37 of file simplekey.cpp.

◆ empty()

bool YAML_PM::Scanner::empty ( )

Definition at line 21 of file scanner.cpp.

◆ EndStream()

void YAML_PM::Scanner::EndStream ( )
private

Definition at line 244 of file scanner.cpp.

◆ EnsureTokensInQueue()

void YAML_PM::Scanner::EnsureTokensInQueue ( )
private

Definition at line 57 of file scanner.cpp.

◆ ExistsActiveSimpleKey()

bool YAML_PM::Scanner::ExistsActiveSimpleKey ( ) const
private

Definition at line 48 of file simplekey.cpp.

◆ GetFlowLevel()

int YAML_PM::Scanner::GetFlowLevel ( ) const
inlineprivate

Definition at line 60 of file scanner.h.

◆ GetStartTokenFor()

Token::TYPE YAML_PM::Scanner::GetStartTokenFor ( IndentMarker::INDENT_TYPE  type) const
private

Definition at line 263 of file scanner.cpp.

◆ GetTopIndent()

int YAML_PM::Scanner::GetTopIndent ( ) const
private

Definition at line 366 of file scanner.cpp.

◆ GetValueRegex()

const RegEx & YAML_PM::Scanner::GetValueRegex ( ) const
private

Definition at line 223 of file scanner.cpp.

◆ InBlockContext()

bool YAML_PM::Scanner::InBlockContext ( ) const
inlineprivate

Definition at line 59 of file scanner.h.

◆ InFlowContext()

bool YAML_PM::Scanner::InFlowContext ( ) const
inlineprivate

Definition at line 58 of file scanner.h.

◆ InsertPotentialSimpleKey()

void YAML_PM::Scanner::InsertPotentialSimpleKey ( )
private

Definition at line 60 of file simplekey.cpp.

◆ InvalidateSimpleKey()

void YAML_PM::Scanner::InvalidateSimpleKey ( )
private

Definition at line 87 of file simplekey.cpp.

◆ IsWhitespaceToBeEaten()

bool YAML_PM::Scanner::IsWhitespaceToBeEaten ( char  ch)
private

Definition at line 210 of file scanner.cpp.

◆ peek()

Token & YAML_PM::Scanner::peek ( )

Definition at line 38 of file scanner.cpp.

◆ pop()

void YAML_PM::Scanner::pop ( )

Definition at line 29 of file scanner.cpp.

◆ PopAllIndents()

void YAML_PM::Scanner::PopAllIndents ( )
private

Definition at line 331 of file scanner.cpp.

◆ PopAllSimpleKeys()

void YAML_PM::Scanner::PopAllSimpleKeys ( )
private

Definition at line 133 of file simplekey.cpp.

◆ PopIndent()

void YAML_PM::Scanner::PopIndent ( )
private

Definition at line 349 of file scanner.cpp.

◆ PopIndentToHere()

void YAML_PM::Scanner::PopIndentToHere ( )
private

Definition at line 307 of file scanner.cpp.

◆ PushIndentTo()

Scanner::IndentMarker * YAML_PM::Scanner::PushIndentTo ( int  column,
IndentMarker::INDENT_TYPE  type 
)
private

Definition at line 278 of file scanner.cpp.

◆ PushToken()

Token * YAML_PM::Scanner::PushToken ( Token::TYPE  type)
private

Definition at line 257 of file scanner.cpp.

◆ ScanAnchorOrAlias()

void YAML_PM::Scanner::ScanAnchorOrAlias ( )
private

Definition at line 225 of file scantoken.cpp.

◆ ScanBlockEnd()

void YAML_PM::Scanner::ScanBlockEnd ( )
private

◆ ScanBlockEntry()

void YAML_PM::Scanner::ScanBlockEntry ( )
private

Definition at line 155 of file scantoken.cpp.

◆ ScanBlockMapSTart()

void YAML_PM::Scanner::ScanBlockMapSTart ( )
private

◆ ScanBlockScalar()

void YAML_PM::Scanner::ScanBlockScalar ( )
private

Definition at line 377 of file scantoken.cpp.

◆ ScanBlockSeqStart()

void YAML_PM::Scanner::ScanBlockSeqStart ( )
private

◆ ScanDirective()

void YAML_PM::Scanner::ScanDirective ( )
private

Definition at line 17 of file scantoken.cpp.

◆ ScanDocEnd()

void YAML_PM::Scanner::ScanDocEnd ( )
private

Definition at line 73 of file scantoken.cpp.

◆ ScanDocStart()

void YAML_PM::Scanner::ScanDocStart ( )
private

Definition at line 59 of file scantoken.cpp.

◆ ScanFlowEnd()

void YAML_PM::Scanner::ScanFlowEnd ( )
private

Definition at line 104 of file scantoken.cpp.

◆ ScanFlowEntry()

void YAML_PM::Scanner::ScanFlowEntry ( )
private

Definition at line 135 of file scantoken.cpp.

◆ ScanFlowStart()

void YAML_PM::Scanner::ScanFlowStart ( )
private

Definition at line 87 of file scantoken.cpp.

◆ ScanKey()

void YAML_PM::Scanner::ScanKey ( )
private

Definition at line 176 of file scantoken.cpp.

◆ ScanNextToken()

void YAML_PM::Scanner::ScanNextToken ( )
private

Definition at line 88 of file scanner.cpp.

◆ ScanPlainScalar()

void YAML_PM::Scanner::ScanPlainScalar ( )
private

Definition at line 299 of file scantoken.cpp.

◆ ScanQuotedScalar()

void YAML_PM::Scanner::ScanQuotedScalar ( )
private

Definition at line 335 of file scantoken.cpp.

◆ ScanTag()

void YAML_PM::Scanner::ScanTag ( )
private

Definition at line 259 of file scantoken.cpp.

◆ ScanToNextToken()

void YAML_PM::Scanner::ScanToNextToken ( )
private

Definition at line 165 of file scanner.cpp.

◆ ScanValue()

void YAML_PM::Scanner::ScanValue ( )
private

Definition at line 196 of file scantoken.cpp.

◆ StartStream()

void YAML_PM::Scanner::StartStream ( )
private

Definition at line 233 of file scanner.cpp.

◆ ThrowParserException()

void YAML_PM::Scanner::ThrowParserException ( const std::string &  msg) const
private

Definition at line 377 of file scanner.cpp.

◆ VerifySimpleKey()

bool YAML_PM::Scanner::VerifySimpleKey ( )
private

Definition at line 104 of file simplekey.cpp.

Member Data Documentation

◆ INPUT

Stream YAML_PM::Scanner::INPUT
private

Definition at line 115 of file scanner.h.

◆ m_canBeJSONFlow

bool YAML_PM::Scanner::m_canBeJSONFlow
private

Definition at line 123 of file scanner.h.

◆ m_endedStream

bool YAML_PM::Scanner::m_endedStream
private

Definition at line 121 of file scanner.h.

◆ m_flows

std::stack<FLOW_MARKER> YAML_PM::Scanner::m_flows
private

Definition at line 127 of file scanner.h.

◆ m_indentRefs

ptr_vector<IndentMarker> YAML_PM::Scanner::m_indentRefs
private

Definition at line 126 of file scanner.h.

◆ m_indents

std::stack<IndentMarker *> YAML_PM::Scanner::m_indents
private

Definition at line 125 of file scanner.h.

◆ m_simpleKeyAllowed

bool YAML_PM::Scanner::m_simpleKeyAllowed
private

Definition at line 122 of file scanner.h.

◆ m_simpleKeys

std::stack<SimpleKey> YAML_PM::Scanner::m_simpleKeys
private

Definition at line 124 of file scanner.h.

◆ m_startedStream

bool YAML_PM::Scanner::m_startedStream
private

Definition at line 121 of file scanner.h.

◆ m_tokens

std::queue<Token> YAML_PM::Scanner::m_tokens
private

Definition at line 118 of file scanner.h.


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


mp2p_icp
Author(s):
autogenerated on Fri Dec 20 2024 03:46:02