Aseba Event Scripting Language compiler. More...
#include <compiler.h>
Classes | |
| struct | SubroutineDescriptor |
| Description of a subroutine. More... | |
| struct | Token |
| A token is a parsed element of inputs. More... | |
Public Types | |
| typedef std::map< std::string, unsigned > | FunctionsMap |
| Lookup table for functions (name => id in target description). | |
| typedef std::map< std::string, unsigned > | FunctionsMap |
| Lookup table for functions (name => id in target description). | |
| typedef std::set< unsigned > | ImplementedEvents |
| Lookup table to keep track of implemented events. | |
| typedef std::set< unsigned > | ImplementedEvents |
| Lookup table to keep track of implemented events. | |
| typedef std::map< std::string, unsigned > | SubroutineReverseTable |
| Reverse Lookup table for subroutines name => id. | |
| typedef std::map< std::string, unsigned > | SubroutineReverseTable |
| Reverse Lookup table for subroutines name => id. | |
| typedef std::vector < SubroutineDescriptor > | SubroutineTable |
| Lookup table for subroutines id => (name, address, line). | |
| typedef std::vector < SubroutineDescriptor > | SubroutineTable |
| Lookup table for subroutines id => (name, address, line). | |
| typedef std::map< std::string, std::pair< unsigned, unsigned > > | VariablesMap |
| Lookup table for variables name => (pos, size)). | |
| typedef std::map< std::string, std::pair< unsigned, unsigned > > | VariablesMap |
| Lookup table for variables name => (pos, size)). | |
Public Member Functions | |
| bool | compile (std::istream &source, BytecodeVector &bytecode, unsigned &allocatedVariablesCount, Error &errorDescription, std::ostream *dump=0) |
| bool | compile (std::istream &source, BytecodeVector &bytecode, unsigned &allocatedVariablesCount, Error &errorDescription, std::ostream *dump=0) |
| Compiler () | |
| Compiler () | |
| Constructor. You must setup a description using setTargetDescription() before any call to compile(). | |
| const TargetDescription * | getTargetDescription () const |
| const TargetDescription * | getTargetDescription () const |
| const VariablesMap * | getVariablesMap () const |
| const VariablesMap * | getVariablesMap () const |
| void | setCommonDefinitions (const CommonDefinitions *definitions) |
| void | setCommonDefinitions (const CommonDefinitions *definitions) |
| Set the common definitions, such as events or some constants. | |
| void | setTargetDescription (const TargetDescription *description) |
| void | setTargetDescription (const TargetDescription *description) |
| Set the description of the target as returned by the microcontroller. You must call this function before any call to compile(). | |
Protected Member Functions | |
| void | buildMaps () |
| void | buildMaps () |
| Build variables and functions maps. | |
| void | disassemble (BytecodeVector &bytecode, const PreLinkBytecode &preLinkBytecode, std::ostream &dump) const |
| void | disassemble (BytecodeVector &bytecode, const PreLinkBytecode &preLinkBytecode, std::ostream &dump) const |
| Disassemble a microcontroller bytecode and dump it. | |
| void | dumpTokens (std::ostream &dest) const |
| void | dumpTokens (std::ostream &dest) const |
| Debug print of tokens. | |
| std::string | eventName (unsigned eventId) const |
| std::string | eventName (unsigned eventId) const |
| Return the name of an event given its identifier. | |
| void | expect (const Token::Type &type) const |
| void | expect (const Token::Type &type) const |
| Check if next token is of type, produce an exception otherwise. | |
| int | expectAbsoluteInt16Literal (bool negative) const |
| int | expectAbsoluteInt16Literal (bool negative) const |
| Check if next token is the absolute part of a 16 bits signed integer literal. If so, return it, if not, throw an exception. | |
| unsigned | expectAnyEventId () const |
| unsigned | expectAnyEventId () const |
| Check if next token is a known local or global event identifier. | |
| int | expectConstant () const |
| int | expectConstant () const |
| Check if next toxen is a valid 16 bits signed integer constant. | |
| unsigned | expectGlobalEventId () const |
| unsigned | expectGlobalEventId () const |
| Check if next token is a known global event identifier. | |
| int | expectInt16LiteralOrConstant () |
| int | expectInt16LiteralOrConstant () |
| Check and return either a 16 bits signed integer or the value of a valid constant. | |
| template<int length> | |
| void | expectOneOf (const Token::Type types[length]) const |
| template<int length> | |
| void | expectOneOf (const Token::Type types[length]) const |
| Check if next token is of one of the following types, produce an exception otherwise. | |
| unsigned | expectPositiveConstant () const |
| unsigned | expectPositiveConstant () const |
| Check if next toxen is a valid positive part of a 16 bits signed integer constant. | |
| unsigned | expectPositiveInt16Literal () const |
| unsigned | expectPositiveInt16Literal () const |
| Check if next token is the positive part of a 16 bits signed integer literal. If so, return it, if not, throw an exception. | |
| unsigned | expectPositiveInt16LiteralOrConstant () const |
| unsigned | expectPositiveInt16LiteralOrConstant () const |
| Check and return either the positive part of a 16 bits signed integer or the value of a valid constant. | |
| unsigned | expectUInt12Literal () const |
| unsigned | expectUInt12Literal () const |
| Check if next token is an unsigned 12 bits integer literal. If so, return it, if not, throw an exception. | |
| unsigned | expectUInt16Literal () const |
| unsigned | expectUInt16Literal () const |
| Check if next token is an unsigned 16 bits integer literal. If so, return it, if not, throw an exception. | |
| void | internalCompilerError () const |
| void | internalCompilerError () const |
| There is a bug in the compiler, ask for a bug report. | |
| template<int length> | |
| bool | isOneOf (const Token::Type types[length]) const |
| template<int length> | |
| bool | isOneOf (const Token::Type types[length]) const |
| Return true if next token is of the following types. | |
| bool | link (const PreLinkBytecode &preLinkBytecode, BytecodeVector &bytecode) |
| bool | link (const PreLinkBytecode &preLinkBytecode, BytecodeVector &bytecode) |
| Create the final bytecode for a microcontroller. | |
| Node * | parseAddExpression () |
| Node * | parseAddExpression () |
| Parse "add_expression" grammar element. | |
| Node * | parseAnd () |
| Node * | parseAnd () |
| Parse "and" grammar element. | |
| Node * | parseAssignment () |
| Node * | parseAssignment () |
| Parse "assignment" grammar element. | |
| Node * | parseBinaryAndExpression () |
| Node * | parseBinaryAndExpression () |
| Parse "binary and" grammar element. | |
| Node * | parseBinaryOrExpression () |
| Node * | parseBinaryOrExpression () |
| Parse "binary or" grammar element. | |
| Node * | parseBinaryXorExpression () |
| Node * | parseBinaryXorExpression () |
| Parse "binary xor" grammar element. | |
| Node * | parseBlockStatement () |
| Node * | parseBlockStatement () |
| Parse "block statement" grammar element. | |
| Node * | parseCallSub () |
| Node * | parseCallSub () |
| Parse "subcall" grammar element, call of subroutine. | |
| Node * | parseCondition () |
| Node * | parseCondition () |
| Parse "condition" grammar element. | |
| Node * | parseEmit () |
| Node * | parseEmit () |
| Parse "event" grammar element. | |
| Node * | parseFor () |
| Node * | parseFor () |
| Parse "for" grammar element. | |
| Node * | parseFunctionCall () |
| Node * | parseFunctionCall () |
| Parse "function_call" grammar element. | |
| Node * | parseIfWhen (bool edgeSensitive) |
| Node * | parseIfWhen (bool edgeSensitive) |
| Parse "if" grammar element. | |
| Node * | parseMultExpression () |
| Node * | parseMultExpression () |
| Parse "mult_expression" grammar element. | |
| Node * | parseNot () |
| Node * | parseNot () |
| Parse "not" grammar element. | |
| Node * | parseOnEvent () |
| Node * | parseOnEvent () |
| Parse "onevent" grammar element. | |
| Node * | parseOr () |
| Node * | parseOr () |
| Parse "or" grammar element. | |
| Node * | parseProgram () |
| Node * | parseProgram () |
| Parse "program" grammar element. | |
| void | parseReadVarArrayAccess (unsigned *addr, unsigned *size) |
| void | parseReadVarArrayAccess (unsigned *addr, unsigned *size) |
| Parse access to variable, arrray, or array subscript. | |
| Node * | parseShiftExpression () |
| Node * | parseShiftExpression () |
| Parse "shift_expression" grammar element. | |
| Node * | parseStatement () |
| Node * | parseStatement () |
| Parse "statement" grammar element. | |
| Node * | parseSubDecl () |
| Node * | parseSubDecl () |
| Parse "sub" grammar element, declaration of subroutine. | |
| Node * | parseUnaryExpression () |
| Node * | parseUnaryExpression () |
| Parse "unary_expression" grammar element. | |
| Node * | parseVarDef () |
| Node * | parseVarDef () |
| Parse "var def" grammar element. | |
| Node * | parseWhile () |
| Node * | parseWhile () |
| Parse "while" grammar element. | |
| void | tokenize (std::istream &source) |
| void | tokenize (std::istream &source) |
| bool | verifyStackCalls (PreLinkBytecode &preLinkBytecode) |
| bool | verifyStackCalls (PreLinkBytecode &preLinkBytecode) |
| Verify that no call path can create a stack overflow. | |
Protected Attributes | |
| const CommonDefinitions * | commonDefinitions |
| common definitions, such as events or some constants | |
| unsigned | freeVariableIndex |
| index pointing to the first free variable | |
| FunctionsMap | functionsMap |
| functions lookup | |
| ImplementedEvents | implementedEvents |
| list of implemented events | |
| SubroutineReverseTable | subroutineReverseTable |
| subroutine reverse lookup | |
| SubroutineTable | subroutineTable |
| subroutine lookup | |
| const TargetDescription * | targetDescription |
| description of the target VM | |
| std::deque< Token > | tokens |
| parsed tokens | |
| VariablesMap | variablesMap |
| variables lookup | |
Aseba Event Scripting Language compiler.
Definition at line 202 of file compiler.h.
| typedef std::map<std::string, unsigned> Aseba::Compiler::FunctionsMap |
Lookup table for functions (name => id in target description).
Definition at line 274 of file compiler.h.
| typedef std::map<std::string, unsigned> Aseba::Compiler::FunctionsMap |
Lookup table for functions (name => id in target description).
Definition at line 274 of file compiler.h.
| typedef std::set<unsigned> Aseba::Compiler::ImplementedEvents |
Lookup table to keep track of implemented events.
Definition at line 289 of file compiler.h.
| typedef std::set<unsigned> Aseba::Compiler::ImplementedEvents |
Lookup table to keep track of implemented events.
Definition at line 289 of file compiler.h.
| typedef std::map<std::string, unsigned> Aseba::Compiler::SubroutineReverseTable |
Reverse Lookup table for subroutines name => id.
Definition at line 287 of file compiler.h.
| typedef std::map<std::string, unsigned> Aseba::Compiler::SubroutineReverseTable |
Reverse Lookup table for subroutines name => id.
Definition at line 287 of file compiler.h.
| typedef std::vector<SubroutineDescriptor> Aseba::Compiler::SubroutineTable |
Lookup table for subroutines id => (name, address, line).
Definition at line 285 of file compiler.h.
| typedef std::vector<SubroutineDescriptor> Aseba::Compiler::SubroutineTable |
Lookup table for subroutines id => (name, address, line).
Definition at line 285 of file compiler.h.
| typedef std::map<std::string, std::pair<unsigned, unsigned> > Aseba::Compiler::VariablesMap |
Lookup table for variables name => (pos, size)).
Definition at line 272 of file compiler.h.
| typedef std::map<std::string, std::pair<unsigned, unsigned> > Aseba::Compiler::VariablesMap |
Lookup table for variables name => (pos, size)).
Definition at line 272 of file compiler.h.
| Aseba::Compiler::Compiler | ( | ) |
| void Aseba::Compiler::buildMaps | ( | ) | [protected] |
| bool Aseba::Compiler::compile | ( | std::istream & | source, | |
| BytecodeVector & | bytecode, | |||
| unsigned & | allocatedVariablesCount, | |||
| Error & | errorDescription, | |||
| std::ostream * | dump = 0 | |||
| ) |
| void Aseba::Compiler::disassemble | ( | BytecodeVector & | bytecode, | |
| const PreLinkBytecode & | preLinkBytecode, | |||
| std::ostream & | dump | |||
| ) | const [protected] |
| void Aseba::Compiler::dumpTokens | ( | std::ostream & | dest | ) | const [protected] |
| void Aseba::Compiler::dumpTokens | ( | std::ostream & | dest | ) | const [protected] |
| std::string Aseba::Compiler::eventName | ( | unsigned | eventId | ) | const [protected] |
| std::string Aseba::Compiler::eventName | ( | unsigned | eventId | ) | const [protected] |
Return the name of an event given its identifier.
Definition at line 225 of file parser.cpp.
| void Aseba::Compiler::expect | ( | const Token::Type & | type | ) | const [protected] |
| void Aseba::Compiler::expect | ( | const Token::Type & | type | ) | const [protected] |
Check if next token is of type, produce an exception otherwise.
Definition at line 54 of file parser.cpp.
| int Aseba::Compiler::expectAbsoluteInt16Literal | ( | bool | negative | ) | const [protected] |
| int Aseba::Compiler::expectAbsoluteInt16Literal | ( | bool | negative | ) | const [protected] |
Check if next token is the absolute part of a 16 bits signed integer literal. If so, return it, if not, throw an exception.
Definition at line 101 of file parser.cpp.
| unsigned Aseba::Compiler::expectAnyEventId | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectAnyEventId | ( | ) | const [protected] |
Check if next token is a known local or global event identifier.
Definition at line 206 of file parser.cpp.
| int Aseba::Compiler::expectConstant | ( | ) | const [protected] |
| int Aseba::Compiler::expectConstant | ( | ) | const [protected] |
Check if next toxen is a valid 16 bits signed integer constant.
Definition at line 140 of file parser.cpp.
| unsigned Aseba::Compiler::expectGlobalEventId | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectGlobalEventId | ( | ) | const [protected] |
Check if next token is a known global event identifier.
Definition at line 189 of file parser.cpp.
| int Aseba::Compiler::expectInt16LiteralOrConstant | ( | ) | [protected] |
| int Aseba::Compiler::expectInt16LiteralOrConstant | ( | ) | [protected] |
Check and return either a 16 bits signed integer or the value of a valid constant.
Definition at line 173 of file parser.cpp.
| void Aseba::Compiler::expectOneOf | ( | const Token::Type | types[length] | ) | const [inline, protected] |
| void Aseba::Compiler::expectOneOf | ( | const Token::Type | types[length] | ) | const [inline, protected] |
Check if next token is of one of the following types, produce an exception otherwise.
Definition at line 253 of file parser.cpp.
| unsigned Aseba::Compiler::expectPositiveConstant | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectPositiveConstant | ( | ) | const [protected] |
Check if next toxen is a valid positive part of a 16 bits signed integer constant.
Definition at line 116 of file parser.cpp.
| unsigned Aseba::Compiler::expectPositiveInt16Literal | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectPositiveInt16Literal | ( | ) | const [protected] |
Check if next token is the positive part of a 16 bits signed integer literal. If so, return it, if not, throw an exception.
Definition at line 89 of file parser.cpp.
| unsigned Aseba::Compiler::expectPositiveInt16LiteralOrConstant | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectPositiveInt16LiteralOrConstant | ( | ) | const [protected] |
Check and return either the positive part of a 16 bits signed integer or the value of a valid constant.
Definition at line 164 of file parser.cpp.
| unsigned Aseba::Compiler::expectUInt12Literal | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectUInt12Literal | ( | ) | const [protected] |
Check if next token is an unsigned 12 bits integer literal. If so, return it, if not, throw an exception.
Definition at line 65 of file parser.cpp.
| unsigned Aseba::Compiler::expectUInt16Literal | ( | ) | const [protected] |
| unsigned Aseba::Compiler::expectUInt16Literal | ( | ) | const [protected] |
Check if next token is an unsigned 16 bits integer literal. If so, return it, if not, throw an exception.
Definition at line 77 of file parser.cpp.
| const TargetDescription* Aseba::Compiler::getTargetDescription | ( | ) | const [inline] |
Definition at line 294 of file compiler.h.
| const TargetDescription* Aseba::Compiler::getTargetDescription | ( | ) | const [inline] |
Definition at line 294 of file compiler.h.
| const VariablesMap* Aseba::Compiler::getVariablesMap | ( | ) | const [inline] |
Definition at line 295 of file compiler.h.
| const VariablesMap* Aseba::Compiler::getVariablesMap | ( | ) | const [inline] |
Definition at line 295 of file compiler.h.
| void Aseba::Compiler::internalCompilerError | ( | ) | const [protected] |
| void Aseba::Compiler::internalCompilerError | ( | ) | const [protected] |
There is a bug in the compiler, ask for a bug report.
Definition at line 48 of file parser.cpp.
| bool Aseba::Compiler::isOneOf | ( | const Token::Type | types[length] | ) | const [inline, protected] |
| bool Aseba::Compiler::isOneOf | ( | const Token::Type | types[length] | ) | const [inline, protected] |
Return true if next token is of the following types.
Definition at line 241 of file parser.cpp.
| bool Aseba::Compiler::link | ( | const PreLinkBytecode & | preLinkBytecode, | |
| BytecodeVector & | bytecode | |||
| ) | [protected] |
| Node* Aseba::Compiler::parseAddExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseAddExpression | ( | ) | [protected] |
Parse "add_expression" grammar element.
Definition at line 934 of file parser.cpp.
| Node* Aseba::Compiler::parseAnd | ( | ) | [protected] |
| Node * Aseba::Compiler::parseAnd | ( | ) | [protected] |
Parse "and" grammar element.
Definition at line 789 of file parser.cpp.
| Node* Aseba::Compiler::parseAssignment | ( | ) | [protected] |
| Node * Aseba::Compiler::parseAssignment | ( | ) | [protected] |
Parse "assignment" grammar element.
Definition at line 391 of file parser.cpp.
| Node* Aseba::Compiler::parseBinaryAndExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseBinaryAndExpression | ( | ) | [protected] |
Parse "binary and" grammar element.
Definition at line 899 of file parser.cpp.
| Node* Aseba::Compiler::parseBinaryOrExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseBinaryOrExpression | ( | ) | [protected] |
Parse "binary or" grammar element.
Definition at line 867 of file parser.cpp.
| Node* Aseba::Compiler::parseBinaryXorExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseBinaryXorExpression | ( | ) | [protected] |
Parse "binary xor" grammar element.
Definition at line 883 of file parser.cpp.
| Node* Aseba::Compiler::parseBlockStatement | ( | ) | [protected] |
| Node * Aseba::Compiler::parseBlockStatement | ( | ) | [protected] |
Parse "block statement" grammar element.
Definition at line 307 of file parser.cpp.
| Node* Aseba::Compiler::parseCallSub | ( | ) | [protected] |
| Node * Aseba::Compiler::parseCallSub | ( | ) | [protected] |
Parse "subcall" grammar element, call of subroutine.
Definition at line 694 of file parser.cpp.
| Node* Aseba::Compiler::parseCondition | ( | ) | [protected] |
| Node * Aseba::Compiler::parseCondition | ( | ) | [protected] |
Parse "condition" grammar element.
Definition at line 848 of file parser.cpp.
| Node* Aseba::Compiler::parseEmit | ( | ) | [protected] |
| Node * Aseba::Compiler::parseEmit | ( | ) | [protected] |
Parse "event" grammar element.
Definition at line 643 of file parser.cpp.
| Node* Aseba::Compiler::parseFor | ( | ) | [protected] |
| Node * Aseba::Compiler::parseFor | ( | ) | [protected] |
Parse "for" grammar element.
Definition at line 505 of file parser.cpp.
| Node* Aseba::Compiler::parseFunctionCall | ( | ) | [protected] |
| Node * Aseba::Compiler::parseFunctionCall | ( | ) | [protected] |
Parse "function_call" grammar element.
Definition at line 1075 of file parser.cpp.
| Node* Aseba::Compiler::parseIfWhen | ( | bool | edgeSensitive | ) | [protected] |
| Node * Aseba::Compiler::parseIfWhen | ( | bool | edgeSensitive | ) | [protected] |
Parse "if" grammar element.
Definition at line 442 of file parser.cpp.
| Node* Aseba::Compiler::parseMultExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseMultExpression | ( | ) | [protected] |
Parse "mult_expression" grammar element.
Definition at line 953 of file parser.cpp.
| Node* Aseba::Compiler::parseNot | ( | ) | [protected] |
| Node * Aseba::Compiler::parseNot | ( | ) | [protected] |
Parse "not" grammar element.
Definition at line 805 of file parser.cpp.
| Node* Aseba::Compiler::parseOnEvent | ( | ) | [protected] |
| Node * Aseba::Compiler::parseOnEvent | ( | ) | [protected] |
Parse "onevent" grammar element.
Definition at line 627 of file parser.cpp.
| Node* Aseba::Compiler::parseOr | ( | ) | [protected] |
| Node * Aseba::Compiler::parseOr | ( | ) | [protected] |
Parse "or" grammar element.
Definition at line 773 of file parser.cpp.
| Node* Aseba::Compiler::parseProgram | ( | ) | [protected] |
| Node * Aseba::Compiler::parseProgram | ( | ) | [protected] |
Parse "program" grammar element.
Definition at line 272 of file parser.cpp.
| void Aseba::Compiler::parseReadVarArrayAccess | ( | unsigned * | addr, | |
| unsigned * | size | |||
| ) | [protected] |
| void Aseba::Compiler::parseReadVarArrayAccess | ( | unsigned * | addr, | |
| unsigned * | size | |||
| ) | [protected] |
Parse access to variable, arrray, or array subscript.
Definition at line 712 of file parser.cpp.
| Node* Aseba::Compiler::parseShiftExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseShiftExpression | ( | ) | [protected] |
Parse "shift_expression" grammar element.
Definition at line 915 of file parser.cpp.
| Node* Aseba::Compiler::parseStatement | ( | ) | [protected] |
| Node * Aseba::Compiler::parseStatement | ( | ) | [protected] |
Parse "statement" grammar element.
Definition at line 295 of file parser.cpp.
| Node* Aseba::Compiler::parseSubDecl | ( | ) | [protected] |
| Node * Aseba::Compiler::parseSubDecl | ( | ) | [protected] |
Parse "sub" grammar element, declaration of subroutine.
Definition at line 672 of file parser.cpp.
| Node* Aseba::Compiler::parseUnaryExpression | ( | ) | [protected] |
| Node * Aseba::Compiler::parseUnaryExpression | ( | ) | [protected] |
Parse "unary_expression" grammar element.
Definition at line 972 of file parser.cpp.
| Node* Aseba::Compiler::parseVarDef | ( | ) | [protected] |
| Node * Aseba::Compiler::parseVarDef | ( | ) | [protected] |
Parse "var def" grammar element.
Definition at line 323 of file parser.cpp.
| Node* Aseba::Compiler::parseWhile | ( | ) | [protected] |
| Node * Aseba::Compiler::parseWhile | ( | ) | [protected] |
Parse "while" grammar element.
Definition at line 602 of file parser.cpp.
| void Aseba::Compiler::setCommonDefinitions | ( | const CommonDefinitions * | definitions | ) |
| void Aseba::Compiler::setTargetDescription | ( | const TargetDescription * | description | ) |
| void Aseba::Compiler::tokenize | ( | std::istream & | source | ) | [protected] |
| void Aseba::Compiler::tokenize | ( | std::istream & | source | ) | [protected] |
| bool Aseba::Compiler::verifyStackCalls | ( | PreLinkBytecode & | preLinkBytecode | ) | [protected] |
const CommonDefinitions * Aseba::Compiler::commonDefinitions [protected] |
common definitions, such as events or some constants
Definition at line 368 of file compiler.h.
unsigned Aseba::Compiler::freeVariableIndex [protected] |
index pointing to the first free variable
Definition at line 366 of file compiler.h.
FunctionsMap Aseba::Compiler::functionsMap [protected] |
functions lookup
Definition at line 363 of file compiler.h.
ImplementedEvents Aseba::Compiler::implementedEvents [protected] |
list of implemented events
Definition at line 362 of file compiler.h.
subroutine reverse lookup
Definition at line 365 of file compiler.h.
SubroutineTable Aseba::Compiler::subroutineTable [protected] |
subroutine lookup
Definition at line 364 of file compiler.h.
const TargetDescription * Aseba::Compiler::targetDescription [protected] |
description of the target VM
Definition at line 367 of file compiler.h.
std::deque< Token > Aseba::Compiler::tokens [protected] |
parsed tokens
Definition at line 360 of file compiler.h.
VariablesMap Aseba::Compiler::variablesMap [protected] |
variables lookup
Definition at line 361 of file compiler.h.