Eaagles::BasicGL::LcReformat Class Reference

List of all members.

Public Types

enum  DataType {
  invalid, number, octal, hex,
  time, dir
}

Public Member Functions

 LcReformat ()
virtual ~LcReformat ()
const char * getFormat () const
LcReformat::DataType convertNumber (const char *s)
LcReformat::DataType convertOctal (const char *s)
LcReformat::DataType convertHex (const char *s)
LcTimeRo::TimeMode convertTime (const char *s)
LcDirRo::DirMode convertDirection (const char *s)
bool isPostSign ()

Protected Member Functions

virtual int yylex ()
virtual int yylex (const DataType dt)
int yyProcessInteger (const char *text, const int len)
int yyProcessFloat (const char *text, const int len)
int yyProcessTime (const LcTimeRo::TimeMode tm, const char *text, const int len)
int yyProcessDirection (const LcDirRo::DirMode dm, const char *text, const int len)
int yyFormatError (const char *text) const

Private Attributes

DataType dataType
char format [256]
bool postSign

Detailed Description

 Lexical generator for the Readout reformatter
    LcReformat converts example strings into C/C++ format specifiers for
    sprintf, printf, etc.  These examples will be later used as templates
    for data entry. 


Member Enumeration Documentation

enum Eaagles::BasicGL::LcReformat::DataType

Enumerator:
invalid 
number 
octal 
hex 
time 
dir 


Constructor & Destructor Documentation

Eaagles::BasicGL::LcReformat::LcReformat (  )  [inline]

virtual Eaagles::BasicGL::LcReformat::~LcReformat (  )  [inline, virtual]


Member Function Documentation

const char* Eaagles::BasicGL::LcReformat::getFormat (  )  const [inline]

Returns the format if valid else 0.

LcReformat::DataType Eaagles::BasicGL::LcReformat::convertNumber ( const char *  s  )  [inline]

Explicitly convert an integer or floating point number. This expects a format such as "#.###" as input. And returns "%5.3f" as output.

LcReformat::DataType Eaagles::BasicGL::LcReformat::convertOctal ( const char *  s  )  [inline]

Explicitly convert an octal integer. This expects a format such as "0##" as input. And returns "%03o" as output.

LcReformat::DataType Eaagles::BasicGL::LcReformat::convertHex ( const char *  s  )  [inline]

Explicitly convert a hexadecimal integer. This expects a format such as "###" as input. And returns "%3X" as output.

LcTimeRo::TimeMode Eaagles::BasicGL::LcReformat::convertTime ( const char *  s  )  [inline]

Explicitly convert a time value. This expects a format such as "0H:MM:SS.S" as input. And returns "%02d:%02d:%04.1f" as output.

LcDirRo::DirMode Eaagles::BasicGL::LcReformat::convertDirection ( const char *  s  )  [inline]

Explicitly convert a directional value. This expects a format such as "+DDD@MM.M" as input. And returns "+%03d@%04.1f" as output.

bool Eaagles::BasicGL::LcReformat::isPostSign (  )  [inline]

virtual int Eaagles::BasicGL::LcReformat::yylex (  )  [protected, virtual]

virtual int Eaagles::BasicGL::LcReformat::yylex ( const DataType  dt  )  [inline, protected, virtual]

int Eaagles::BasicGL::LcReformat::yyProcessInteger ( const char *  text,
const int  len 
) [protected]

Process a integer number string. Take in a format such as "+0##" and return "%+04d".

int Eaagles::BasicGL::LcReformat::yyProcessFloat ( const char *  text,
const int  len 
) [protected]

Process a floating point number string. Take in a format such as "+0###.###" and return "%+09.3f".

int Eaagles::BasicGL::LcReformat::yyProcessTime ( const LcTimeRo::TimeMode  tm,
const char *  text,
const int  len 
) [protected]

Process a time format string. Take in a format such as "0MSS.S" and return "%02d%04.1f".

int Eaagles::BasicGL::LcReformat::yyProcessDirection ( const LcDirRo::DirMode  dm,
const char *  text,
const int  len 
) [protected]

Process a directional format string. Take in a format such as "+120@23'43.2"" and return "+03d%02d'4.1f".

int Eaagles::BasicGL::LcReformat::yyFormatError ( const char *  text  )  const [protected]

Process a error. Display the error to wherever lex wants it and return invalid (0).


Member Data Documentation

DataType Eaagles::BasicGL::LcReformat::dataType [private]

char Eaagles::BasicGL::LcReformat::format[256] [private]

bool Eaagles::BasicGL::LcReformat::postSign [private]


Generated on Tue Dec 19 16:26:45 2006 for Eaagles by  doxygen 1.5.0