Aseba  1.5.5
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 CAsebaLocalEventDescriptionDescription of a local event
 CAsebaNativeFunctionArgumentDescriptionDescription of an argument of a native function
 CAsebaNativeFunctionDescriptionDescription of a native function
 CAsebaVariableDescriptionDescription of a variable
 CAsebaVMDescriptionDescription of all variable
 CAsebaVMStateThis structure contains the state of the Aseba VM
 CAseba::BytecodeElementA bytecode element
 CAseba::CommonDefinitionsDefinitions common to several nodes, such as events or some constants
 CAseba::CompilerAseba Event Scripting Language compiler
 Cdeque
 CAseba::BytecodeVectorBytecode array in the form of a dequeue, for construction
 CAseba::ErrorCompilation error
 CAseba::TranslatableError
 CAseba::ErrorMessagesReturn error messages based on error ID (needed to translate messages for other applications)
 CAseba::TargetDescription::LocalEventDescription of local event;
 CAseba::NamedValueA name - value pair
 CAseba::TargetDescription::NamedVariableDescription of target VM named variable
 CAseba::TargetDescription::NativeFunctionDescription of target VM native function
 CAseba::TargetDescription::NativeFunctionParameterTyped parameter of native functions
 CAseba::NodeAn abstract node of syntax tree
 CAseba::AbstractTreeNodeVirtual class for abstraction nodes abort() if you try to typeCheck(), optimize() or emit() to force correct expansion into regular Aseba nodes
 CAseba::ArithmeticAssignmentNodeNode for operations like "vector (op)= something" Will expand to "vector = vector (op) something" children[0] is a MemoryVectorNode children[1] is whatever Node for the right operand
 CAseba::MemoryVectorNodeNode for accessing a memory as a vector, in read or write operations If write == true, will expand to StoreNode or ArrayWriteNode If write == false, will expand to LoadNode or ArrayReadNode children[0] is an optional index If children[0] is a TupleVectorNode of one elements (int), it will be foo[x] If children[0] is a TupleVectorNode of two elements (int), it will be foo[x:y] If children[0] is another type of node, it will be foo[whatever] If children[0] doesn't exist, access to the full array is considered
 CAseba::TupleVectorNodeNode for assembling values into an array children[x] is the x-th Node to be assembled
 CAseba::UnaryArithmeticAssignmentNodeNode for operations like "vector(op)", may be ++ or – Will expand to "vector (op)= [1,...,1]" children[0] is a MemoryVectorNode
 CAseba::ArrayReadNodeNode for reading from an array
 CAseba::ArrayWriteNodeNode for writing to an array
 CAseba::AssignmentNodeNode for assignation
 CAseba::BinaryArithmeticNodeNode for binary arithmetic
 CAseba::BlockNodeNode for L"block", i.e. a vector of statements
 CAseba::ProgramNodeNode for L"program", i.e. a block node with some special behaviour later on
 CAseba::CallNodeNode for calling a native function may have children for pushing constants somewhere
 CAseba::CallSubNodeNode for L"callsub" no children
 CAseba::EmitNodeNode for L"emit"
 CAseba::EventDeclNodeNode for L"onevent" no children
 CAseba::FoldedIfWhenNodeNode for L"if" and L"when" with operator folded inside
 CAseba::FoldedWhileNodeNode for L"while" with operator folded inside
 CAseba::IfWhenNodeNode for L"if" and L"when"
 CAseba::ImmediateNodeNode for pushing immediate value on stack
 CAseba::LoadNativeArgNodeNode for loading the address of the argument of a native function that is not known at compile time, but that does exist in memory
 CAseba::LoadNodeNode for loading a variable on stack
 CAseba::ReturnNodeNode for returning from an event or subroutine has no children, just a jump of 0 offset that will be resolved at link time
 CAseba::StoreNodeNode for storing a variable from stack
 CAseba::SubDeclNodeNode for L"sub" no children
 CAseba::UnaryArithmeticNodeNode for unary arithmetic children[0] is the expression to negate
 CAseba::WhileNodeNode for L"while"
 CAseba::PreLinkBytecodeBytecode use for compilation previous to linking
 CAseba::SourcePosPosition in a source file or string. First is line, second is column
 CAseba::Compiler::SubroutineDescriptorDescription of a subroutine
 CAseba::TargetDescriptionDescription of target VM
 CAseba::Compiler::TokenA token is a parsed element of inputs
 Cvector
 CAseba::NamedValuesVectorGeneric vector of name - value pairs