test cartridge for lua and js

This commit is contained in:
bQUARKz 2026-01-23 15:15:05 +00:00 committed by Nilton Constantino
parent e45abdf81f
commit a0205d67cf
No known key found for this signature in database
37 changed files with 400 additions and 2713 deletions

View File

@ -57,7 +57,7 @@ cargo build
To run an example cartridge:
```bash
./target/debug/prometeu run test-cartridges/color-square
./target/debug/prometeu run test-cartridges/color-square-ts
```
For more details on how to use the CLI, see the **[prometeu](./crates/prometeu)** README.

View File

@ -1,3 +1,12 @@
//! # Bytecode Emitter
//!
//! This module is responsible for the final stage of the compilation process:
//! converting the Intermediate Representation (IR) into the binary Prometeu ByteCode (PBC) format.
//!
//! It performs two main tasks:
//! 1. **Instruction Lowering**: Translates `ir::Instruction` into `prometeu_bytecode::asm::Asm` ops.
//! 2. **Symbol Mapping**: Associates bytecode offsets (Program Counter) with source code locations.
use crate::common::files::FileManager;
use crate::common::symbols::Symbol;
use crate::ir;
@ -7,29 +16,38 @@ use prometeu_bytecode::asm::{assemble, update_pc_by_operand, Asm, Operand};
use prometeu_bytecode::opcode::OpCode;
use prometeu_bytecode::pbc::{write_pbc, ConstantPoolEntry, PbcFile};
/// The final output of the code generation phase.
pub struct EmitResult {
/// The serialized binary data of the PBC file.
pub rom: Vec<u8>,
/// Metadata mapping bytecode offsets to source code positions.
pub symbols: Vec<Symbol>,
}
/// Entry point for emitting a bytecode module from the IR.
pub fn emit_module(module: &ir::Module, file_manager: &FileManager) -> Result<EmitResult> {
let mut emitter = BytecodeEmitter::new(file_manager);
emitter.emit(module)
}
/// Internal helper for managing the bytecode emission state.
struct BytecodeEmitter<'a> {
/// Stores constant values (like strings) that are referenced by instructions.
constant_pool: Vec<ConstantPoolEntry>,
/// Used to look up source code positions for symbol generation.
file_manager: &'a FileManager,
}
impl<'a> BytecodeEmitter<'a> {
fn new(file_manager: &'a FileManager) -> Self {
Self {
// Index 0 is traditionally reserved for Null in many VMs
constant_pool: vec![ConstantPoolEntry::Null],
file_manager,
}
}
/// Adds a value to the constant pool if it doesn't exist, returning its unique index.
fn add_constant(&mut self, entry: ConstantPoolEntry) -> u32 {
if let Some(pos) = self.constant_pool.iter().position(|e| e == &entry) {
pos as u32
@ -40,16 +58,22 @@ impl<'a> BytecodeEmitter<'a> {
}
}
/// Transforms an IR module into a binary PBC file.
fn emit(&mut self, module: &ir::Module) -> Result<EmitResult> {
let mut asm_instrs = Vec::new();
let mut ir_instr_map = Vec::new(); // Maps Asm index to IR instruction (for symbols)
// --- PHASE 1: Lowering IR to Assembly-like structures ---
for function in &module.functions {
// Each function starts with a label for its entry point.
asm_instrs.push(Asm::Label(function.name.clone()));
ir_instr_map.push(None);
for instr in &function.body {
let start_idx = asm_instrs.len();
// Translate each IR instruction to its equivalent Bytecode OpCode.
// Note: IR instructions are high-level, while Bytecode is low-level.
match &instr.kind {
InstrKind::Nop => asm_instrs.push(Asm::Op(OpCode::Nop, vec![])),
InstrKind::Halt => asm_instrs.push(Asm::Op(OpCode::Halt, vec![])),
@ -63,6 +87,7 @@ impl<'a> BytecodeEmitter<'a> {
asm_instrs.push(Asm::Op(OpCode::PushBool, vec![Operand::Bool(*v)]));
}
InstrKind::PushString(s) => {
// Strings are stored in the constant pool.
let id = self.add_constant(ConstantPoolEntry::String(s.clone()));
asm_instrs.push(Asm::Op(OpCode::PushConst, vec![Operand::U32(id)]));
}
@ -131,9 +156,12 @@ impl<'a> BytecodeEmitter<'a> {
}
}
// --- PHASE 2: Assembly (Label Resolution) ---
// Converts the list of Ops and Labels into raw bytes, calculating jump offsets.
let bytecode = assemble(&asm_instrs).map_err(|e| anyhow!(e))?;
// Resolve symbols
// --- PHASE 3: Symbol Generation ---
// Associates each bytecode offset with a line/column in the source file.
let mut symbols = Vec::new();
let mut current_pc = 0u32;
for (i, asm) in asm_instrs.iter().enumerate() {
@ -153,15 +181,20 @@ impl<'a> BytecodeEmitter<'a> {
}
}
// Track the Program Counter (PC) as we iterate through instructions.
match asm {
Asm::Label(_) => {}
Asm::Op(_opcode, operands) => {
// Each OpCode takes 2 bytes (1 for opcode, 1 for padding/metadata)
current_pc += 2;
// Operands take additional space depending on their type.
current_pc = update_pc_by_operand(current_pc, operands);
}
}
}
// --- PHASE 4: Serialization ---
// Packages the constant pool and bytecode into the final PBC format.
let pbc = PbcFile {
cp: self.constant_pool.clone(),
rom: bytecode,

View File

@ -1,3 +1,8 @@
//! # Compiler Orchestration
//!
//! This module provides the high-level API for triggering the compilation process.
//! It handles the transition between different compiler phases: Frontend -> IR -> Backend.
use crate::backend;
use crate::common::files::FileManager;
use crate::common::symbols::Symbol;
@ -10,14 +15,22 @@ use std::path::Path;
/// The result of a successful compilation process.
/// It contains the final binary and the metadata needed for debugging.
pub struct CompilationUnit {
/// The raw binary data (PBC format).
/// The raw binary data formatted as Prometeu ByteCode (PBC).
/// This is what gets written to a `.pbc` file.
pub rom: Vec<u8>,
/// The list of debug symbols for source mapping.
/// The list of debug symbols discovered during compilation.
/// These are used to map bytecode offsets back to source code locations.
pub symbols: Vec<Symbol>,
}
impl CompilationUnit {
/// Writes the compilation results to the disk.
/// Writes the compilation results (PBC binary, disassembly, and symbols) to the disk.
///
/// # Arguments
/// * `out` - The base path for the output `.pbc` file.
/// * `emit_disasm` - If true, a `.disasm` file will be created next to the output.
/// * `emit_symbols` - If true, a `.json` symbols file will be created next to the output.
pub fn export(&self, out: &Path, emit_disasm: bool, emit_symbols: bool) -> Result<()> {
let artifacts = backend::artifacts::Artifacts::new(self.rom.clone(), self.symbols.clone());
artifacts.export(out, emit_disasm, emit_symbols)
@ -25,21 +38,45 @@ impl CompilationUnit {
}
/// Orchestrates the compilation of a Prometeu project starting from an entry file.
///
/// This function executes the full compiler pipeline:
/// 1. **Frontend**: Loads and parses the entry file (and its dependencies).
/// Currently, it uses the `TypescriptFrontend`.
/// 2. **IR Generation**: The frontend produces a high-level Intermediate Representation (IR).
/// 3. **Validation**: Checks the IR for consistency and VM compatibility.
/// 4. **Backend**: Lowers the IR into final Prometeu ByteCode.
///
/// # Errors
/// Returns an error if parsing fails, validation finds issues, or code generation fails.
///
/// # Example
/// ```no_run
/// use std::path::Path;
/// let entry = Path::new("src/main.ts");
/// let unit = prometeu_compiler::compiler::compile(entry).expect("Failed to compile");
/// unit.export(Path::new("build/program.pbc"), true, true).unwrap();
/// ```
pub fn compile(entry: &Path) -> Result<CompilationUnit> {
let mut file_manager = FileManager::new();
// 1. Select Frontend (Currently only TS is supported)
// The frontend is responsible for parsing source code and producing the IR.
let frontend = TypescriptFrontend;
// 2. Compile to IR
// 2. Compile to IR (Intermediate Representation)
// This step abstracts away source-specific syntax (like TypeScript) into a
// generic set of instructions that the backend can understand.
let ir_module = frontend.compile_to_ir(entry, &mut file_manager)
.map_err(|bundle| anyhow::anyhow!("Compilation failed with {} errors", bundle.diagnostics.len()))?;
// 3. IR Validation
// Ensures the generated IR is sound and doesn't violate any VM constraints
// before we spend time generating bytecode.
ir::validate::validate_module(&ir_module)
.map_err(|bundle| anyhow::anyhow!("IR Validation failed: {:?}", bundle))?;
// 4. Emit Bytecode
// The backend takes the validated IR and produces the final binary executable.
let result = backend::emit_module(&ir_module, &file_manager)?;
Ok(CompilationUnit {

View File

@ -1,3 +1,12 @@
//! # TypeScript Frontend
//!
//! This module implements the TypeScript/JavaScript frontend for the Prometeu Compiler.
//! It is responsible for:
//! 1. Parsing `.ts` files into an Abstract Syntax Tree (AST).
//! 2. Resolving imports and building a dependency graph.
//! 3. Validating that the source code uses only supported VM features.
//! 4. Lowering the high-level AST into the generic Intermediate Representation (IR).
pub mod parse;
pub mod resolve;
pub mod validate;
@ -14,6 +23,7 @@ use std::collections::{HashMap, VecDeque};
use std::fs;
use std::path::Path;
/// The main entry point for the TypeScript compiler frontend.
pub struct TypescriptFrontend;
impl Frontend for TypescriptFrontend {
@ -21,6 +31,21 @@ impl Frontend for TypescriptFrontend {
"typescript"
}
/// Compiles a TypeScript entry file (and all its dependencies) into an IR Module.
///
/// # The Compilation Pipeline:
///
/// 1. **Discovery & Parsing**:
/// Starting from the `entry` file, it reads, parses, and discovers imports recursively.
/// It uses the `oxc` parser for high-performance AST generation.
///
/// 2. **Semantic Validation**:
/// Each parsed module is checked against the `Validator`. Since Prometeu is a
/// specialized VM, it doesn't support the full range of TS/JS features (e.g., no `try/catch` yet).
///
/// 3. **IR Lowering**:
/// Once all modules are parsed and validated, the `ToIR` engine traverses the ASTs
/// and emits equivalent IR instructions.
fn compile_to_ir(
&self,
entry: &Path,
@ -35,6 +60,7 @@ impl Frontend for TypescriptFrontend {
queue.push_back(entry_abs.clone());
// --- PHASE 1: Dependency Resolution and Parsing ---
// We traverse the dependency graph breadth-first to ensure all files are loaded.
while let Some(path) = queue.pop_front() {
let path_str: String = path.to_string_lossy().into_owned();
if modules.contains_key(&path_str) {
@ -45,12 +71,14 @@ impl Frontend for TypescriptFrontend {
let file_id = file_manager.add(path.clone(), source_text.clone());
let source_text_ptr = allocator.alloc_str(&source_text);
// Parse the source into an AST
let program = parse::parse_file(&allocator, &path).map_err(|e| DiagnosticBundle::error(format!("Failed to parse module: {}", e), None))?;
// --- PHASE 2: Individual Module Validation ---
// Ensure the code adheres to Prometeu's restricted subset of TypeScript.
validate::Validator::validate(&program).map_err(|e| DiagnosticBundle::error(format!("Validation error: {}", e), None))?;
// Discover new imports
// Discover new imports and add them to the queue
for item in &program.body {
if let oxc_ast::ast::Statement::ImportDeclaration(decl) = item {
let import_path = decl.source.value.as_str();
@ -63,6 +91,7 @@ impl Frontend for TypescriptFrontend {
}
// --- PHASE 3: To IR ---
// Collect all parsed modules and feed them into the IR generator.
let entry_str = entry_abs.to_string_lossy().to_string();
let mut program_list = Vec::new();

View File

@ -1,3 +1,34 @@
//! # To IR Lowering
//!
//! This module implements the core translation logic from the TypeScript AST (Abstract Syntax Tree)
//! into the Prometeu Intermediate Representation (IR).
//!
//! ## How it works:
//!
//! The `ToIR` engine traverses the AST and for each node (expression, statement, etc.),
//! it emits equivalent stack-based IR instructions.
//!
//! ### Symbol Resolution
//! It maintains a scoped symbol table to track local variables and their assigned slots.
//! It also manages global variables, which are mapped to permanent memory slots in the VM.
//!
//! ### Control Flow
//! High-level control flow (like `if`, `while`, `for`) is lowered into jumps and labels.
//! Unique labels are generated for each branch to avoid collisions.
//!
//! ### Example Translation:
//! **TS Source:**
//! ```typescript
//! let x = 10 + 20;
//! ```
//! **Generated IR:**
//! ```text
//! PushInt(10)
//! PushInt(20)
//! Add
//! SetLocal(0)
//! ```
use crate::frontends::ts::syscall_map;
use crate::common::spans::Span as IRSpan;
use crate::frontends::ts::ast_util;
@ -14,11 +45,15 @@ use prometeu_core::model::Color;
use std::collections::HashMap;
/// Helper to count local variables and hoisted functions in a function body.
///
/// This is used to determine how many slots need to be reserved on the stack frame
/// before executing a function.
struct LocalCounter {
count: u32,
}
impl<'a> Visit<'a> for LocalCounter {
/// Discovers function declarations which also occupy a slot in the current frame.
fn visit_statement(&mut self, stmt: &Statement<'a>) {
match stmt {
Statement::FunctionDeclaration(f) => {
@ -28,6 +63,7 @@ impl<'a> Visit<'a> for LocalCounter {
}
}
/// Discovers variable declarations (let/const/var) and increments the local count.
fn visit_variable_declaration(&mut self, decl: &VariableDeclaration<'a>) {
self.count += decl.declarations.len() as u32;
walk::walk_variable_declaration(self, decl);
@ -43,8 +79,11 @@ impl<'a> Visit<'a> for LocalCounter {
/// Metadata for a symbol (variable or function) in the symbol table.
struct SymbolEntry {
/// The unique index assigned to this variable in the current frame or global memory.
slot_index: u32,
/// Whether the variable was declared with `const`.
is_const: bool,
/// Tracks if the variable has been assigned a value (used for Temporal Dead Zone checks).
is_initialized: bool,
}
@ -59,12 +98,13 @@ pub struct ToIR {
/// The stream of generated IR instructions.
pub instructions: Vec<ir::Instruction>,
/// Scoped symbol table. Each element is a scope level containing a map of symbols.
/// This allows for variable shadowing and block scope resolution.
symbol_table: Vec<HashMap<String, SymbolEntry>>,
/// Current depth of the scope (0 is global/function top-level).
scope_depth: usize,
/// Mapping of global variable names to their slots in the VM's global memory.
globals: HashMap<String, u32>,
/// Counter for the next available local variable ID.
/// Counter for the next available local variable ID in the current function.
next_local: u32,
/// Counter for the next available global variable ID.
next_global: u32,

View File

@ -1,78 +1,147 @@
//! # IR Instructions
//!
//! This module defines the set of instructions used in the Intermediate Representation (IR).
//! These instructions are designed to be easy to generate from a high-level AST and
//! easy to lower into VM-specific bytecode.
use crate::common::spans::Span;
/// An `Instruction` combines an instruction's behavior (`kind`) with its
/// source code location (`span`) for debugging and error reporting.
#[derive(Debug, Clone)]
pub struct Instruction {
pub kind: InstrKind,
/// The location in the original source code that generated this instruction.
pub span: Option<Span>,
}
impl Instruction {
/// Creates a new instruction with an optional source span.
pub fn new(kind: InstrKind, span: Option<Span>) -> Self {
Self { kind, span }
}
}
/// A `Label` represents a destination for a jump instruction.
/// During the assembly phase, labels are resolved into actual memory offsets.
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct Label(pub String);
/// The various types of operations that can be performed in the IR.
///
/// The IR uses a stack-based model, similar to the final Prometeu ByteCode.
#[derive(Debug, Clone)]
pub enum InstrKind {
/// Does nothing.
Nop,
/// Terminates program execution.
Halt,
// Literals
// --- Literals ---
// These instructions push a constant value onto the stack.
/// Pushes a 64-bit integer onto the stack.
PushInt(i64),
/// Pushes a 64-bit float onto the stack.
PushFloat(f64),
/// Pushes a boolean onto the stack.
PushBool(bool),
/// Pushes a string literal onto the stack.
PushString(String),
/// Pushes a `null` value onto the stack.
PushNull,
// Stack Ops
// --- Stack Operations ---
/// Removes the top value from the stack.
Pop,
/// Duplicates the top value on the stack.
Dup,
/// Swaps the top two values on the stack.
Swap,
// Arithmetic
// --- Arithmetic ---
// These take two values from the stack and push the result.
/// Addition: `a + b`
Add,
/// Subtraction: `a - b`
Sub,
/// Multiplication: `a * b`
Mul,
/// Division: `a / b`
Div,
/// Negation: `-a` (takes one value)
Neg,
// Logical/Comparison
// --- Logical/Comparison ---
/// Equality: `a == b`
Eq,
/// Inequality: `a != b`
Neq,
/// Less than: `a < b`
Lt,
/// Greater than: `a > b`
Gt,
/// Less than or equal: `a <= b`
Lte,
/// Greater than or equal: `a >= b`
Gte,
/// Logical AND: `a && b`
And,
/// Logical OR: `a || b`
Or,
/// Logical NOT: `!a`
Not,
// Bitwise
// --- Bitwise Operations ---
/// Bitwise AND: `a & b`
BitAnd,
/// Bitwise OR: `a | b`
BitOr,
/// Bitwise XOR: `a ^ b`
BitXor,
/// Shift Left: `a << b`
Shl,
/// Shift Right: `a >> b`
Shr,
// Variables
// --- Variable Access ---
/// Retrieves a value from a local variable slot and pushes it onto the stack.
GetLocal(u32),
/// Pops a value from the stack and stores it in a local variable slot.
SetLocal(u32),
/// Retrieves a value from a global variable slot and pushes it onto the stack.
GetGlobal(u32),
/// Pops a value from the stack and stores it in a global variable slot.
SetGlobal(u32),
// Control Flow
// --- Control Flow ---
/// Unconditionally jumps to the specified label.
Jmp(Label),
/// Pops a boolean from the stack. If false, jumps to the specified label.
JmpIfFalse(Label),
/// Defines a location that can be jumped to. Does not emit code by itself.
Label(Label),
/// Calls a function by name with the specified number of arguments.
/// Arguments should be pushed onto the stack before calling.
Call { name: String, arg_count: u32 },
/// Returns from the current function. The return value (if any) should be on top of the stack.
Ret,
// OS / System
// --- OS / System ---
/// Triggers a system call (e.g., drawing to the screen, reading input).
Syscall(u32),
/// Special instruction to synchronize with the hardware frame clock.
FrameSync,
/// Internal: Pushes a new lexical scope (used for variable resolution).
PushScope,
/// Internal: Pops the current lexical scope.
PopScope,
}

View File

@ -1,35 +1,62 @@
//! # IR Module Structure
//!
//! This module defines the structure of the Intermediate Representation (IR).
//! The IR is a higher-level representation of the program than bytecode, but lower
//! than the source code AST. It is organized into Modules, Functions, and Globals.
use crate::ir::instr::Instruction;
use crate::ir::types::Type;
/// A `Module` is the top-level container for a compiled program or library.
/// It contains a collection of global variables and functions.
#[derive(Debug, Clone)]
pub struct Module {
/// The name of the module (usually derived from the project name).
pub name: String,
/// List of all functions defined in this module.
pub functions: Vec<Function>,
/// List of all global variables available in this module.
pub globals: Vec<Global>,
}
/// Represents a function in the IR.
///
/// Functions consist of a signature (name, parameters, return type) and a body
/// which is a flat list of IR instructions.
#[derive(Debug, Clone)]
pub struct Function {
/// The unique name of the function.
pub name: String,
/// The list of input parameters.
pub params: Vec<Param>,
/// The type of value this function returns.
pub return_type: Type,
/// The sequence of instructions that make up the function's logic.
pub body: Vec<Instruction>,
}
/// A parameter passed to a function.
#[derive(Debug, Clone)]
pub struct Param {
/// The name of the parameter (useful for debugging and symbols).
pub name: String,
/// The data type of the parameter.
pub r#type: Type,
}
/// A global variable accessible by any function in the module.
#[derive(Debug, Clone)]
pub struct Global {
/// The name of the global variable.
pub name: String,
/// The data type of the variable.
pub r#type: Type,
/// The unique memory slot index assigned to this global variable.
pub slot: u32,
}
impl Module {
/// Creates a new, empty module with the given name.
pub fn new(name: String) -> Self {
Self {
name,

View File

@ -1,19 +1,41 @@
//! # Prometeu Compiler
//!
//! This crate provides the official compiler for the Prometeu ecosystem.
//! It translates TypeScript/JavaScript source code into Prometeu ByteCode (.pbc).
//! It translates high-level source code (primarily TypeScript/JavaScript) into
//! Prometeu ByteCode (.pbc), which runs on the Prometeu Virtual Machine.
//!
//! ## Workflow:
//! 1. **Parsing**: Uses the `oxc` parser to generate an Abstract Syntax Tree (AST).
//! 2. **Validation**: Checks for unsupported features and ensures ABI compliance.
//! 3. **Codegen**: Traverses the AST and emits `prometeu-bytecode` instructions.
//! 4. **Assembly**: Resolves labels and serializes the program into the binary PBC format.
//! ## Architecture Overview:
//!
//! The compiler follows a multi-stage pipeline:
//!
//! 1. **Frontend (Parsing & Analysis)**:
//! - Uses the `oxc` parser to generate an Abstract Syntax Tree (AST).
//! - Performs semantic analysis and validation (e.g., ensuring only supported TS features are used).
//! - Lowers the AST into the **Intermediate Representation (IR)**.
//! - *Example*: Converting a `a + b` expression into IR instructions like `Push(a)`, `Push(b)`, `Add`.
//!
//! 2. **IR Optimization (Optional/Planned)**:
//! - Simplifies the IR to improve performance or reduce bytecode size.
//!
//! 3. **Backend (Code Generation)**:
//! - **Lowering**: Converts the high-level IR into a flat list of ByteCode instructions.
//! - **Assembly**: Resolves branch labels into actual memory offsets.
//! - **Serialization**: Encodes the instructions into the binary PBC format.
//!
//! 4. **Artifact Export**:
//! - Generates the `.pbc` binary file.
//! - Optionally produces `.disasm` (disassembly for debugging) and `.json` (symbol maps).
//!
//! ## Example Usage (CLI):
//!
//! ## Example Usage:
//! ```bash
//! # Build a project
//! # Build a project from a directory
//! prometeu-compiler build ./my-game --entry ./src/main.ts --out ./game.pbc
//! ```
//!
//! ## Programmatic Entry Point:
//!
//! See the [`compiler`] module for the main entry point to trigger a compilation programmatically.
pub mod common;
pub mod ir;

View File

@ -4,7 +4,7 @@ This directory contains example cartridges and test suites to validate the behav
## Available Cartridges
### 🟩 [color-square](./color-square)
### 🟩 [color-square-ts](color-square-ts)
A simple cartridge that demonstrates:
- System initialization.
- Rendering a colored square in the framebuffer.

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -euo pipefail
prometeu build . --lang lua
prometeu run cartridge
echo "Lua project scaffold ok. (Build step depends on Lua frontend in prometeu-compiler)"

View File

@ -0,0 +1,16 @@
local my_gfx = require("my_gfx")
local my_input = require("my_input")
local my_fs = require("my_fs")
function frame()
my_gfx.do_init_gfx()
my_input.do_pad()
my_input.do_touch()
my_fs.do_fs()
my_gfx.print_orange()
do
local x = 10
gfx.drawText(120, 100, "1. value of " .. x, color.white)
end
end

View File

@ -0,0 +1,15 @@
local M = {}
function M.do_fs()
local h = fs.open("test.txt")
if h >= 0 then
fs.write(h, "Hello Prometeu!")
local content = fs.read(h)
if content and content ~= "" then
log.writeTag(2, 101, content)
end
fs.close(h)
end
end
return M

View File

@ -0,0 +1,17 @@
local M = {}
function M.do_init_gfx()
gfx.clear(color.indigo)
gfx.fillRect(10, 10, 50, 50, color.red)
gfx.drawLine(0, 0, 128, 128, color.white)
gfx.drawCircle(64, 64, 20, color.blue)
gfx.drawDisc(100, 100, 10, color.green, color.yellow)
gfx.drawSquare(20, 100, 30, 30, color.cyan, color.color_key)
end
function M.print_orange()
local c = color.rgb(255, 128, 0)
gfx.fillRect(0, 0, 5, 5, c)
end
return M

View File

@ -0,0 +1,21 @@
local M = {}
function M.do_pad()
if pad.up.down then
log.write(2, "Up is down")
end
if pad.a.pressed then
audio.play("bgm_music", 0, 0, 128, 127, 1.0, 1)
end
end
function M.do_touch()
gfx.setSprite("mouse_cursor", 0, touch.x, touch.y, 0, 0, true, false, false, 4)
if touch.button.down then
gfx.drawCircle(touch.x, touch.y, 10, color.white)
end
end
return M

Binary file not shown.

View File

@ -0,0 +1,41 @@
{
"magic": "PMTU",
"cartridge_version": 1,
"app_id": 1,
"title": "Color Square",
"app_version": "0.1.0",
"app_mode": "Game",
"entrypoint": "0",
"asset_table": [
{
"asset_id": 0,
"asset_name": "bgm_music",
"bank_type": "SOUNDS",
"offset": 0,
"size": 88200,
"decoded_size": 88200,
"codec": "RAW",
"metadata": {
"sample_rate": 44100
}
},
{
"asset_id": 1,
"asset_name": "mouse_cursor",
"bank_type": "TILES",
"offset": 88200,
"size": 2304,
"decoded_size": 2304,
"codec": "RAW",
"metadata": {
"tile_size": 16,
"width": 16,
"height": 16
}
}
],
"preload": [
{ "asset_name": "bgm_music", "slot": 0 },
{ "asset_name": "mouse_cursor", "slot": 1 }
]
}

View File

@ -0,0 +1 @@
../../dist-staging/stable/prometeu-aarch64-apple-darwin/

View File

@ -1,191 +0,0 @@
00000000 Call U32(20) U32(0)
0000000A Pop
0000000C FrameSync
0000000E Jmp U32(0)
00000014 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000016 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000020 Call U32(497) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
0000002A Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
0000002C Call U32(174) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
00000036 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
00000038 Call U32(348) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
00000042 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
00000044 Call U32(993) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9
0000004E Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9
00000050 Call U32(817) U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
0000005A Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
0000005C PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:12
0000005E PushI64 I64(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
00000068 SetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
0000006E PushI64 I64(120) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000078 PushI64 I64(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000082 PushConst U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000088 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
0000008E Add ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000090 PushI64 I64(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
0000009A Syscall U32(4104) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000000A0 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000000A2 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:12
000000A4 PopScope
000000A6 PushConst U32(0)
000000AC Ret
000000AE PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000000B0 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000000BA Syscall U32(8193) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000000C0 JmpIfFalse U32(232) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000000C6 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000C8 PushI64 I64(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000D2 PushConst U32(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000D8 Syscall U32(20481) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000DE Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000E0 PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000000E2 Jmp U32(232)
000000E8 PushI64 I64(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
000000F2 Syscall U32(8194) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
000000F8 JmpIfFalse U32(338) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
000000FE PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000100 PushConst U32(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000106 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000110 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
0000011A PushI64 I64(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
00000124 PushI64 I64(127) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
0000012E PushI64 I64(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
00000138 PushI64 I64(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
00000142 Syscall U32(12290) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000148 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
0000014A PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
0000014C Jmp U32(338)
00000152 PopScope
00000154 PushConst U32(0)
0000015A Ret
0000015C PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
0000015E PushConst U32(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:11
00000164 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
0000016E Syscall U32(8449) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
00000174 Syscall U32(8450) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
0000017A PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000184 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
0000018E PushBool Bool(true) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000191 PushBool Bool(false) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000194 PushBool Bool(false) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000197 PushI64 I64(4) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000001A1 Syscall U32(4103) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
000001A7 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
000001A9 Syscall U32(8451) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000001AF JmpIfFalse U32(487) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000001B5 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15
000001B7 Syscall U32(8449) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001BD Syscall U32(8450) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001C3 PushI64 I64(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001CD PushI64 I64(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001D7 Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001DD Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000001DF PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15
000001E1 Jmp U32(487)
000001E7 PopScope
000001E9 PushConst U32(0)
000001EF Ret
000001F1 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000001F3 PushI64 I64(18448) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000001FD Syscall U32(4097) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
00000203 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
00000205 PushI64 I64(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000020F PushI64 I64(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000219 PushI64 I64(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000223 PushI64 I64(50) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000022D PushI64 I64(63488) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000237 Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000023D Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000023F PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000249 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000253 PushI64 I64(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
0000025D PushI64 I64(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000267 PushI64 I64(65535) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000271 Syscall U32(4099) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000277 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000279 PushI64 I64(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
00000283 PushI64 I64(64) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
0000028D PushI64 I64(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
00000297 PushI64 I64(31) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
000002A1 Syscall U32(4100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
000002A7 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
000002A9 PushI64 I64(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9
000002B3 PushI64 I64(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
000002BD PushI64 I64(10) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
000002C7 PushI64 I64(2016) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
000002D1 PushI64 I64(65504) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:12
000002DB Syscall U32(4101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
000002E1 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
000002E3 PushI64 I64(20) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000002ED PushI64 I64(100) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
000002F7 PushI64 I64(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000301 PushI64 I64(30) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
0000030B PushI64 I64(2047) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
00000315 PushI64 I64(63519) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:14
0000031F Syscall U32(4102) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
00000325 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:13
00000327 PopScope
00000329 PushConst U32(0)
0000032F Ret
00000331 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15
00000333 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:15
0000033D PushI64 I64(255) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000347 PushI64 I64(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000351 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000353 PushI64 I64(11) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
0000035D Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
0000035F PushI64 I64(128) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000369 PushI64 I64(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000373 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000375 PushI64 I64(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
0000037F Shl ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000381 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000383 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
0000038D PushI64 I64(3) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000397 Shr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
00000399 BitOr ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
0000039B SetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003A1 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003AB PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003B5 PushI64 I64(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003BF PushI64 I64(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003C9 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003CF Syscall U32(4098) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003D5 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:16
000003D7 PopScope
000003D9 PushConst U32(0)
000003DF Ret
000003E1 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000003E3 PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000003ED PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
000003F7 PushConst U32(5) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
000003FD Syscall U32(16385) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000403 SetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:1
00000409 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000040F PushI64 I64(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000419 Gte ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000041B JmpIfFalse U32(1171) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000421 PushScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
00000423 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000429 PushConst U32(6) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
0000042F Syscall U32(16387) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000435 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:3
00000437 GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
0000043D Syscall U32(16386) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:6
00000443 SetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:5
00000449 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
0000044F JmpIfFalse U32(1149) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:7
00000455 PushI64 I64(2) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
0000045F PushI64 I64(101) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9
00000469 GetLocal U32(1) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:9
0000046F Syscall U32(20482) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
00000475 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:8
00000477 Jmp U32(1149)
0000047D GetLocal U32(0) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
00000483 Syscall U32(16388) ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
00000489 Pop ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:10
0000048B PopScope ; /Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts:2
0000048D Jmp U32(1171)
00000493 PopScope
00000495 PushConst U32(0)
0000049B Ret

View File

@ -1,986 +0,0 @@
[
{
"pc": 20,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 8
},
{
"pc": 22,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 8
},
{
"pc": 32,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 5
},
{
"pc": 42,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 5
},
{
"pc": 44,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 5
},
{
"pc": 54,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 5
},
{
"pc": 56,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 5
},
{
"pc": 66,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 5
},
{
"pc": 68,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 9,
"col": 5
},
{
"pc": 78,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 9,
"col": 5
},
{
"pc": 80,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 5
},
{
"pc": 90,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 5
},
{
"pc": 92,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 12,
"col": 5
},
{
"pc": 94,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 19
},
{
"pc": 104,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 15
},
{
"pc": 110,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 22
},
{
"pc": 120,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 27
},
{
"pc": 130,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 32
},
{
"pc": 136,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 49
},
{
"pc": 142,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 32
},
{
"pc": 144,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 52
},
{
"pc": 154,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 9
},
{
"pc": 160,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 9
},
{
"pc": 162,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 12,
"col": 5
},
{
"pc": 174,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 8
},
{
"pc": 176,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 42
},
{
"pc": 186,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 42
},
{
"pc": 192,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 38
},
{
"pc": 198,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 200,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 23
},
{
"pc": 210,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 26
},
{
"pc": 216,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 13
},
{
"pc": 222,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 13
},
{
"pc": 224,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 3
},
{
"pc": 232,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 11
},
{
"pc": 242,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 11
},
{
"pc": 248,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 7
},
{
"pc": 254,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 26
},
{
"pc": 256,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 15
},
{
"pc": 262,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 28
},
{
"pc": 272,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 31
},
{
"pc": 282,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 2
},
{
"pc": 292,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 7
},
{
"pc": 302,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 12
},
{
"pc": 312,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 17
},
{
"pc": 322,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 4
},
{
"pc": 328,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 4
},
{
"pc": 330,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 26
},
{
"pc": 348,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 4
},
{
"pc": 350,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 11,
"col": 1
},
{
"pc": 356,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 10
},
{
"pc": 366,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 13
},
{
"pc": 372,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 22
},
{
"pc": 378,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 9
},
{
"pc": 388,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 12
},
{
"pc": 398,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 15
},
{
"pc": 401,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 21
},
{
"pc": 404,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 28
},
{
"pc": 407,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 35
},
{
"pc": 417,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 423,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 7
},
{
"pc": 425,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 47
},
{
"pc": 431,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 43
},
{
"pc": 437,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 15,
"col": 1
},
{
"pc": 439,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 445,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 451,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 461,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 471,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 477,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 479,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 15,
"col": 1
},
{
"pc": 497,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 8
},
{
"pc": 499,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 1
},
{
"pc": 509,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 43
},
{
"pc": 515,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 43
},
{
"pc": 517,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 33
},
{
"pc": 527,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 37
},
{
"pc": 537,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 41
},
{
"pc": 547,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 45
},
{
"pc": 557,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 4
},
{
"pc": 567,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 20
},
{
"pc": 573,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 20
},
{
"pc": 575,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 1
},
{
"pc": 585,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 4
},
{
"pc": 595,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 7
},
{
"pc": 605,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 12
},
{
"pc": 615,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 17
},
{
"pc": 625,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 20
},
{
"pc": 631,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 20
},
{
"pc": 633,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 18
},
{
"pc": 643,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 3
},
{
"pc": 653,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 7
},
{
"pc": 663,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 11
},
{
"pc": 673,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 679,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 3
},
{
"pc": 681,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 9,
"col": 11
},
{
"pc": 691,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 3
},
{
"pc": 701,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 8
},
{
"pc": 711,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 12
},
{
"pc": 721,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 12,
"col": 4
},
{
"pc": 731,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 14
},
{
"pc": 737,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 14
},
{
"pc": 739,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 10
},
{
"pc": 749,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 14
},
{
"pc": 759,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 19
},
{
"pc": 769,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 23
},
{
"pc": 779,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 27
},
{
"pc": 789,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 14,
"col": 39
},
{
"pc": 799,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 17
},
{
"pc": 805,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 13,
"col": 17
},
{
"pc": 817,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 15,
"col": 2
},
{
"pc": 819,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 15,
"col": 2
},
{
"pc": 829,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 839,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 849,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 851,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 861,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 863,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 873,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 883,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 885,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 895,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 897,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 899,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 909,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 919,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 921,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 923,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 929,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 939,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 949,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 959,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 969,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 975,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 981,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 16,
"col": 2
},
{
"pc": 993,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 8
},
{
"pc": 995,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 8
},
{
"pc": 1005,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 8
},
{
"pc": 1015,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 9
},
{
"pc": 1021,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 1
},
{
"pc": 1027,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 1,
"col": 41
},
{
"pc": 1033,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 30
},
{
"pc": 1039,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 35
},
{
"pc": 1049,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 30
},
{
"pc": 1051,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 26
},
{
"pc": 1057,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 38
},
{
"pc": 1059,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 12
},
{
"pc": 1065,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 15
},
{
"pc": 1071,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 3
},
{
"pc": 1077,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 3,
"col": 3
},
{
"pc": 1079,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 9
},
{
"pc": 1085,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 6,
"col": 1
},
{
"pc": 1091,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 5,
"col": 15
},
{
"pc": 1097,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 6
},
{
"pc": 1103,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 7,
"col": 2
},
{
"pc": 1109,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 14
},
{
"pc": 1119,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 9,
"col": 1
},
{
"pc": 1129,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 9,
"col": 6
},
{
"pc": 1135,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 1
},
{
"pc": 1141,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 8,
"col": 1
},
{
"pc": 1149,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 20
},
{
"pc": 1155,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 11
},
{
"pc": 1161,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 10,
"col": 11
},
{
"pc": 1163,
"file": "/Users/niltonconstantino/personal/workspace.personal/intrepid/prometeu/runtime/test-cartridges/color-square/src/main.ts",
"line": 2,
"col": 38
}
]

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
../../prometeu-sdk/typescript-sdk