Skip to content

euotiniel/oto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oto

oto is an experimental compiler and runtime study project written in C.

The project is being developed incrementally as a way to study how source code becomes execution: from lexing and parsing to ASTs, bytecode, virtual machines, and runtime systems.

The .oto language does not aim to be production-ready or revolutionary. It exists primarily as a vehicle for exploring compiler and runtime engineering concepts from scratch.

The implementation and language design are expected to evolve over time as the project grows.


Current Focus

The current stage of the project does not focus on compilation yet.

Instead, the initial goal is to build the frontend of the language and understand the earliest stages of execution through a tree-walk interpreter architecture.

Current pipeline:

source file
↓
lexer
↓
tokens
↓
parser
↓
AST
↓
interpreter

Current goals:

  • Read .oto source files
  • Implement lexical analysis
  • Generate tokens
  • Parse expressions and statements
  • Build an Abstract Syntax Tree (AST)
  • Execute AST nodes using a tree-walk interpreter
  • Understand how source code becomes executable structures

Future Evolution

As the project evolves, the interpreter-based architecture is expected to grow into a bytecode compiler and virtual machine system.

Future pipeline:

source file
↓
lexer
↓
tokens
↓
parser
↓
AST
↓
compiler
↓
bytecode
↓
virtual machine

Long-term areas of study include:

  • Bytecode compilation
  • Virtual machines
  • Runtime systems
  • Stack frames
  • Scope handling
  • Runtime object representation
  • Heap allocation
  • Garbage collection experiments
  • Memory management

Status

The project is currently in its earliest stage.

Initial work is focused on:

  • Project structure
  • Compiler architecture planning
  • Language grammar planning
  • Token system design
  • Lexer implementation

About

An experimental compiler for the .oto lang written in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages