#compiler #lexer #programming-language #parser

vexc

Compiler and toolchain for the Vex programming language

1 unstable release

Uses new Rust 2024

0.1.0 Dec 2, 2025

#432 in Programming languages

MIT license

23KB
378 lines

Vex Compiler

A compiler for the Vex programming language.

Overview

The Vex compiler (vexc) transforms Vex source code into executable programs through a series of compilation phases.

Modules

  • lexer - Tokenizes source code into lexical tokens
  • (Future: parser - Builds abstract syntax trees)
  • (Future: codegen - Generates target code)

Quick Start

use vexc::lexer::{Lexer, Token};

let mut lexer = Lexer::new("let x = 42;");
loop {
    match lexer.next_token() {
        Ok(Token::Eof) => break,
        Ok(token) => println!("{:?}", token),
        Err(e) => {
            eprintln!("Error: {}", e);
            break;
        }
    }
}

Compilation Pipeline

  1. Lexical Analysis - Source text → Tokens
  2. Parsing - Tokens → AST (coming soon)
  3. Semantic Analysis - Type checking (coming soon)
  4. Code Generation - AST → Target code (coming soon)

Additional Module Information

This crate is organized into several key modules:

Core Compiler Modules

  • lexer - Lexical analysis and tokenization

Vex Programming Language

CI

A compiler and toolchain for the Vex programming language.

Project Structure

  • vexc/ - The Vex compiler library and CLI

Building

cargo build --release

Testing

cargo test 

Documentation

Generate and view the documentation:

cargo doc --no-deps --open

License

MIT

Dependencies

~160–570KB
~13K SLoC