jaula API Reference  version 1.4.0
JAULA::Lexan Class Reference

Lexical Analysis implementation. More...

#include <jaula_lexan.h>

Inheritance diagram for JAULA::Lexan:

Public Member Functions

const Lexan_ErrorgetErrorReport (void) const
 Retrieves details for the last error detected. More...
 
const std::string & getTokenData (void) const
 Retrieves last token associated data. More...
 
 Lexan (std::istream &in_stream, bool comments_allowed=false)
 Constructor. More...
 
virtual void LexerError (const char *detail)
 Error report. More...
 
virtual int yylex ()
 Retrieves tokens from the input. More...
 
virtual ~Lexan ()
 Destructor. More...
 

Private Attributes

bool commented
 Flag for extending language to accept # comments. More...
 
Lexan_ErrorpErrorReport
 Pointer to the last exception detected. More...
 
std::string tokenData
 Container for the token associated data. More...
 

Detailed Description

Lexical Analysis implementation.

This class implements the lexical analysis for JSON as specified by RFC 4627.
Author
Kombo Morongo moron.nosp@m.go66.nosp@m.6@gma.nosp@m.il.c.nosp@m.om

Constructor & Destructor Documentation

◆ Lexan()

JAULA::Lexan::Lexan ( std::istream &  in_stream,
bool  comments_allowed = false 
)

Constructor.

Parameters
in_streamstream for the input data to analyze
comments_allowedflag to extend basic format and allow for hash symbol '#' starting comments in input.
Description
Creates a lexical analysis instance for the specified input stream.

◆ ~Lexan()

virtual JAULA::Lexan::~Lexan ( )
virtual

Destructor.

Member Function Documentation

◆ getErrorReport()

const Lexan_Error* JAULA::Lexan::getErrorReport ( void  ) const

Retrieves details for the last error detected.

Returns
a pointer to an instance containing the details for the last error detected during the lexical analysis process or a null pointer in case no error have ocurred during the lexical analysis so far.

◆ getTokenData()

const std::string& JAULA::Lexan::getTokenData ( void  ) const

Retrieves last token associated data.

Returns
the data associated for the last token returned from yylex() in case there is such kind of data (token corresponds to a property name or a single value) or undefined otherwise.

◆ LexerError()

virtual void JAULA::Lexan::LexerError ( const char *  detail)
virtual

Error report.

Parameters
detailText for the error received
Description
This method is a callback used by the analysis routines to indicate an error condition.
Its current implementation consists of generating the exception instance to be retrieved by getErrorReport().

◆ yylex()

virtual int JAULA::Lexan::yylex ( )
virtual

Retrieves tokens from the input.

Returns
the code for a token read or 0 if the end of data has been reached.

Referenced by JAULA::Parser::parseStream().

Field Documentation

◆ commented

bool JAULA::Lexan::commented
private

Flag for extending language to accept # comments.

◆ pErrorReport

Lexan_Error* JAULA::Lexan::pErrorReport
private

Pointer to the last exception detected.

◆ tokenData

std::string JAULA::Lexan::tokenData
private

Container for the token associated data.


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


Back to JAULA Project Documentation Page.

Go to JAULA Project Home Page.


Copyright (c) 2007, 2008, 2009 Kombo Morongo.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

API Reference Generated for jaula by

doxygen

jaula project hosted by

SourceForge.net