SkillAgentSearch skills...

PigletC

A toy C-like language compiler for PigletVM

Install / Use

/learn @true-grue/PigletC

README

PigletC — a tiny C-like language compiler for PigletVM

PigletC is based on raddsl toolset and was made for teaching purposes.

Simple example.

int r;
int n;

void main() {
  n = 5;
  r = 1;
  while (n > 1) {
    r = r * n;
    n = n - 1;
  }
  print(r);
}

Result of compilation.

PUSHI 1
PUSHI 5
STORE
PUSHI 0
PUSHI 1
STORE
L0:
PUSHI 1
LOAD
PUSHI 1
GREATER
JUMP_IF_FALSE L1
PUSHI 0
PUSHI 0
LOAD
PUSHI 1
LOAD
MUL
STORE
PUSHI 1
PUSHI 1
LOAD
PUSHI 1
SUB
STORE
JUMP L0
L1:
PUSHI 0
LOAD
PRINT
DONE

Result of VM execution.

pigletvm-exec asm fact.c.pvm fact.c.b
pigletvm-exec run fact.c.b
120
Result value: 0
PROFILE: switch code finished took 0ms
120
Result value: 0
PROFILE: switch code (no range check) finished took 1ms
120
Result value: 0
PROFILE: threaded code finished took 0ms
120
Result value: 0
PROFILE: trace code finished took 1ms

Related Skills

View on GitHub
GitHub Stars63
CategoryDesign
Updated8mo ago
Forks8

Languages

Python

Security Score

92/100

Audited on Jul 9, 2025

No findings