Skip to content

Repository files navigation

RoadC

A programming language with Python-style indentation, built from scratch — a tree-walking interpreter in Python and a zero-dependency C99 compiler.

BlackRoad OS Org

CI Python 3.10+ C99 License

What Works Today

The Python interpreter supports:

  • Variables: let, var, const with optional type annotations
  • Functions: fun keyword, parameters, return, recursion, closures
  • Control flow: if/elif/else, while, for/in, break, continue
  • Types: integers, floats, strings (with {var} interpolation), booleans, colors (#FF1D6C)
  • Collections: lists, dicts, sets, tuples, ranges
  • Operators: arithmetic, comparison, logical, bitwise, compound assignment
  • Builtins: print, len, range, str, int, abs, min, max, sorted, input, and more
  • Member access: string/list/dict methods (.upper(), .append(), .keys())
fun fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

let result = fibonacci(10)
print(result)  # 55
let name = "world"
let msg = "hello {name}"
print(msg)  # hello world

let xs = [1, 2, 3, 4, 5]
let total = 0
for x in xs:
    total += x
print(total)  # 15

Architecture

source.road
    |
    v
  Lexer (lexer.py, 462 LOC)
    |  Tokens: keywords, literals, operators, INDENT/DEDENT
    v
  Parser (parser.py, 826 LOC)
    |  AST nodes defined in ast_nodes.py (462 LOC)
    v
  Interpreter (interpreter.py, 320 LOC)
       Tree-walking execution with Environment chain

The C compiler (roadc.c, 618 LOC) is a separate implementation that compiles .road files to native executables. Zero external dependencies — just a C99 compiler.

gcc -std=c99 -O2 -o roadc roadc.c
./roadc program.road

Development

# Run a .road file
python roadc.py examples/fibonacci.road

# Run tests (30+ tests)
pytest tests/ -v

# Build C compiler
gcc -std=c99 -O2 -o roadc roadc.c

# Start REPL
python roadc.py

Roadmap

  • Type checker (static analysis pass between parser and interpreter)
  • Bytecode VM (replace tree-walking for performance)
  • Standard library (file I/O, math, networking)
  • 3D scene graph (space, cube, sphere keywords — lexer ready, runtime not yet)
  • Package manager
  • Self-hosting compiler

License

Proprietary — BlackRoad OS, Inc.

Related Projects

Project Description
RoadC Playground Interactive browser IDE for RoadC
Universal Computer Turing machine simulator
Quantum Math Lab Mathematical computation toolkit

About BlackRoad OS

BlackRoad OS is a sovereign computing platform that runs AI locally on your own hardware — no cloud dependencies, no API keys, no surveillance. Built by BlackRoad OS, Inc., a Delaware C-Corp founded in 2025.

  • Local AI — LLMs on Raspberry Pi, Hailo-8, and commodity hardware
  • Mesh networking — WireGuard VPN, NATS pub/sub, peer-to-peer
  • Edge computing — 52 TOPS of AI acceleration across a Pi fleet
  • Self-hosted everything — Git, DNS, storage, CI/CD, chat
  • Zero cloud dependencies — your data stays on your hardware
The BlackRoad ecosystem
Organization Focus
BlackRoad OS Core platform and applications
BlackRoad OS, Inc. Corporate and enterprise
BlackRoad AI Artificial intelligence and ML
BlackRoad Hardware Edge hardware and IoT
BlackRoad Security Cybersecurity and auditing
BlackRoad Quantum Quantum computing research
BlackRoad Agents Autonomous AI agents
BlackRoad Network Mesh and distributed networking
BlackRoad Education Learning and tutoring platforms
BlackRoad Labs Research and experiments
BlackRoad Cloud Self-hosted cloud infrastructure
BlackRoad Forge Developer tools and utilities

Linksblackroad.io · docs.blackroad.io · chat.blackroad.io · search.blackroad.io

Remember the Road. Pave Tomorrow.

About

A programming language with Python-style indentation, built from scratch: a tree-walking interpreter in Python and a zero-dependency C99 compiler.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages