Kōtuku
  • Gallery
  • API
  • Wiki
  • GitHub
    • Audio
    • Config
    • Core
    • Display
    • Document
    • Font
    • HTTP
    • Network
    • Regex
    • SVG
    • Tiri
    • Vector
    • XML
    • XQuery
    • XRandR
      • Audio
      • MP3
      • Sound
      • File
      • MetaClass
      • Module
      • StorageDevice
      • Task
      • Thread
      • Time
      • Compression
      • CompressedStream
      • Config
      • LZMAStream
      • Script
      • Tiri
      • XML
      • XQuery
      • Controller
      • BlurFX
      • ColourFX
      • CompositeFX
      • ConvolveFX
      • DisplacementFX
      • FilterEffect
      • FloodFX
      • ImageFX
      • LightingFX
      • MergeFX
      • MorphologyFX
      • OffsetFX
      • RemapFX
      • SourceFX
      • TurbulenceFX
      • WaveFunctionFX
      • Scintilla
      • Bitmap
      • Clipboard
      • Display
      • Document
      • Font
      • Image
      • Pointer
      • Surface
      • SVG
      • ClientSocket
      • HTTP
      • NetClient
      • NetLookup
      • NetServer
      • NetSocket
      • Proxy
      • Gradient
      • GradientConic
      • GradientContour
      • GradientDiamond
      • GradientDiffusion
      • GradientDistal
      • GradientGouraud
      • GradientLinear
      • GradientMesh
      • GradientRadial
      • GradientVoronoi
      • Vector
      • VectorClip
      • VectorColour
      • VectorEllipse
      • VectorFilter
      • VectorGradient
      • VectorGroup
      • VectorImage
      • VectorPath
      • VectorPattern
      • VectorPolygon
      • VectorRectangle
      • VectorScene
      • VectorShape
      • VectorSpiral
      • VectorText
      • VectorTransition
      • VectorViewport
      • VectorWave
      • Linux Builds
      • Windows Builds
      • Customising Your Build
      • Kōtuku Objects
      • Kōtuku In Depth
      • Kōtuku Design Patterns
      • Coding With AI
      • Regex Manual
      • XML Comparisons
      • Tiri Reference Manual
      • Config API
      • Defer Syntax
      • GUI API
      • HTTP Server API
      • I/O API
      • JSON API
      • OAuth API
      • Options API
      • Proxy Server API
      • Tempus API
      • URL API
      • VFX API
      • Widgets
      • RIPL Reference Manual
      • Origo
      • Flute / Unit Testing
      • Tuku
      • Embedded Document Format
      • TDL Reference Manual
      • TDL Tools
      • Action Reference Manual
      • System Error Codes

Tiri Class

Extends the Script class with support for the Tiri language.

The Tiri class provides functionality for running scripts written in the Tiri programming language.

Structure

The Tiri class consists of the following fields:

Access
NameTypeComment
 JitOptionsJOFDefines JIT debugging options.

This field allows the client to configure debugging options related to the Just-In-Time (JIT) compilation process.

NameDescription
JOF::ALL_TIPSInclude all tips and style suggestions.
JOF::DIAGNOSECancels aborting on error so that the full script is parsed. Enables deeper log tracing.
JOF::DISABLE_JITDisable the JIT compiler.
JOF::DUMP_BYTECODEPrint a disassembly of bytecode instructions after parsing.
JOF::PROFILEUse timers to profile JIT parsing. Required to configure run-time profiling.
JOF::TIPSFilter tips down to performance and code quality issues.
JOF::TOP_TIPSFilter tips down to type safety and correctness issues.
JOF::TRACESynonym for TRACE_TOKENS | TRACE_EXPECT | TRACE_BOUNDARY | TRACE_OPERATORS | TRACE_REGISTERS | TRACE_CFG | TRACE_ASSIGNMENTS | TRACE_VALUE_CATEGORY | TRACE_TYPES
JOF::TRACE_ASSIGNMENTSTrace PreparedAssignment lifecycle and hazard handling.
JOF::TRACE_BOUNDARYEnable log messages for AST boundary crossing.
JOF::TRACE_CFGTrace ControlFlowGraph edge creation and patching.
JOF::TRACE_EXPECTEnable trace expectation messages during parsing.
JOF::TRACE_OPERATORSTrace OperatorEmitter method calls and decisions.
JOF::TRACE_REGISTERSTrace RegisterAllocator reservations and releases.
JOF::TRACE_TOKENSTrace the emission of tokens.
JOF::TRACE_TYPESTrace type inference and type checking decisions.
JOF::TRACE_VALUE_CATEGORYTrace ValueUse/ValueSlot/LValue operations.
 Procedureskt::vector<std::string>Returns a string array of all named procedures defined by a script.

This field will return a string array of all procedures loaded into the script, conditional on it being activated. It will otherwise return an empty array.

Actions

The following actions are currently supported:

ActivatePerforms the native action of the object.
QueryCompiles the script and prepares it for execution.
ERR acQuery(*Object)

Query() performs the process of compiling the Tiri script. A Tiri script can be queried only once, at which point the object enters a configured state. Further queries will do nothing, and return ERR::NothingDone.

Note that due to the code not being run, declared functions and variables won't be formally registered. Introspection of available procedures will be limited until the script is activated.

SaveToObjectCompiles the current script statement and saves it as byte code.
ERR acSaveToObject(*Object, OBJECTID Dest, CLASSID ClassID)
ParameterDescription
DestRefers to an object that will receive the encoded data.
ClassIDCan refer to a derived class that should be used when encoding the data.

Use the SaveToObject action to compile the statement in the Script's String field and save the resulting byte code to a target object. The byte code can be loaded into any script object for execution or referenced in the Tiri code for usage.

Tiri class documentation © Paul Manias © 2006-2026

JOF Type

JIT behaviour options

NameDescription
JOF::ALL_TIPSInclude all tips and style suggestions.
JOF::DIAGNOSECancels aborting on error so that the full script is parsed. Enables deeper log tracing.
JOF::DISABLE_JITDisable the JIT compiler.
JOF::DUMP_BYTECODEPrint a disassembly of bytecode instructions after parsing.
JOF::PROFILEUse timers to profile JIT parsing. Required to configure run-time profiling.
JOF::TIPSFilter tips down to performance and code quality issues.
JOF::TOP_TIPSFilter tips down to type safety and correctness issues.
JOF::TRACESynonym for TRACE_TOKENS | TRACE_EXPECT | TRACE_BOUNDARY | TRACE_OPERATORS | TRACE_REGISTERS | TRACE_CFG | TRACE_ASSIGNMENTS | TRACE_VALUE_CATEGORY | TRACE_TYPES
JOF::TRACE_ASSIGNMENTSTrace PreparedAssignment lifecycle and hazard handling.
JOF::TRACE_BOUNDARYEnable log messages for AST boundary crossing.
JOF::TRACE_CFGTrace ControlFlowGraph edge creation and patching.
JOF::TRACE_EXPECTEnable trace expectation messages during parsing.
JOF::TRACE_OPERATORSTrace OperatorEmitter method calls and decisions.
JOF::TRACE_REGISTERSTrace RegisterAllocator reservations and releases.
JOF::TRACE_TOKENSTrace the emission of tokens.
JOF::TRACE_TYPESTrace type inference and type checking decisions.
JOF::TRACE_VALUE_CATEGORYTrace ValueUse/ValueSlot/LValue operations.
Tiri module documentation © Paul Manias © 2006-2026