Ipelib
|
#include <ipebase.h>
Public Member Functions | |
Lex (String str) | |
String | token () |
String | nextToken () |
int | getInt () |
int | getHexByte () |
Fixed | getFixed () |
unsigned long int | getHexNumber () |
double | getDouble () |
char | getChar () |
void | skipWhitespace () |
Lex & | operator>> (int &i) |
Lex & | operator>> (double &d) |
Lex & | operator>> (Fixed &d) |
void | mark () |
void | fromMark () |
bool | eos () const |
Lexical analyser. Seeded with a string.
|
explicit |
Construct lexical analyzer from a string.
String Lex::token | ( | ) |
Return NextToken, but without extracting it.
References nextToken().
Referenced by ipe::Shape::load().
String Lex::nextToken | ( | ) |
Extract next token.
Skips any whitespace before the token. Returns empty string if end of string is reached.
References eos(), mark(), skipWhitespace(), and ipe::String::substr().
Referenced by getDouble(), getFixed(), getHexNumber(), getInt(), ipe::Shape::load(), ipe::ImlParser::parsePage(), and token().
int Lex::getInt | ( | ) |
Extract integer token (skipping whitespace).
References nextToken(), and ipe::String::z().
Referenced by ipe::Document::findPage(), ipe::Page::findView(), ipe::PdfFile::parse(), ipe::ImlParser::parseBitmap(), ipe::ImlParser::parseObject(), and ipe::ImlParser::parseStyle().
int Lex::getHexByte | ( | ) |
Extract byte in hex (skipping whitespace).
References eos(), and skipWhitespace().
Referenced by ipe::Bitmap::Bitmap(), and ipe::PdfString::decode().
Fixed Lex::getFixed | ( | ) |
Extract Fixed token (skipping whitespace).
References ipe::Fixed::fromInternal(), nextToken(), ipe::String::size(), ipe::String::substr(), and ipe::String::z().
unsigned long int Lex::getHexNumber | ( | ) |
Extract hexadecimal token (skipping whitespace).
References nextToken(), and ipe::String::z().
double Lex::getDouble | ( | ) |
Extract double token (skipping whitespace).
References nextToken(), and ipe::Platform::toDouble().
Referenced by ipe::Painter::dashStyle(), ipe::ImlParser::parseStyle(), and ipe::Text::Text().
|
inline |
Extract next character (not skipping anything).
void Lex::skipWhitespace | ( | ) |
Skip over whitespace.
References eos().
Referenced by getHexByte(), ipe::Shape::load(), nextToken(), ipe::ImlParser::parseBitmap(), ipe::ImlParser::parsePage(), and ipe::ImlParser::parseStyle().
|
inline |
Operator syntax for getDouble().
Operator syntax for getFixed().
|
inline |
Mark the current position.
Referenced by nextToken().
|
inline |
Reset reader to the marked position.
|
inline |
Return true if at end of string (not even whitespace left).
Referenced by ipe::Color::Color(), ipe::Painter::dashStyle(), ipe::PdfString::decode(), getHexByte(), ipe::Shape::load(), nextToken(), ipe::ImlParser::parseBitmap(), ipe::ImlParser::parsePage(), ipe::ImlParser::parseStyle(), and skipWhitespace().