MCPcopy Index your code
hub / github.com/GPPVM-Project/SkyLC

github.com/GPPVM-Project/SkyLC @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
675 symbols 2,105 edges 84 files 60 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GPPVM

GPPVM (General Purpose Parallel Virtual Machine) is a modern programming language and stack-based virtual machine inspired by Python and Rust, designed with strong static semantics and efficient bytecode execution.

“Compile with confidence, execute with elegance.”


✨ Overview

GPPVM combines an expressive language with a performant and extensible virtual machine.

Key Features

  • 🔍 Full semantic analysis before code generation
  • 💡 Type inference with implicit coercion based on archetypes
  • 🧠 Robust type system supporting hierarchical archetypes
    (e.g., int → number → object)
  • ⚙️ Bytecode execution on a stack-based VM
  • 🧩 Plugin-based compiler architecture
  • 🚀 Focus on performance, clean IR, and readable bytecode

🔧 Modular Architecture

The compiler and VM are composed of well-defined, interchangeable stages:

  • Lexer (required)
  • Parser (required)
  • Semantic Analyzer (required)
  • Intermediate Representation Generator (IR) (required)
  • Bytecode Emitter (required)
  • Bytecode Decompiler (optional)
  • Optimizer 1 (optional)
  • Optimizer 2 (optional)
  • Optimizer 3 (optional)
  • Virtual Machine (runtime)

Project configuration determines which plugins are active for each compilation step.


👉 See the full 0.1.0 TODO progress


📦 Getting Started

Requirements

  • Rust (version ≥ 1.75)
  • Cargo (comes with Rust)

Building the Compiler

Windows

./install.ps1

Extension points exported contracts — how you extend this code

NativeLibrary (Interface)
(no doc) [10 implementers]
crates/skyl-ffi/src/lib.rs
PipelineStep (Interface)
(no doc) [5 implementers]
crates/skyl-driver/src/lib.rs
Object (Interface)
(no doc) [2 implementers]
crates/skyl-data/src/objects.rs
AttributeProcessor (Interface)
(no doc) [1 implementers]
crates/skyl-semantics/src/attribute_processor.rs
NativeBridge (Interface)
(no doc) [1 implementers]
crates/skyl-ffi/src/lib.rs

Core symbols most depended-on inside this repo

clone
called by 330
crates/skyl-data/src/memory.rs
borrow
called by 129
crates/skyl-data/src/memory.rs
to_string
called by 109
crates/skyl-data/src/objects.rs
push
called by 77
crates/skyl-driver/src/errors.rs
span
called by 75
crates/skyl-data/src/statements.rs
peek
called by 66
crates/skyl-parser/src/parser.rs
push
called by 64
crates/skyl-vm/src/virtual_machine.rs
len
called by 62
crates/skyl-data/src/semantic_types.rs

Shape

Method 499
Class 91
Function 53
Enum 27
Interface 5

Languages

Rust100%

Modules by API surface

crates/skyl-vm/src/virtual_machine.rs63 symbols
crates/skyl-parser/src/parser.rs57 symbols
crates/skyl-semantics/src/semantic_analyzer.rs49 symbols
crates/skyl-ir/src/ir_generator.rs43 symbols
crates/skyl-data/src/semantic_types.rs42 symbols
crates/skyl-lexer/src/lexer.rs23 symbols
crates/skyl-data/src/objects.rs22 symbols
crates/skyl-driver/src/format_err.rs18 symbols
crates/skyl-data/src/descriptors.rs18 symbols
crates/skyl-semantics/src/expressions.rs16 symbols
crates/skyl-driver/src/errors.rs16 symbols
crates/skyl-semantics/src/statements.rs14 symbols

For agents

$ claude mcp add SkyLC \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact