|
Bond 0.9
C++ Bond Runtime Library API Documentation
|
These classes form the parts of the Bond compiler. More...
Topics | |
| Parse Nodes | |
| These classes define all of the types of ParseNodes that form the parse trees generated by the Bond compiler. | |
Classes | |
| class | Bond::CharStream |
| An iterator over the contents of a stream of text. More... | |
| class | Bond::CodeGenerator |
| A code generator for the Bond scripting language. More... | |
| class | Bond::CompilerError |
| A container for error information reported by the various components of the Bond compiler. More... | |
| class | Bond::CompilerErrorBuffer |
| A container for CompilerError instances generated by the various components of the Bond compiler. More... | |
| class | Bond::FrontEnd |
| A compiler front end for the Bond scripting language. More... | |
| class | Bond::Lexer |
| A lexer for the Bond scripting language. More... | |
| class | Bond::ParseNodeTraverser |
| A concrete implementation of ParseNodeVisitor that, in addition to visiting a ParseNode, does a depth-first traversal of its children and visits them too. More... | |
| class | Bond::CastVisitor< T > |
| class | Bond::ParseNodeVisitor |
| An abstract interface that implements the Visitor pattern over all concrete types that derive from ParseNode. More... | |
| class | Bond::ParseNodeVisitorAdapter |
| A concrete implementation of ParseNodeVisitor with methods that do nothing. More... | |
| class | Bond::Parser |
| A parser for the Bond scripting language. More... | |
| class | Bond::SemanticAnalyzer |
| A semantic analyzer for a parse tree generated from the Bond scripting language. More... | |
| struct | Bond::StreamPos |
| A POD struct to contain the index, line and column of a token in source code. More... | |
| class | Bond::SymbolTable |
| A hierarchical symbol table used by the Bond compiler. More... | |
| class | Bond::Token |
| A token describing a syntactic unit of the Bond scripting language (e.g. keywords, identifiers, literal constants and operators). More... | |
| class | Bond::TokenTypeSet |
| Represents a collection of related TokenTypes. More... | |
| class | Bond::TokenStream |
| An iterator over the contents of a TokenCollection. More... | |
| class | Bond::TokenCollection |
| An ordered immutable collection of Tokens. More... | |
| class | Bond::TypeAndValue |
| Contains the information regarding the type and value of an expression as it is evaluated by the compiler. More... | |
Macros | |
| #define | BOND_COMPILER_ERROR_LIST |
| An X-macro that lists every type of compiler error along with the format of its message. | |
| #define | BOND_TOKEN_LIST |
| An X-macro that lists every type of Token. | |
Typedefs | |
| typedef Allocator::Handle< const TokenCollection > | Bond::TokenCollectionHandle |
| An owning pointer to a dynamically allocated TokenCollection. | |
| typedef Vector< TokenCollectionHandle > | Bond::TokenCollectionStore |
| A collection of dynamically allocated TokenCollection. | |
| typedef Allocator::ObjectHandle< ParseNode > | Bond::ParseNodeHandle |
| An owning pointer to a dynamically allocated ParseNode. | |
| typedef Vector< ParseNodeHandle > | Bond::ParseNodeStore |
| A collection of dynamically allocated ParseNodes. | |
Functions | |
| BOND_API uint32_t | Bond::GetLength (const ListParseNode *list) |
| Counts and returns the length of a list of ListParseNodes. | |
| template<typename NodeType> | |
| NodeType * | Bond::NextNode (NodeType *list) |
| Returns the node that follows the given one in a list of ListParseNodes, cast to the same type, or null if it is the last node. | |
| template<typename T> | |
| T * | Bond::CastNode (ParseNode *node) |
| Returns the given ParseNode cast to the concrete type T, or null if its concrete type is not exactly T. The type is determined with a visitor rather than RTTI. | |
| template<typename T> | |
| const T * | Bond::CastNode (const ParseNode *node) |
| Returns the given ParseNode cast to the concrete type T, or null if its concrete type is not exactly T. The type is determined with a visitor rather than RTTI. | |
| template<typename NodeType, typename Comparator> | |
| NodeType * | Bond::InsertNode (NodeType *head, NodeType *node, Comparator compare) |
| Inserts a node into a sorted list of ListParseNodes, after any nodes that compare equal to it. | |
| BOND_API bool | Bond::AreComparableTypes (const TypeDescriptor &typeA, const TypeDescriptor &typeB) |
| Returns whether values of the given types can be compared, i.e. whether both are pointers, both are numeric or both are bool. | |
| BOND_API bool | Bond::AreConvertibleTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType) |
| Returns whether a value of one type can be converted to another, i.e. whether the types are comparable or are the same struct or enum type. | |
| BOND_API bool | Bond::AreSameTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType) |
| Returns whether two types are the same, recursing through pointers and arrays, where array lengths must also match. The comparison is not symmetric with respect to const: it fails if fromType is const and toType is not, at any level of indirection, but succeeds if only toType is const. | |
| BOND_API bool | Bond::AreAssignableTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType) |
| Returns whether a value of one type can be assigned to an object of another type. | |
| BOND_API bool | Bond::IsLossyConversion (const TypeAndValue &fromTav, const TypeDescriptor &toType) |
| Returns whether converting a numeric value to the given numeric type may lose data. | |
| BOND_API TypeDescriptor | Bond::PromoteType (const TypeDescriptor &type) |
| Returns the type of an operand after C's integer promotions. | |
| BOND_API TypeDescriptor | Bond::CombineOperandTypes (const TypeDescriptor &typeA, const TypeDescriptor &typeB) |
| Returns the type in which a binary operation on operands of the given types is performed, following C's usual arithmetic conversions. | |
| BOND_API bool | Bond::MayConvertNegativeToUnsigned (const TypeAndValue &operandTav, const TypeDescriptor &operationType) |
| Returns true if the operand has a signed integer type, the operation in which it is used has an unsigned integer type and the operand is not a constant known to be non-negative. | |
| BOND_API Value | Bond::CastValue (const Token &fromValue, Token::TokenType toType) |
| Converts the value of a constant literal Token to the given primitive type, as a C cast would. | |
| BOND_API Value | Bond::CastValue (const TypeAndValue &fromTav, const TypeDescriptor &toType) |
| Converts a compile-time constant value to the given primitive type, as a C cast would. | |
| BOND_API bool | Bond::IsNegativeIntegerConstant (const Token &token) |
| Returns whether the given Token is a signed integer constant literal whose value is negative. | |
Variables | |
| BOND_API const Token | Bond::VOID_TOKEN |
| Constant Token of type KEY_VOID representing the void keyword. | |
| BOND_API const Token | Bond::BOOL_TOKEN |
| Constant Token of type KEY_BOOL representing the bool keyword. | |
| BOND_API const Token | Bond::CHAR_TOKEN |
| Constant Token of type KEY_CHAR representing the char keyword. | |
| BOND_API const Token | Bond::UCHAR_TOKEN |
| Constant Token of type KEY_UCHAR representing the uchar keyword. | |
| BOND_API const Token | Bond::INT_TOKEN |
| Constant Token of type KEY_INT representing the int keyword. | |
| BOND_API const Token | Bond::UINT_TOKEN |
| Constant Token of type KEY_UINT representing the uint keyword. | |
| BOND_API const Token | Bond::LONG_TOKEN |
| Constant Token of type KEY_LONG representing the long keyword. | |
| BOND_API const Token | Bond::ULONG_TOKEN |
| Constant Token of type KEY_ULONG representing the ulong keyword. | |
| BOND_API const Token | Bond::FLOAT_TOKEN |
| Constant Token of type KEY_FLOAT representing the float keyword. | |
| BOND_API const Token | Bond::DOUBLE_TOKEN |
| Constant Token of type KEY_DOUBLE representing the double keyword. | |
| BOND_API const TokenTypeSet | Bond::PRIMITIVE_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond primitive types namely: KEY_BOOL, KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT, KEY_DOUBLE and KEY_VOID. | |
| BOND_API const TokenTypeSet | Bond::BOOLEAN_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet containing only KEY_BOOL. | |
| BOND_API const TokenTypeSet | Bond::CHAR_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond character types, namely: KEY_CHAR and KEY_UCHAR. | |
| BOND_API const TokenTypeSet | Bond::INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond integral types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG. | |
| BOND_API const TokenTypeSet | Bond::SIGNED_INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond signed integral types, namely: KEY_CHAR, KEY_SHORT, KEY_INT and KEY_LONG. | |
| BOND_API const TokenTypeSet | Bond::UNSIGNED_INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond unsigned integral types, namely: KEY_UCHAR, KEY_USHORT, KEY_UINT and KEY_ULONG. | |
| BOND_API const TokenTypeSet | Bond::LEAST32_INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond integral types having at least 32 bits, namely: KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG. | |
| BOND_API const TokenTypeSet | Bond::MOST32_INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond integral types having at most 32 bits, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT and KEY_UINT. | |
| BOND_API const TokenTypeSet | Bond::LONG_INTEGER_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond long integral types, namely: KEY_LONG and KEY_ULONG. | |
| BOND_API const TokenTypeSet | Bond::NUMERIC_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet of all keywords representing Bond numeric types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT and KEY_DOUBLE. | |
| BOND_API const TokenTypeSet | Bond::VOID_TYPE_SPECIFIERS_TYPESET |
| Constant TokenTypeSet containing only KEY_VOID. | |
| BOND_API const TokenTypeSet | Bond::TYPE_DESCRIPTORS_TYPESET |
| Constant TokenTypeSet of all punctuation token types used to begin a new level of indirection in type descriptors, namely: OP_STAR and OBRACKET. | |
| BOND_API const TokenTypeSet | Bond::MOST32_INTEGER_CONSTANTS_TYPESET |
| Constant TokenTypeSet of all integral literal constants having at most 32 bits, namely: CONST_CHAR, CONST_INT and CONST_UINT. | |
| BOND_API const TokenTypeSet | Bond::SIGNED_INTEGER_CONSTANTS_TYPESET |
| Constant TokenTypeSet of all signed integral literal constants, namely: CONST_CHAR, CONST_INT and CONST_LONG. | |
| BOND_API const TokenTypeSet | Bond::JUMP_KEYWORDS_TYPESET |
| Constant TokenTypeSet of all keywords used for jumps in Bond source code, namely: KEY_BREAK, KEY_CONTINUE and KEY_RETURN. | |
| BOND_API const TokenTypeSet | Bond::SWITCH_LABELS_TYPESET |
| Constant TokenTypeSet of all keywords used for defining case labels in Bond switch statements, namely: KEY_CASE and KEY_DEFAULT. | |
| BOND_API const TokenTypeSet | Bond::ASSIGNMENT_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond assignment operators, namely: ASSIGN, ASSIGN_LEFT, ASSIGN_RIGHT, ASSIGN_PLUS, ASSIGN_MINUS, ASSIGN_MULT, ASSIGN_DIV, ASSIGN_MOD, ASSIGN_AND, ASSIGN_OR and ASSIGN_XOR. | |
| BOND_API const TokenTypeSet | Bond::EQUALITY_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond equality operators, namely: OP_EQUAL, OP_NOT_EQUAL. | |
| BOND_API const TokenTypeSet | Bond::RELATIONAL_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond relational operators, namely: OP_LT, OP_LTE, OP_GT and OP_GTE. | |
| BOND_API const TokenTypeSet | Bond::SHIFT_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond shift operators, namely: OP_LEFT and OP_RIGHT. | |
| BOND_API const TokenTypeSet | Bond::ADDITIVE_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond additive arithmetic operators, namely: OP_PLUS and OP_MINUS. | |
| BOND_API const TokenTypeSet | Bond::MULTIPLICATIVE_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond multiplicative arithmetic operators, namely: OP_STAR, OP_DIV and OP_MOD. | |
| BOND_API const TokenTypeSet | Bond::UNARY_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond prefix unary operators, namely: OP_PLUS, OP_MINUS, OP_STAR, OP_INC, OP_DEC, OP_NOT, OP_AMP and OP_BIT_NOT. | |
| BOND_API const TokenTypeSet | Bond::POSTFIX_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond postfix unary operators, namely: OP_INC, OP_DEC, OP_ARROW, OPAREN, OBRACKET and PERIOD. | |
| BOND_API const TokenTypeSet | Bond::PROPERTYOF_OPERATORS_TYPESET |
| Constant TokenTypeSet of all Bond operators for retrieving type properties, namely: KEY_ALIGNOFand KEY_SIZEOF. | |
| BOND_API const TokenTypeSet | Bond::CONSTANT_LITERALS_TYPESET |
| Constant TokenTypeSet of all Bond constant literals, namely: CONST_BOOL, CONST_CHAR, CONST_INT, CONST_UINT, CONST_LONG, CONST_ULONG, CONST_FLOAT, CONST_DOUBLE, CONST_STRING and CONST_NULL. | |
| BOND_API const TokenTypeSet | Bond::BLOCK_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of a block of Bond source, namely: CBRACE and END. | |
| BOND_API const TokenTypeSet | Bond::DECLARATION_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond declarations, namely: KEY_ENUM, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END. | |
| BOND_API const TokenTypeSet | Bond::INCLUDE_AND_DECLARATION_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond declarations and includes, namely: KEY_ENUM, KEY_INCLUDE, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END. | |
| BOND_API const TokenTypeSet | Bond::ENUM_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond enum declarations, namely: CBRACE, SEMICOLON, and END. | |
| BOND_API const TokenTypeSet | Bond::ENUMERATOR_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond enumerator declarations, namely: CBRACE, SEMICOLON, and COMMA. | |
| BOND_API const TokenTypeSet | Bond::STRUCT_MEMBER_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond struct member declarations, namely: CBRACE and SEMICOLON. | |
| BOND_API const TokenTypeSet | Bond::INITIALIZER_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond initializers, namely: CBRACE, OBRACE and COMMA. | |
| BOND_API const TokenTypeSet | Bond::SWITCH_SECTION_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond switch statement sections, namely: KEY_CASE, KEY_DEFAULT, CBRACE and END. | |
| BOND_API const TokenTypeSet | Bond::STATEMENT_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond statements, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_USING, KEY_WHILE, OBRACE, CBRACE and SEMICOLON. | |
| BOND_API const TokenTypeSet | Bond::LABEL_DELIMITERS_TYPESET |
| Constant TokenTypeSet of tokens delimiting the end of Bond switch labels, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_USING, KEY_WHILE, OBRACE, CBRACE, SEMICOLON and COLON. | |
These classes form the parts of the Bond compiler.
| #define BOND_COMPILER_ERROR_LIST |
An X-macro that lists every type of compiler error along with the format of its message.
To use it, define BOND_COMPILER_ERROR(type, format), expand BOND_COMPILER_ERROR_LIST and then undefine BOND_COMPILER_ERROR.
The format strings are not printf format strings. CompilerError::Print interprets the following directives, where an argument is arg0 unless the directive is preceded by a 0 or a 1 that selects arg0 or arg1 explicitly, e.g. "%1n":
| #define BOND_TOKEN_LIST |
An X-macro that lists every type of Token.
To use it, define BOND_TOKEN_ITEM(item), expand BOND_TOKEN_LIST and then undefine BOND_TOKEN_ITEM. The argument of each item is the name of a Token::TokenType enumerator. INVALID is the type of a Token that could not be scanned, END is the type of the last Token of every TokenCollection, and NUM_TOKEN_TYPES is the number of types, not a valid type.
An owning pointer to a dynamically allocated ParseNode.
| typedef Vector<ParseNodeHandle> Bond::ParseNodeStore |
A collection of dynamically allocated ParseNodes.
| typedef Allocator::Handle<const TokenCollection> Bond::TokenCollectionHandle |
An owning pointer to a dynamically allocated TokenCollection.
| typedef Vector<TokenCollectionHandle> Bond::TokenCollectionStore |
A collection of dynamically allocated TokenCollection.
| BOND_API bool Bond::AreAssignableTypes | ( | const TypeDescriptor & | fromType, |
| const TypeDescriptor & | toType ) |
Returns whether a value of one type can be assigned to an object of another type.
The destination type must be assignable, i.e. a non-const lvalue that is not an array. Pointers can be assigned if the source is null or a void pointer, if the destination is a void pointer, or if they point to the same type. Values can be assigned if their types are convertible.
| BOND_API bool Bond::AreComparableTypes | ( | const TypeDescriptor & | typeA, |
| const TypeDescriptor & | typeB ) |
Returns whether values of the given types can be compared, i.e. whether both are pointers, both are numeric or both are bool.
| BOND_API bool Bond::AreConvertibleTypes | ( | const TypeDescriptor & | fromType, |
| const TypeDescriptor & | toType ) |
Returns whether a value of one type can be converted to another, i.e. whether the types are comparable or are the same struct or enum type.
| BOND_API bool Bond::AreSameTypes | ( | const TypeDescriptor & | fromType, |
| const TypeDescriptor & | toType ) |
Returns whether two types are the same, recursing through pointers and arrays, where array lengths must also match. The comparison is not symmetric with respect to const: it fails if fromType is const and toType is not, at any level of indirection, but succeeds if only toType is const.
| const T * Bond::CastNode | ( | const ParseNode * | node | ) |
Returns the given ParseNode cast to the concrete type T, or null if its concrete type is not exactly T. The type is determined with a visitor rather than RTTI.
| node | The node to be cast, or null. |
| T * Bond::CastNode | ( | ParseNode * | node | ) |
Returns the given ParseNode cast to the concrete type T, or null if its concrete type is not exactly T. The type is determined with a visitor rather than RTTI.
| node | The node to be cast, or null. |
| BOND_API Value Bond::CastValue | ( | const Token & | fromValue, |
| Token::TokenType | toType ) |
Converts the value of a constant literal Token to the given primitive type, as a C cast would.
| fromValue | A Token whose type is a numeric or bool constant literal. |
| toType | The keyword Token type of the primitive type to convert to, e.g. KEY_INT. |
| BOND_API Value Bond::CastValue | ( | const TypeAndValue & | fromTav, |
| const TypeDescriptor & | toType ) |
Converts a compile-time constant value to the given primitive type, as a C cast would.
| fromTav | The type and value to convert. The value must be defined. |
| toType | The primitive type to convert to. |
| BOND_API TypeDescriptor Bond::CombineOperandTypes | ( | const TypeDescriptor & | typeA, |
| const TypeDescriptor & | typeB ) |
Returns the type in which a binary operation on operands of the given types is performed, following C's usual arithmetic conversions.
If either operand is a pointer, the result is that pointer type as an rvalue. Otherwise, double takes precedence over float, which takes precedence over the promoted integer types, among which the wider one wins and unsigned wins when the widths are equal.
| BOND_API uint32_t Bond::GetLength | ( | const ListParseNode * | list | ) |
Counts and returns the length of a list of ListParseNodes.
| list | Pointer to the list of nodes to be counted, or null. |
| NodeType * Bond::InsertNode | ( | NodeType * | head, |
| NodeType * | node, | ||
| Comparator | compare ) |
Inserts a node into a sorted list of ListParseNodes, after any nodes that compare equal to it.
| head | The first node of the list, or null if the list is empty. |
| node | The node to be inserted. |
| compare | A strict weak ordering that returns whether its first argument precedes its second. |
| BOND_API bool Bond::IsLossyConversion | ( | const TypeAndValue & | fromTav, |
| const TypeDescriptor & | toType ) |
Returns whether converting a numeric value to the given numeric type may lose data.
If the value is a compile-time constant, the conversion is lossy only if the value is not exactly representable by the destination type. Otherwise, it is lossy if the destination type cannot represent every value of the source type. Conversions involving non-numeric types are never reported as lossy.
| fromTav | The type and value being converted. |
| toType | The type to which the value is converted. |
| BOND_API bool Bond::IsNegativeIntegerConstant | ( | const Token & | token | ) |
Returns whether the given Token is a signed integer constant literal whose value is negative.
| BOND_API bool Bond::MayConvertNegativeToUnsigned | ( | const TypeAndValue & | operandTav, |
| const TypeDescriptor & | operationType ) |
Returns true if the operand has a signed integer type, the operation in which it is used has an unsigned integer type and the operand is not a constant known to be non-negative.
| operandTav | The type and value of the operand prior to promotion. |
| operationType | The type in which the operation is performed, as returned by CombineOperandTypes. |
| NodeType * Bond::NextNode | ( | NodeType * | list | ) |
Returns the node that follows the given one in a list of ListParseNodes, cast to the same type, or null if it is the last node.
| list | The current node. It must not be null. |
| BOND_API TypeDescriptor Bond::PromoteType | ( | const TypeDescriptor & | type | ) |
Returns the type of an operand after C's integer promotions.
Integer types narrower than int are promoted to int, other numeric types and bool are unchanged, and pointers and arrays become pointer rvalues.
|
extern |
Constant TokenTypeSet of all Bond additive arithmetic operators, namely: OP_PLUS and OP_MINUS.
|
extern |
Constant TokenTypeSet of all Bond assignment operators, namely: ASSIGN, ASSIGN_LEFT, ASSIGN_RIGHT, ASSIGN_PLUS, ASSIGN_MINUS, ASSIGN_MULT, ASSIGN_DIV, ASSIGN_MOD, ASSIGN_AND, ASSIGN_OR and ASSIGN_XOR.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of a block of Bond source, namely: CBRACE and END.
|
extern |
Constant Token of type KEY_BOOL representing the bool keyword.
|
extern |
Constant TokenTypeSet containing only KEY_BOOL.
|
extern |
Constant Token of type KEY_CHAR representing the char keyword.
|
extern |
Constant TokenTypeSet of all keywords representing Bond character types, namely: KEY_CHAR and KEY_UCHAR.
|
extern |
Constant TokenTypeSet of all Bond constant literals, namely: CONST_BOOL, CONST_CHAR, CONST_INT, CONST_UINT, CONST_LONG, CONST_ULONG, CONST_FLOAT, CONST_DOUBLE, CONST_STRING and CONST_NULL.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond declarations, namely: KEY_ENUM, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END.
|
extern |
Constant Token of type KEY_DOUBLE representing the double keyword.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond enum declarations, namely: CBRACE, SEMICOLON, and END.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond enumerator declarations, namely: CBRACE, SEMICOLON, and COMMA.
|
extern |
Constant TokenTypeSet of all Bond equality operators, namely: OP_EQUAL, OP_NOT_EQUAL.
|
extern |
Constant Token of type KEY_FLOAT representing the float keyword.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond declarations and includes, namely: KEY_ENUM, KEY_INCLUDE, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond initializers, namely: CBRACE, OBRACE and COMMA.
|
extern |
Constant Token of type KEY_INT representing the int keyword.
|
extern |
Constant TokenTypeSet of all keywords representing Bond integral types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG.
|
extern |
Constant TokenTypeSet of all keywords used for jumps in Bond source code, namely: KEY_BREAK, KEY_CONTINUE and KEY_RETURN.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond switch labels, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_USING, KEY_WHILE, OBRACE, CBRACE, SEMICOLON and COLON.
|
extern |
Constant TokenTypeSet of all keywords representing Bond integral types having at least 32 bits, namely: KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG.
|
extern |
Constant TokenTypeSet of all keywords representing Bond long integral types, namely: KEY_LONG and KEY_ULONG.
|
extern |
Constant Token of type KEY_LONG representing the long keyword.
|
extern |
Constant TokenTypeSet of all integral literal constants having at most 32 bits, namely: CONST_CHAR, CONST_INT and CONST_UINT.
|
extern |
Constant TokenTypeSet of all keywords representing Bond integral types having at most 32 bits, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT and KEY_UINT.
|
extern |
Constant TokenTypeSet of all Bond multiplicative arithmetic operators, namely: OP_STAR, OP_DIV and OP_MOD.
|
extern |
Constant TokenTypeSet of all keywords representing Bond numeric types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT and KEY_DOUBLE.
|
extern |
Constant TokenTypeSet of all Bond postfix unary operators, namely: OP_INC, OP_DEC, OP_ARROW, OPAREN, OBRACKET and PERIOD.
|
extern |
Constant TokenTypeSet of all keywords representing Bond primitive types namely: KEY_BOOL, KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT, KEY_DOUBLE and KEY_VOID.
|
extern |
Constant TokenTypeSet of all Bond operators for retrieving type properties, namely: KEY_ALIGNOFand KEY_SIZEOF.
|
extern |
Constant TokenTypeSet of all Bond relational operators, namely: OP_LT, OP_LTE, OP_GT and OP_GTE.
|
extern |
Constant TokenTypeSet of all Bond shift operators, namely: OP_LEFT and OP_RIGHT.
|
extern |
Constant TokenTypeSet of all signed integral literal constants, namely: CONST_CHAR, CONST_INT and CONST_LONG.
|
extern |
Constant TokenTypeSet of all keywords representing Bond signed integral types, namely: KEY_CHAR, KEY_SHORT, KEY_INT and KEY_LONG.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond statements, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_USING, KEY_WHILE, OBRACE, CBRACE and SEMICOLON.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond struct member declarations, namely: CBRACE and SEMICOLON.
|
extern |
Constant TokenTypeSet of all keywords used for defining case labels in Bond switch statements, namely: KEY_CASE and KEY_DEFAULT.
|
extern |
Constant TokenTypeSet of tokens delimiting the end of Bond switch statement sections, namely: KEY_CASE, KEY_DEFAULT, CBRACE and END.
|
extern |
Constant TokenTypeSet of all punctuation token types used to begin a new level of indirection in type descriptors, namely: OP_STAR and OBRACKET.
|
extern |
Constant Token of type KEY_UCHAR representing the uchar keyword.
|
extern |
Constant Token of type KEY_UINT representing the uint keyword.
|
extern |
Constant Token of type KEY_ULONG representing the ulong keyword.
|
extern |
Constant TokenTypeSet of all Bond prefix unary operators, namely: OP_PLUS, OP_MINUS, OP_STAR, OP_INC, OP_DEC, OP_NOT, OP_AMP and OP_BIT_NOT.
|
extern |
Constant TokenTypeSet of all keywords representing Bond unsigned integral types, namely: KEY_UCHAR, KEY_USHORT, KEY_UINT and KEY_ULONG.
|
extern |
Constant Token of type KEY_VOID representing the void keyword.
|
extern |
Constant TokenTypeSet containing only KEY_VOID.