Skip to content

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

    Custom Language Builder Interface
    Custom Language Builder Interface
    Custom Language Builder Interface

    ✨ 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