| VM Object File | Index |
Summary
Each TEA program is compiled into an object file, typically with a ".cup" extension by the TEA Compiler . These object files are cross-platform and can be moved from machine to machine. They are also a convenient means of packaging code without revealing all the details of the source file.
File Format
| Description | Size (in bytes) | Purpose | Value |
|---|---|---|---|
| Signature | 2 | Identifies TEA object files. | "aT" |
| Version | 2 | Allows version checking. | Varies, organized as byte 1, major version number and byte 2, minor version number. |
| Load Data | 2 | Helps TEAvm load and return process data and return values. | Varies, organized as byte 1, return value size (0 for void) and byte 2, main routine input data size expected (parameters). |
| Launch and Exit Fragment | varies | Calls the main routine, builds, initializes, and cleans up globals and main routine calling parameters. | Varies depending on number of globals, and main routine parameters. |
| Static Data Pool | varies | Storage for static strings and command data. | Varies, depending on how much static data is present in program. |
| Main Routine | varies | The code for the main routine. | Varies depending on complexity of main routine. |
| Sub Routines | varies | The code for sub-routines. | Varies depending on the sub-routines (if any). |