Inferno
0.2
|
CPPTree namespace contains node definitions that represent elements of the C++ language. More...
Classes | |
struct | Property |
Property is the base class for property nodes. More... | |
struct | Initialiser |
Variable initialiser or function body. More... | |
struct | Uninitialised |
an uninitialised Instance. More... | |
struct | Statement |
Represents a statement as found inside a function body. More... | |
struct | Expression |
An expression that computes a result value. More... | |
struct | Type |
Any abstract data type. More... | |
struct | Declaration |
A declaration specifies the creation of a UserType or an Instance. More... | |
struct | Scope |
A scope is any space in a program where declarations may appear. Declarations. More... | |
struct | Program |
The top level of a program. More... | |
struct | Uncombable |
Indicates that the node cannot be combinationalised. More... | |
struct | Literal |
A property that can also be used as a literal in a program. More... | |
struct | String |
Intermediate property node that represents a string of any value. More... | |
struct | SpecificString |
A string with a specific value. More... | |
struct | Number |
Intermediate property node that represents a number of any value. More... | |
struct | Integer |
Intermediate property node that represents an integer of any value and signedness. More... | |
struct | SpecificInteger |
Property node for a specific integer value. More... | |
struct | Float |
Intermediate property node that represents a floating point number of any value. More... | |
struct | SpecificFloat |
Property node for a specific floating point value. More... | |
struct | Bool |
Intermediate property node that represents either boolean value. More... | |
struct | True |
Property node for boolean value true. More... | |
struct | False |
Property node for boolean value false. More... | |
struct | Identifier |
Property node for any identifier. More... | |
struct | SpecificIdentifier |
Property for a specific identifier, linked to by a particular Declaration. More... | |
struct | InstanceIdentifier |
Identifier for any Instance (variable or object or function) More... | |
struct | SpecificInstanceIdentifier |
Identifier for a specific Instance, linked to by a particular Declaration. More... | |
struct | TypeIdentifier |
Identifier for any user defined type. More... | |
struct | SpecificTypeIdentifier |
Identifier for a specific user defined type, linked to by a particular Declaration. More... | |
struct | Virtuality |
Property for a member function that may or may not be virtual. More... | |
struct | Virtual |
Property for a virtual member funciton. More... | |
struct | NonVirtual |
Property for a non-virtual member funciton. More... | |
struct | AccessSpec |
Property for any access spec. More... | |
struct | Public |
Property for public access. More... | |
struct | Private |
Property for private access. More... | |
struct | Protected |
Property for protected access. More... | |
struct | Constancy |
Property that indicates whether some Instance is constant. More... | |
struct | Const |
Property indicating the Instance is constant. More... | |
struct | NonConst |
Property indicating the Instance is not constant. More... | |
struct | Instance |
Declaration of a variable, object or function. More... | |
struct | Static |
A variable or function with one instance across the entire program. More... | |
struct | Field |
A non-static member Instance (function or variable) More... | |
struct | LocalVariable |
Any variable local to a Compound-statement. Cannot be a function. More... | |
struct | Automatic |
A local variable with automatic allocation. More... | |
struct | Temporary |
A local temp variable not preserved across function calls. More... | |
struct | Base |
Node for a base class within a class declaration, specifies another class from which to inherit. More... | |
struct | LabelIdentifier |
Identifier for a label that can be any label. More... | |
struct | SpecificLabelIdentifier |
Identifier for a specific label that has been declared somewhere. More... | |
struct | Label |
Declaration of a label for switch, goto etc. More... | |
struct | Callable |
Anything that can be called. More... | |
struct | CallableParams |
Anything that can be called and has parameters. More... | |
struct | CallableParamsReturn |
Anything that can be called and has parameters and return value. More... | |
struct | Subroutine |
Subroutine like in Basic, no params or return. More... | |
struct | Procedure |
A procedure like in pascal etc, params but no return value. More... | |
struct | Function |
A function like in C, Pascal; params and a single return value of the specified type. More... | |
struct | Constructor |
A C++ constructor. The init list is just zero or more calls to constructors in the body. More... | |
struct | Destructor |
A C++ destructor. More... | |
struct | Array |
This is the type of an array that contains the specified number of elements of the specified type. More... | |
struct | Indirection |
Intermediate for indirect access to some type as specified. More... | |
struct | Pointer |
A C/C++ pointer. More... | |
struct | Reference |
A C++ reference. More... | |
struct | Void |
The pseudo-type void, disallowed in some circumstances as per C. More... | |
struct | Boolean |
Boolean type. More... | |
struct | Numeric |
Intermediate for any type that represents a number that you can eg add and subtract. More... | |
struct | Integral |
Type represents an integral (singed or unsigned) type. More... | |
struct | Signed |
Type of a signed integer number (2's complement). More... | |
struct | Unsigned |
Type of an unsigned integer number. More... | |
struct | FloatSemantics |
Property for the details of any floating point behaviour. More... | |
struct | SpecificFloatSemantics |
Property for the details of a specific floating point behaviour. More... | |
struct | Floating |
Type of a floating point number. More... | |
struct | Labeley |
struct | UserType |
Intermediate declaration of a user defined type of any kind (struct, typedef etc). More... | |
struct | Typedef |
Represents a typedef. More... | |
struct | Record |
Intermediate for declaration of a struct, class, union or enum. More... | |
struct | Union |
A union, as per Record. More... | |
struct | Enum |
An Enum, as per record. More... | |
struct | InheritanceRecord |
A record that can inherit from other records and be inherited from. More... | |
struct | Struct |
Struct as per InheritanceRecord. More... | |
struct | Class |
Class as per InheritanceRecord. More... | |
struct | Operator |
An operator. More... | |
struct | NonCommutativeOperator |
An operator with operands whose order is defined. More... | |
struct | CommutativeOperator |
An operator with operands whose order does not matter. More... | |
struct | Unop |
An operator with a single operand. More... | |
struct | Binop |
An operator with two operands. More... | |
struct | Ternop |
An operator with three operands. More... | |
struct | CommutativeBinop |
An operator with two interchangable operands. More... | |
struct | AssignmentOperator |
An operator with two operands, that writes its result back to the first operand. More... | |
struct | Globality |
Property indicating whether a New/Delete is global. More... | |
struct | Global |
Property indicating ::new/::delete was used. More... | |
struct | NonGlobal |
Property indicating just new/delete, no :: was used. More... | |
struct | DeleteArrayness |
Property indicating whether a delete should delete an array. More... | |
struct | DeleteArray |
Property indicating delete[] was used. More... | |
struct | DeleteNonArray |
Property indicating delete, no []. More... | |
struct | New |
Node for the C++ new operator. More... | |
struct | Delete |
Node for C++ delete operator. More... | |
struct | Lookup |
Node for accessing an element in a record as in base.member. More... | |
struct | Cast |
Node for a c-style cast. More... | |
struct | MapOperand |
Associates an Expression with an InstanceIdentifier. More... | |
struct | MapOperator |
An operator with operands whose order is established by mapping. More... | |
struct | Call |
A function call to specified function passing in specified arguments. More... | |
struct | MakeRecord |
Initialiser for a record. More... | |
struct | TypeOperator |
Operator that operates on data types as parameters. More... | |
struct | SizeOf |
sizeof() a type More... | |
struct | AlignOf |
alignof() a type More... | |
struct | SequentialScope |
A sequence of statements in a scope that shall execute in sequence. More... | |
struct | Compound |
Declarations and Statements inside {} or begin/end. More... | |
struct | CompoundExpression |
GCC extension for compound statements that return a value. More... | |
struct | Return |
The return statement of a function. More... | |
struct | Goto |
A goto statement. More... | |
struct | If |
If statement. More... | |
struct | Breakable |
Designate a statement that may be broken out of. More... | |
struct | Loop |
Any loop. More... | |
struct | While |
While loop. More... | |
struct | Do |
Do loop (first iteration always runs) More... | |
struct | For |
C-style for loop. More... | |
struct | Switch |
Switch statement. More... | |
struct | SwitchTarget |
Intermediate for labels in a switch statement. More... | |
struct | RangeCase |
Case label, supporting range extension in case useful for optimisation. More... | |
struct | Case |
Case label. More... | |
struct | Default |
Default label in a switch statement. More... | |
struct | Continue |
Continue (to innermost Loop) More... | |
struct | Break |
Break (from innermost Breakable) More... | |
struct | Nop |
Do nothing; these get optimised out where possible. More... | |
Functions | |
PREFIX (plusplus,"++", PreIncrement, AssignmentOperator, ARITHMETIC) POSTFIX(plusplus | |
ARITHMETIC | PREFIX (minusminus,"--", PreDecrement, AssignmentOperator, ARITHMETIC) POSTFIX(minusminus |
ARITHMETIC ARITHMETIC | OTHER (0,"", Multiplexor, Ternop, SPECIAL) OTHER(0 |
ARITHMETIC ARITHMETIC SPECIAL | OTHER (0,"", MakeArray, NonCommutativeOperator, SPECIAL) OTHER(0 |
Variables | |
PostIncrement | |
AssignmentOperator | |
ARITHMETIC | PostDecrement |
ARITHMETIC ARITHMETIC | Subscript |
ARITHMETIC ARITHMETIC | Binop |
ARITHMETIC ARITHMETIC SPECIAL | This |
ARITHMETIC ARITHMETIC SPECIAL | Operator |
CPPTree namespace contains node definitions that represent elements of the C++ language.
ARITHMETIC ARITHMETIC CPPTree::OTHER | ( | 0 | , |
"" | , | ||
Multiplexor | , | ||
Ternop | , | ||
SPECIAL | |||
) |
ARITHMETIC ARITHMETIC SPECIAL CPPTree::OTHER | ( | 0 | , |
"" | , | ||
MakeArray | , | ||
NonCommutativeOperator | , | ||
SPECIAL | |||
) |
CPPTree::PREFIX | ( | plusplus | , |
"++" | , | ||
PreIncrement | , | ||
AssignmentOperator | , | ||
ARITHMETIC | |||
) |
ARITHMETIC CPPTree::PREFIX | ( | minusminus | , |
"--" | , | ||
PreDecrement | , | ||
AssignmentOperator | , | ||
ARITHMETIC | |||
) |
Definition at line 35 of file cpptree.hpp.
Definition at line 67 of file cpptree.hpp.
Definition at line 69 of file cpptree.hpp.
Definition at line 40 of file cpptree.hpp.
Definition at line 35 of file cpptree.hpp.
Definition at line 67 of file cpptree.hpp.
Definition at line 69 of file cpptree.hpp.