class documentation

Parser for programs

A TIProgram is a stream of tokens that is run as a TI-BASIC program.

Method coerce Coerces this component to a subclass if possible using the component's type ID
Method load_bytes Loads a byte string or bytestream into this entry
Method load_string Loads this entry from a string representation
Method protect Cast this program to a protected program
Method string Decodes this entry into a string of tokens
Method summary No summary
Method unprotect Cast this program to an unprotected program
Class Variable asm_tokens Tokens which identify the program as containing assembly code
Class Variable extension The base file extension used for this entry
Class Variable is_protected Whether this program type is protected
Class Variable is_tokenized Whether this program is tokenized
Class Variable _type_id Undocumented

Inherited from TokenizedEntry:

Static Method decode Decodes a byte stream into a string of tokens
Static Method encode Encodes a string of token represented in text into a byte stream
Method __format__ Undocumented
Method __iter__ No summary
Method get_min_os Determines the minimum OS that supports this entry's data
Method get_version Determines the version byte corresponding to given data for this entry type
Method lines Splits this entry into logical lines: lines separated by newlines or colons lying outside string literals
Method load_tokens Loads this entry from a sequence of TIToken objects
Method tokens No summary
Class Variable clock_tokens Tokens which interface with the RTC
Class Variable min_calc_data_length The minimum length of this entry's data
Class Variable versions The possible versions of this entry

Inherited from SizedEntry (via TokenizedEntry):

Method calc_data The data section of the component which is loaded on-calc
Method clear Clears this entry's data
Method data The component's user data
Method get_length Determines the length of this entry's user data section
Method length The length of this entry's user data section
Method load_data_section Loads the data of this entry from a bytestream

Inherited from TIEntry (via TokenizedEntry, SizedEntry):

Class Raw No class docstring; 3/3 properties, 0/1 class variable, 1/1 method documented
Class Method get_extension Determines the file extension for a targeted model based on its contents
Class Method get_type Gets the subclass corresponding to a type ID, type name, or file extension if one is registered
Class Method open Creates a new entry from a file given a filename
Static Method next_entry_length Helper function to determine the length of the next entry in a bytestream
Method __init__ Creates an empty entry with specified meta and data values
Method __len__ No summary
Method archive Archives this entry
Method archived Whether the entry is archived
Method bytes The bytes contained in this entry, without any var file header or metadata.
Method dict No summary
Method export Exports this entry to a TIVarFile with a specified name and header
Method load_dict Loads this component from a JSON dictionary representation
Method load_from_file Loads this entry from a file given a file pointer and offset
Method meta_length The length of the meta section of the entry
Method name The name of the entry
Method save Saves this entry as a var file in the current directory given a filename and optional header and targeted model
Method supported_by Determines whether a given model supports this entry
Method type_id The type ID of the entry
Method unarchive Unarchives this entry
Method version The version number of the entry
Class Variable base_meta_length Undocumented
Class Variable flash_meta_length Undocumented
Class Variable flash_only Whether this entry only supports flash chips
Class Variable leading_data_bytes Bytes that always begin this entry's data
Class Variable leading_name_byte Byte that always begins the name of this entry
Instance Variable raw Undocumented
Property calc_data_length The length of the data section of the entry
Property flash_bytes The flash bytes of this entry if they exist
Property for_flash Whether this entry supports flash chips
Property meta The meta section of this entry
Method __init_subclass__ Undocumented
Class Variable _type_ids Undocumented

Inherited from TIComponent (via TokenizedEntry, SizedEntry, TIEntry):

Class Method get Converts bytes -> TIComponent
Class Method register Registers a subtype with this class for coercion
Class Method set Converts TIComponent -> bytes
Method __bool__ No summary
Method __bytes__ No summary
Method __copy__ No summary
Method __eq__ Determines if two components are the same type and have the same bytes
Method __str__ No summary
Method json No summary
Method load_json Loads this component from a JSON dictionary representation
Method update Updates this component's metadata
Property is_empty Whether this component's data is empty

Inherited from Dock (via TokenizedEntry, SizedEntry, TIEntry, TIComponent):

Method load Loads data into an instance by delegating to Loader methods based on the input's type
Class Variable loaders Undocumented
def coerce(self): (source)

Coerces this component to a subclass if possible using the component's type ID

Valid types must be registered to be considered for coercion.

def load_bytes(self, data: bytes | BytesIO): (source)

Loads a byte string or bytestream into this entry

Parameters
data:bytes | BytesIOThe bytes to load
def load_string(self, string: str, *, model: TIModel = TI_84PCE, lang: str = None, mode: str = None): (source)

Loads this entry from a string representation

For detailed information on tokenization modes, see tivars.tokenizer.encode.

Parameters
string:strThe string to load
model:TIModelThe model to target when encoding (defaults to no specific model)
lang:strThe language used in string (defaults to English, en)
mode:strThe tokenization mode to use (defaults to smart)
def protect(self): (source)

Cast this program to a protected program

def string(self, *, model: TIModel = TI_84PCE, lang: str = None, mode: str = None) -> str: (source)

Decodes this entry into a string of tokens

Parameters
model:TIModelA model for which compatibility is ensured (defaults to the TI-84+CE)
lang:strThe language used in string (defaults to the locale of model, or English, en)
mode:strThe form of token representation to use for output (defaults to display)
Returns
strA string of token representations
def summary(self) -> str: (source)
Returns
strA text summary of this component
def unprotect(self): (source)

Cast this program to an unprotected program

asm_tokens = (source)

Tokens which identify the program as containing assembly code

extension: str = (source)

The base file extension used for this entry

is_protected: bool = (source)

Whether this program type is protected

is_tokenized: bool = (source)

Whether this program is tokenized