TorqueScript
0.2
|
Classes | |
class | CodeBlock |
A CodeBlock defines a piece of executable code generated from a single input (Ie. a file). This includes global executable code and subroutines, datablocks, etc. More... | |
class | Compiler |
Primary compiler class. This class is an AST visitor that walks the AST tree generated by a AST::ASTBuilder instance to generate an InstructionSequence instance. More... | |
class | ConsoleObjectDescriptor |
struct | TypeInformation |
class | ConsoleObject |
Base class for object instances recognized by the interpreter. These object instances may contain member fields addressable the interpreter as well as tagged fields which are arbitrarily mapped values. More... | |
struct | TypeInformation< ConsoleObject > |
class | ConsoleObjectRegistry |
struct | LoopDescriptor |
struct | ObjectInstantiationDescriptor |
Struct describing a tree of console object initializations. More... | |
struct | ExecutionScopeData |
class | ExecutionScope |
A specific scope of execution - this is used to delineate local variables primarily. More... | |
class | ExecutionState |
Execution state structure - this is passed around internally in the virtual machine for arbitrary access. More... | |
class | FileHandleBase |
class | FileObject |
A FileObject is a class that may be used to interact with the filesystem provided by the PlatformContext configured with the interpreter. More... | |
class | Function |
A function is callable subroutine from anywhere in the language, defined by a script. A NativeFunction is a specialization of this that allows native C++ programming to be called from within the interpreter. More... | |
struct | FunctionRegistry |
A FunctionRegistry is used to keep track of registered functions in memory by the packages they are associated with. More... | |
class | InstructionSequence |
Storage class for a sequence of instructions to be executed. Also implements the primary execution code for running Torque Script virtual instructions. More... | |
class | Interpreter |
The interpreter class represents a high level instance of the TorqueScript interpreter. It is where execution control flow begins. More... | |
struct | InterpreterConfiguration |
A structure representing overall interpreter runtime configuration. Some settings can be changed at runtime while others are static once initialized. More... | |
class | NativeFunction |
A NativeFunction is a specialization of Function that allows native C++ programming to be called from within the interpreter. More... | |
class | ParserErrorListener |
class | PlatformContext |
class | StandardFileHandle |
union | StoredValueUnion |
class | StoredValue |
Storage class used to keep variable values in-memory of arbitrary data types. The data types supported as integers, floats and strings (via string ID table references). More... | |
class | StoredValueStack |
Storage class used to keep variable values in-memory of arbitrary data types. This is the base class and should not be instantiated directly. More... | |
class | StringTable |
A string table maintains a mapping of numeric identifiers to their raw string values. This is used to simplify code referencing strings by using a fixed width identifier. More... | |
Typedefs | |
typedef std::vector< InstructionSequence > | GeneratedInstructions |
typedef ConsoleObject *(* | InitializeConsoleObjectFromDescriptorPointer) (Interpreter *interpreter, struct ObjectInstantiationDescriptor &descriptor) |
typedef long long int | AddressType |
Typedef for the signed integer type to be used when calculating addresses. | |
typedef unsigned long long int | AddressOffsetType |
typedef void(* | NativeFunctionPointer) (std::shared_ptr< ConsoleObject > thisObject, std::shared_ptr< ExecutionState > state, const std::size_t argumentCount) |
Functions | |
std::string | toLowerCase (const std::string &in) |
std::string | expandEscapeSequences (const std::string &in) |
Variables | |
std::unordered_map< std::string, ConsoleObjectDescriptor * > * | sConsoleObjectDescriptors |
Copyright 2021 Robert MacGregor
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.