5 #include <libutl/Graph.h> 6 #include <libutl/Queue.h> 7 #include <libutl/Regex.h> 8 #include <libutl/Token.h> 141 return getFlag(flg_ok);
173 static bool isSymbol(
char c);
177 GrammarNode* parseExpressionI(
TDequeIt<String>& it, GrammarNode* expr =
nullptr);
180 void scan(RDparserState& state,
Stream& stream);
185 setFlag(flg_ok, _ok);
236 return (_token !=
nullptr);
260 if (_token !=
nullptr) _token = _token->clone();
347 size_t _lineNo, _colNo;
#define UTL_CLASS_DEFID
Default init() and deInit() (which are merely place-holders).
void setToken(const Token *token)
Set the token.
void deInit()
De-initialize UTL++.
void setProductionId(uint_t prodId)
Set the production id.
FIFO (first-in, first-out) data structure.
Template version of DequeIt.
#define UTL_CLASS_DECL(DC, BC)
Declaration of standard UTL++ functionality for a non-template class.
Mix-in to provide 64-bits for space-efficient storage of up to 64 boolean flags.
#define UTL_EXCEPTION_DECL(exName, baseExName)
Declare a simple exception type.
bool isProduction() const
Determine whether self is a production node.
Root of UTL++ exception class hierarchy.
Graph (directed or undirected).
Base class for exceptions thrown by RDparser.
void copy(T *dest, const T *src, size_t len)
Copy one array of objects to another.
Recursive-descent parser.
uint_t productionId() const
Get the production id.
unsigned int uint_t
Unsigned integer.
const uint_t uint_t_max
Maximum uint_t value.
bool ok() const
Determine whether a properly defined grammar has been compiled.
bool isToken() const
Determine whether self is a terminal node.
Root of UTL++ class hierarchy.
void dump(const FwdIt &begin, const FwdIt &end, Stream &os, uint_t level=uint_t_max, bool key=false, bool printClassName=false, uint_t indent=0, const char *separator=nullptr)
Dump objects to the given stream (with Object::dump()).
void init()
Initialize UTL++.
#define ASSERTD
Do an assertion in DEBUG mode only.
const Token & token() const
Get the token.