Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Parse Nodes

These classes define all of the types of ParseNodes that form the parse trees generated by the Bond compiler. More...

Classes

class  Bond::ParseNode
 Base class for all parse tree nodes. More...
class  Bond::ListParseNode
 Base class for parse nodes that can be linked into singly linked lists. More...
class  Bond::ParseNodeList< NodeType >
 Helper container for singly linked lists of parse nodes. More...
class  Bond::Symbol
 Base class for named entities that participate in symbol lookup. More...
class  Bond::TypeDescriptor
 Describes a resolved or partially resolved Bond type. More...
class  Bond::TypeSpecifier
 Represents a parsed type specifier. More...
class  Bond::QualifiedIdentifier
 Represents a potentially qualified identifier. More...
class  Bond::TranslationUnit
 Represents a complete parsed source file. More...
class  Bond::IncludeDirective
 Represents an include directive. More...
class  Bond::NamespaceDefinition
 Represents a namespace definition. More...
class  Bond::NativeBlock
 Represents a native declaration block. More...
class  Bond::EnumDeclaration
 Represents an enum declaration. More...
class  Bond::Enumerator
 Represents a single enum value. More...
class  Bond::StructDeclaration
 Represents a struct declaration. More...
class  Bond::FunctionPrototype
 Represents a function signature. More...
class  Bond::FunctionDefinition
 Represents a function declaration or definition. More...
class  Bond::Parameter
 Represents a function parameter. More...
class  Bond::NamedInitializer
 Represents a named variable initializer. More...
class  Bond::Initializer
 Represents a scalar or aggregate initializer. More...
class  Bond::CompoundStatement
 Represents a block statement and its local scope. More...
class  Bond::IfStatement
 Represents an if/else statement. More...
class  Bond::SwitchStatement
 Represents a switch statement. More...
class  Bond::SwitchSection
 Represents one labeled section inside a switch statement. More...
class  Bond::ResolvedSwitchLabel
 Represents a resolved switch label used for code generation. More...
class  Bond::SwitchLabel
 Represents a case or default label in a switch section. More...
class  Bond::WhileStatement
 Represents a while or do-while loop. More...
class  Bond::ForStatement
 Represents a for loop and its local scope. More...
class  Bond::JumpStatement
 Represents a break, continue, or return statement. More...
class  Bond::DeclarativeStatement
 Represents a declarative statement with one or more named initializers. More...
class  Bond::Expression
 Base class for expression nodes. More...
class  Bond::ExpressionStatement
 Represents a statement that evaluates an expression. More...
class  Bond::ConditionalExpression
 Represents a ternary conditional expression. More...
class  Bond::BinaryExpression
 Represents a binary operator expression. More...
class  Bond::UnaryExpression
 Represents a unary operator expression. More...
class  Bond::PostfixExpression
 Represents a postfix operator expression. More...
class  Bond::MemberExpression
 Represents member access on a struct-like value. More...
class  Bond::ArraySubscriptExpression
 Represents an array subscript expression. More...
class  Bond::FunctionCallExpression
 Represents a function call expression. More...
class  Bond::CastExpression
 Represents an explicit cast expression. More...
class  Bond::PropertyofExpression
 Represents sizeof/alignof style property queries. More...
class  Bond::ConstantLiteralExpression
 Represents a literal constant expression. More...
class  Bond::IdentifierExpression
 Represents an identifier expression. More...
class  Bond::ThisExpression
 Represents a this expression. More...
class  Bond::EmptyExpression
 Represents an intentionally empty expression. More...

Enumerations

enum  Bond::Scope { Bond::SCOPE_GLOBAL , Bond::SCOPE_LOCAL , Bond::SCOPE_STRUCT_MEMBER }
 Describes where a symbol is declared. More...

Variables

const TypeSpecifier Bond::VOID_TYPE_SPECIFIER
 Canonical void type specifier instance.
const TypeSpecifier Bond::BOOL_TYPE_SPECIFIER
 Canonical bool type specifier instance.
const TypeSpecifier Bond::CHAR_TYPE_SPECIFIER
 Canonical char type specifier instance.
const TypeSpecifier Bond::INT_TYPE_SPECIFIER
 Canonical int type specifier instance.
const TypeSpecifier Bond::UINT_TYPE_SPECIFIER
 Canonical uint type specifier instance.
const TypeSpecifier Bond::LONG_TYPE_SPECIFIER
 Canonical long type specifier instance.
const TypeSpecifier Bond::ULONG_TYPE_SPECIFIER
 Canonical ulong type specifier instance.
const TypeSpecifier Bond::FLOAT_TYPE_SPECIFIER
 Canonical float type specifier instance.
const TypeSpecifier Bond::DOUBLE_TYPE_SPECIFIER
 Canonical double type specifier instance.

Detailed Description

These classes define all of the types of ParseNodes that form the parse trees generated by the Bond compiler.

Enumeration Type Documentation

◆ Scope

Describes where a symbol is declared.

Enumerator
SCOPE_GLOBAL 

Symbol is declared at global scope.

SCOPE_LOCAL 

Symbol is declared in a local scope.

SCOPE_STRUCT_MEMBER 

Symbol is declared as a struct member.

Variable Documentation

◆ BOOL_TYPE_SPECIFIER

const TypeSpecifier Bond::BOOL_TYPE_SPECIFIER
extern

Canonical bool type specifier instance.

◆ CHAR_TYPE_SPECIFIER

const TypeSpecifier Bond::CHAR_TYPE_SPECIFIER
extern

Canonical char type specifier instance.

◆ DOUBLE_TYPE_SPECIFIER

const TypeSpecifier Bond::DOUBLE_TYPE_SPECIFIER
extern

Canonical double type specifier instance.

◆ FLOAT_TYPE_SPECIFIER

const TypeSpecifier Bond::FLOAT_TYPE_SPECIFIER
extern

Canonical float type specifier instance.

◆ INT_TYPE_SPECIFIER

const TypeSpecifier Bond::INT_TYPE_SPECIFIER
extern

Canonical int type specifier instance.

◆ LONG_TYPE_SPECIFIER

const TypeSpecifier Bond::LONG_TYPE_SPECIFIER
extern

Canonical long type specifier instance.

◆ UINT_TYPE_SPECIFIER

const TypeSpecifier Bond::UINT_TYPE_SPECIFIER
extern

Canonical uint type specifier instance.

◆ ULONG_TYPE_SPECIFIER

const TypeSpecifier Bond::ULONG_TYPE_SPECIFIER
extern

Canonical ulong type specifier instance.

◆ VOID_TYPE_SPECIFIER

const TypeSpecifier Bond::VOID_TYPE_SPECIFIER
extern

Canonical void type specifier instance.