Skip to content

ckist2/oidascript

Repository files navigation

OidaScript - Die österreichische Programmiersprache 🇦🇹

OidaScript Logo Bootstrap Ready Self Hosting

"Die erste österreichische Programmiersprache die sich selbst entwickeln kann!"

🎯 Was ist OidaScript?

OidaScript ist die erste selbst-hosting österreichische Programmiersprache der Welt! Mit authentischer österreichischer Syntax und kulturellem Charakter revolutioniert OidaScript die Programmierung im deutschsprachigen Raum.

// Servus! Das ist OidaScript!
loss greeting = "Servus Hawara!"
debugg(greeting)

tuas berechne_sachertorte portionen => {
    loss zutaten = ["Schokolade", "Marillenmarmelade", "Eier"]
    loss preis = portionen * 8.50
    hawara("Sachertorte für " + str(portionen) + " Personen kostet €" + str(preis))
    preis
}

loss kosten = berechne_sachertorte(6)
baba() // Auf Wiedersehen!

✨ Features

🇦🇹 Authentisch Österreichisch

  • Österreichische Syntax: loss, tuas, wenn, andernfalls, solang
  • Wienerische Funktionen: oida(), hawara(), baba(), leiwand()
  • Österreichische Fehlermeldungen: "De Variable is ned definiert"

🚀 Bootstrap-Ready (Self-Hosting)

  • Module System: importier und exportier für Code-Organisation
  • Float-Unterstützung: Mathematische Operationen mit Dezimalzahlen
  • File I/O: Lesen und Schreiben von Dateien
  • Self-Analysis: OidaScript kann OidaScript-Code analysieren!

🛠️ Development Features

  • Debug Tools: debugg(), trace(), warnung()
  • String Operations: Umfassende Text-Manipulation
  • Listen & Dictionaries: Moderne Datenstrukturen
  • Funktionale Programmierung: Lambda-ähnliche Funktionen

🚀 Quick Start

Installation

git clone https://github.com/ckist2/oidascript
cd oidascript

Erstes Programm

# Erstelle eine .oida Datei
echo 'hawara("Servus aus OidaScript!")' > mein_programm.oida

# Führe es aus
python oidascript.py mein_programm.oida

📚 Beispiele

Grundlagen

// Variablen
loss name = "Franz"
loss alter = 25
loss ist_wiener = wohr

// Funktionen
tuas greet person => {
    "Servus " + person + "!"
}

// Kontrollstrukturen
wenn (ist_wiener) {
    hawara("Ein echter Wiener!")
} andernfalls {
    debugg("Auch gut!")
}

// Schleifen
loss i = 0
solang (i < 5) {
    debugg("Zählung: " + str(i))
    i = i + 1
}

Module System

// math_helpers.oida
exportier("addier", tuas a b => a + b)
exportier("PI", 3.14159)

// main.oida
importier("math_helpers.oida")
loss result = addier(5, 3)
debugg("5 + 3 = " + str(result))

File Operations

// Datei schreiben
schreib_datei("greetings.txt", "Servus Austria!")

// Datei lesen
loss content = lies_datei("greetings.txt")
debugg("Datei Inhalt: " + content)

🏗️ Architektur

Komponenten

  • parser.py: Österreichischer Syntax-Parser
  • interpreter.py: Ausführungsengine mit österreichischen Features
  • main.py: CLI Interface
  • examples/: Demonstration und Tests

Bootstrap Capabilities

// OidaScript analyzing OidaScript!
loss oidascript_code = "loss x = 42"
loss has_variable = contains(oidascript_code, "loss")
loss tokens = split(oidascript_code, " ")
// Self-hosting achieved! 🎉

🎯 Roadmap

Phase 1: Foundation ✅

  • Österreichische Syntax
  • Basic Interpreter
  • Module System
  • Bootstrap Capability

Phase 2: Tools 🚧

  • REPL (Interactive Shell)
  • Debugger
  • Package Manager
  • Code Formatter

Phase 3: Ecosystem 📋

  • Web Framework
  • Database Connectors
  • GUI Library
  • Austrian-specific APIs

Phase 4: Advanced 🔮

  • JIT Compiler
  • Language Server Protocol
  • VS Code Extension
  • Community Platform

🤝 Contributing

Willkommen bei der österreichischen Programmier-Revolution!

Development Setup

git clone https://github.com/ckist2/oidascript
cd oidascript
python oidascript.py examples/test.oida  # Test basic functionality
python oidascript.py final_bootstrap.oida  # Test self-hosting

Code Style

  • Use Austrian German for keywords and functions
  • Include cultural references where appropriate
  • Maintain authenticity: "It's österreichisch, not wienerisch!"

📖 Documentation

Language Reference

Tutorials

🏆 Achievements

  • 🥇 First Austrian Programming Language
  • 🚀 Self-Hosting Achieved
  • 🇦🇹 Culturally Authentic
  • ⚡ Bootstrap Ready
  • 🛠️ Production Capable

📄 License

MIT License - See LICENSE for details.

🙏 Acknowledgments

  • Austrian culture and language
  • The programming language community
  • Everyone who believes in linguistic diversity in programming

"Programmieren auf Österreichisch - weil's einfach leiwand ist!" 🇦🇹

Made with ❤️ in Austria (virtually)

Releases

No releases published

Packages

No packages published

Languages