Go to the documentation of this file.
39 iOstream&
operator<<(iOstream& os,
const token& tok);
113 return token(punctuationToken::END_LIST);
118 return token(punctuationToken::BEGIN_LIST);
123 return token(punctuationToken::END_STATEMENT);
128 return token(punctuationToken::BEGIN_BLOCK);
133 return token(punctuationToken::END_BLOCK);
138 return token(punctuationToken::BEGIN_SQR);
143 return token(punctuationToken::END_SQR);
148 return token(punctuationToken::SPACE);
153 return token(punctuationToken::NL);
204 inline constexpr
token() noexcept;
251 inline static
token boolean(
bool on);
293 inline
bool good() const;
299 inline
bool error() const;
302 inline
bool isBool() const;
305 inline
bool isFlag() const;
331 inline
bool isReal() const;
337 inline
bool isWord() const;
418 inline
void operator=(const
token& tok);
421 inline
void operator=(
token&& tok);
427 inline
void operator=(const
int64 val);
430 inline
void operator=(const
int32 val);
433 inline
void operator=(const
float val);
436 inline
void operator=(const
double val);
439 inline
void operator=(const
word& w);
444 inline
void operator=(
word&& w);
449 inline
bool operator==(const
token& tok) const;
451 inline
bool operator==(const
int64 val) const;
452 inline
bool operator==(const
int32 val) const;
453 inline
bool operator==(const
float val) const;
454 inline
bool operator==(const
double val) const;
455 inline
bool operator==(const
word& w) const;
460 inline
bool operator!=(const
token& tok) const;
462 inline
bool operator!=(const
int64 val) const;
463 inline
bool operator!=(const
int32 val) const;
464 inline
bool operator!=(const
float val) const;
465 inline
bool operator!=(const
double val) const;
466 inline
bool operator!=(const
word& w) const;
470 std::ostream&
printInfo(std::ostream& os)const;
477 friend std::ostream& operator<<(std::ostream& os, const
token& tok);
478 friend std::ostream& operator<<(std::ostream& os, const
punctuationToken& pt);
480 void operator=(
word*) = delete;
491 std::ostream& operator<<(std::ostream& os, const
token& tok);
static token beginBlock()
void parseError(const char *expected) const
bool setType(const tokenType tokType)
@ PUNCTUATION
single character punctuation
punctuationToken pToken() const
token endStatementToken()
bool isPunctuation() const
const word & stringToken() const
@ END_BLOCK
End block [isseparator].
@ INT64
int64 (integer) type
@ FLOAT
float (single-precision) type
@ STRING
A string whth double quuote.
@ DOUBLE
double (double-precision) type
punctuationToken punctuationVal
@ NULL_TOKEN
Nul character.
bool isStringType() const
@ BEGIN_BLOCK
Begin block [isseparator].
@ ERROR
A token error encountered.
static token beginSquare()
constexpr token() noexcept
double doubleToken() const
static bool isseparator(int c)
@ UNDEFINED
An undefined token-type.
iOstream & printInfo(iOstream &os) const
static token flag(int bitmask)
@ FLAG
stream flag (1-byte bitmask)
@ BEGIN_STRING
Begin string with double quote.
@ VARIABLE
A dictionary $variable (string variant)
@ END_LIST
End list [isseparator].
@ DOLLAR
Dollar - start variable.
INLINE_FUNCTION iOstream & operator<<(iOstream &str, const AB3History &ab3)
@ COLON
Colon [isseparator].
@ END_STATEMENT
End entry [isseparator].
static const token undefinedToken()
@ SUBTRACT
Subtract or start of negative number.
@ BEGIN_LIST
Begin list [isseparator].
@ BEGIN_SQR
Begin dimensions [isseparator].
@ DIVIDE
Divide [isseparator].
@ COMMA
Comma [isseparator].
@ END_STRING
End string with double quote.
static token endStatement()
bool isEndStatement() const
@ DIRECTIVE
A dictionary #directive (word variant)
@ END_SQR
End dimensions [isseparator].
const word & wordToken() const
@ BINARY
BINARY-mode stream.
@ ASCII
ASCII-mode stream.