Basic app that gives QuinLang a GUI. Has basic start/stop functionality. More to come.
Find a file
2026-02-11 18:05:58 -05:00
.github/workflows Added an exe and elf so users can download easily. Also implemented version control with git tag so the project stays updated for users. 2026-02-11 18:05:58 -05:00
compiler Finished the basic app. Has start, stop, clear functionality. Can write new lines or select a file to edit. 2026-02-11 17:53:37 -05:00
examples Finished the basic app. Has start, stop, clear functionality. Can write new lines or select a file to edit. 2026-02-11 17:53:37 -05:00
ide Finished the basic app. Has start, stop, clear functionality. Can write new lines or select a file to edit. 2026-02-11 17:53:37 -05:00
runtime Finished the basic app. Has start, stop, clear functionality. Can write new lines or select a file to edit. 2026-02-11 17:53:37 -05:00
.gitignore Added an exe and elf so users can download easily. Also implemented version control with git tag so the project stays updated for users. 2026-02-11 18:05:58 -05:00
build_exe.py Added an exe and elf so users can download easily. Also implemented version control with git tag so the project stays updated for users. 2026-02-11 18:05:58 -05:00
quinlang_ide.spec Added an exe and elf so users can download easily. Also implemented version control with git tag so the project stays updated for users. 2026-02-11 18:05:58 -05:00
README.md Added an exe and elf so users can download easily. Also implemented version control with git tag so the project stays updated for users. 2026-02-11 18:05:58 -05:00
run_ide.py Finished the basic app. Has start, stop, clear functionality. Can write new lines or select a file to edit. 2026-02-11 17:53:37 -05:00

QuinLang IDE

A lightweight, self-contained IDE for the QuinLang programming language. This application bundles the full QuinLang compiler and QuinVM interpreter, providing an integrated environment for writing, running, and debugging QL programs.

Features

  • Code Editor — Syntax-aware text editor with line numbers
  • Integrated Compiler — Full QuinLang compiler built-in (lexer, parser, semantic analysis, bytecode generation)
  • QuinVM Runtime — Programs execute directly in the embedded virtual machine
  • Run/Stop Controls — Execute programs with F5, stop running programs with Shift+F5
  • Output Panel — View program output and error messages with colored diagnostics
  • File Management — New, Open, Save, Save As with unsaved changes detection

Download

Pre-built executables are available on the Releases page:

  • Windows: QuinLangIDE.exe — Double-click to run
  • Linux: QuinLangIDE — Run chmod +x QuinLangIDE && ./QuinLangIDE

No installation or Python required for the standalone executables.

Running from Source

Requirements

  • Python 3.10+
  • Tkinter (included with standard Python on Windows/macOS)

Quick Start

python run_ide.py

The IDE opens with a simple example program. Click Run or press F5 to execute it.

Keyboard Shortcuts

Action Shortcut
Run F5
Stop Shift+F5
New File Ctrl+N
Open File Ctrl+O
Save Ctrl+S
Save As Ctrl+Shift+S

Project Structure

QuinLang-IDE/
├── compiler/       # QuinLang compiler (lexer, parser, sema, codegen)
├── runtime/        # QuinVM bytecode interpreter
├── examples/       # Sample .ql programs
├── ide/
│   ├── app.py      # Main application window
│   ├── editor.py   # Code editor widget
│   └── runner.py   # Compiler/VM execution wrapper
└── run_ide.py      # Entry point

Example Program

fn main(): int {
    let i: int;
    i = 0;
    while (i < 5) {
        println(i);
        i = i + 1;
    }
    return 0;
}

About QuinLang

QuinLang is a small, C-style language featuring:

  • Types: int, bool, str, ptr, void, int[N] arrays
  • Control flow: if/else, while
  • Functions with parameters and return values
  • Built-in print/println
  • Pointer intrinsics: load16, store16, memcpy, memset
  • Array helpers: array_push, array_pop

See the examples/ folder for more sample programs.