Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Explore language construction, parsing logic, and execution in a hands-on learning environment.

License

AtharIbrahim/custom-programming-language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

10 Commits

Repository files navigation

๐Ÿš€ Custom Programming Language Builder

Build Your Own Programming Language - No Compiler Theory Degree Required!

A revolutionary web application that empowers developers to create custom programming languages through an intuitive visual interface. Drag, drop, and define your way to a fully-functional programming language!


๐ŸŒŸ What is This?

Traditional language creation requires deep compiler knowledge, complex tools, and months of development.
Custom Programming Language Builder changes everything by providing:

  • ๐ŸŽฏ Visual Language Designer: Define syntax through drag-and-drop
  • โšก Real-time Compiler Generation: Get working compilers instantly
  • ๐ŸŽจ Custom Syntax & Operators: Create your unique language flavor
  • ๐Ÿ”ง Export Ready: Generate complete language toolchains

๐Ÿš€ Compiler Running

  • Video: Compiler Working Video

  • ๐Ÿš€ App Demo


    โœจ Key Features

    ๐ŸŽจ Visual Language Design

    • Drag-and-drop syntax elements
    • Visual AST (Abstract Syntax Tree) builder
    • Real-time syntax validation
    • Custom operator definition

    ๐Ÿ”ง Complete Toolchain Generation

    • Lexical Analyzer (Lexer)
    • Syntax Parser
    • Semantic Analyzer
    • Code Generator
    • Runtime Environment

    ๐ŸŒ Multi-Platform Support

    • Web-based IDE
    • Desktop compiler exports
    • REST API for integration
    • Mobile-ready interface

    ๐Ÿ“š Educational Focus

    • Learn compiler design visually
    • Step-by-step language building
    • Interactive tutorials
    • Community templates

    ๐ŸŽฏ Quick Start

    Prerequisites

    • Python 3.8+
    • Modern web browser

    Installation

    # Clone the repository
    git clone https://github.com/AtharIbrahim/custom-programming-language.git
    cd custom-programming-language
    # Frontend
    cd custom_programming
    flutter pub get
    # Backend 
    cd python
    python server.py
    # Compiler Core
    cd ../compiler-core
    pip install -r requirements.txt

    Run the Application

    # Start backend server
    cd python
    python server.py
    # Start frontend (new terminal)
    cd custom_programming
    flutter run

    Open your browser and navigate to: http://localhost:5000


    ๐ŸŽจ Creating Your First Language

    Step 1: Define Basic Syntax

    Step 2: Add Custom Features

    Step 3: Generate & Test


    ๐ŸŒ Use Cases

    ๐ŸŽ“ Education

    • Computer Science courses
    • Compiler design workshops
    • Programming language theory

    ๐Ÿข Enterprise

    • Domain-specific languages (DSL)
    • Configuration languages
    • Scripting engines

    ๐Ÿ”ฌ Research

    • Language prototyping
    • Syntax experimentation
    • Compiler optimization testing

    ๐ŸŽฎ Hobby & Creative

    • Esoteric languages
    • Artistic programming
    • Game scripting engines

    ๐Ÿ“ฌ Contact

    ๐Ÿ“„ License

    This project is licensed under the MIT License. See the LICENSE file for details.

    About

    Explore language construction, parsing logic, and execution in a hands-on learning environment.

    Topics

    Resources

    License

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published

    AltStyle ใซใ‚ˆใฃใฆๅค‰ๆ›ใ•ใ‚ŒใŸใƒšใƒผใ‚ธ (->ใ‚ชใƒชใ‚ธใƒŠใƒซ) /