more.esb.parser

Undocumented in source.

Members

Classes

ParseException
class ParseException
Undocumented in source.

Enums

ExpressionType
enum ExpressionType

Identifies the type of an Expression.

Functions

formatToken
auto formatToken(const(char)* token)
Undocumented in source. Be warned that the author may not have intended to support it.
guessEndOfToken
auto guessEndOfToken(const(char)* ptr)
Undocumented in source. Be warned that the author may not have intended to support it.
parse
auto parse(string text, string filenameForErrors, uint lineNumber)

NOTE: text must be null-terminated

Static functions

assertEqual
void assertEqual(Statement expected, Statement actual)
Undocumented in source. Be warned that the author may not have intended to support it.
block
auto block(Statement[] statements)
Undocumented in source. Be warned that the author may not have intended to support it.
statement
auto statement(Expression[] expressions, Statement[] block)
Undocumented in source. Be warned that the author may not have intended to support it.
symbol
auto symbol(string name)
Undocumented in source. Be warned that the author may not have intended to support it.
test
void test(string text, Statement[] expected)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

DefaultEsbParserHooks
struct DefaultEsbParserHooks

The default set of hooks for the ESB Parser

DefaultNodeBuilder
struct DefaultNodeBuilder

The default NodeBuilder implementation. A NodeBuilder is used to allocate memory for lists of Statement and Expression. The parser requires a NodeBuilder to be accessible via it's template parameter as the "NodeBuilder" field.

Expression
struct Expression
Undocumented in source.
FunctionCall
struct FunctionCall
Undocumented in source.
Parser
struct Parser(Hooks)
Undocumented in source.
PeekedChar
struct PeekedChar
Undocumented in source.
Statement
struct Statement

A Statement is one of the 3 building blocks for ESB. It represents a list of expressions followed by an optional block of statements.

StatementRangeReference
struct StatementRangeReference

This struct is used to represent a partial statement by skipping over a number of expressions. It can be created from a Statement by calling statement.range(expressionOffset).

Meta