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 |
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.
| Eaagles::BasicGL::LcReformat::LcReformat | ( | ) | [inline] |
| virtual Eaagles::BasicGL::LcReformat::~LcReformat | ( | ) | [inline, virtual] |
| 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).
char Eaagles::BasicGL::LcReformat::format[256] [private] |
bool Eaagles::BasicGL::LcReformat::postSign [private] |
1.5.0