█████╗ ██╗   ██╗██████╗  █████╗ 
██╔══██╗██║   ██║██╔══██╗██╔══██╗
███████║██║   ██║██████╔╝███████║
██╔══██║██║   ██║██╔══██╗██╔══██║
██║  ██║╚██████╔╝██║  ██║██║  ██║
╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝

AURA Programming Language

Where Gen Z meets code. No cap, this language is absolutely iconic!
# AURA Programming Language **AURA** is a Gen Z-inspired esoteric programming language that combines modern internet culture with programming concepts. Every keyword is designed to reflect contemporary slang and expressions, making coding both fun and expressive. --- ## Features - **Gen Z Syntax**: Keywords like `slay`, `bet`, `no-cap`, `vibes`, `gyatt`, `rizz`, and more - **Math Operations**: Modern math with `slay`, `cap`, `drip`, `sus`, `power`, `random`, etc. - **Functions**: Define and call custom functions with `bet` and `no-cap` - **Control Flow**: Loops (`loop`), conditionals (`betif`, `susif`), and more - **Special Commands**: Built-in for motivation, compliments, and aesthetics - **Web Editor**: Modern web interface with syntax highlighting and live examples - **Debug Mode**: Enhanced error reporting and execution tracking - **Cross-Platform**: Works on Windows, macOS, and Linux --- ## Quick Start ### Requirements - Python 3.7 or higher - Flask (for web editor) ### Installation ```bash git clone cd aura-esolang pip install flask # Optional, for web editor python aura.py --version ``` --- ## Example Programs ### Hello World ```aura vibes "Hello World!" periodt "Welcome to AURA!" exit ``` ### Math Operations ```aura aura a = 15 aura b = 4 vibes "Addition:" vibes slay a b # 15 + 4 = 19 vibes "Subtraction:" vibes cap a b # 15 - 4 = 11 vibes "Multiplication:" vibes drip a b # 15 * 4 = 60 vibes "Division:" vibes sus a b # 15 / 4 = 3.75 vibes "Modulo:" vibes mod a b # 15 % 4 = 3 vibes "Exponentiation:" vibes power a b # 15 ** 4 = 50625 vibes "Square root:" vibes sqrt a # sqrt(15) vibes "Absolute value:" vibes abs -15 # 15 vibes "Random number between a and b :" vibes random a b # random integer between 4 and 15 ``` ### Functions ```aura bet greet(name) periodt "Hello there," vibes name periodt "Welcome to AURA!" no-cap bet calculate(a, b) aura result = slay a b periodt "Result:" vibes result no-cap # Function calls bet greet("AURA User") bet calculate(10, 5) exit ``` ```aura aura age = 18 aura name = "Alex" vibes "Age verification:" betif bigflex age 18 periodt "Access granted!" nobet susif smaller age 13 periodt "Too young for this content" nosus vibecheck exit ``` ```aura bet greet(name, age) vibes "Hello!" vibes name vibes age no-cap bet greet("Alice", 25) exit ``` ### Loops ```aura periodt "Countdown:" loop 5 aura remaining = cap 5 loopindex rizz remaining endloop ``` ### Example ```aura # AURA program demonstration vibes "Welcome to AURA Programming Language" aura username = "CodeMaster" aura score = 0 maincharacter username aura points = random 50 100 aura bonus = drip points 2 gyatt score = slay score points bonus betif bigger score 200 periodt "High score achieved!" compliment nobet bet displayStats(user, points) periodt "Player Stats:" rizz username rizz points aesthetic no-cap bet displayStats(username, score) periodt "Program completed successfully!" exit ``` --- ## Command Reference ### Variable Assignment - `aura var = value` — Declare a variable - `gyatt var = value` — Assign to a variable ### Output - `vibes value` — Output with style - `periodt value` — Output with periodt energy - `rizz value` — Output with rizz ### Math - `slay a b` — Addition - `cap a b` — Subtraction - `drip a b` — Multiplication - `sus a b` — Division - `mod a b` — Modulo - `power a b` — Exponentiation - `random a b` — Random integer between a and b ### Functions - `bet name(params)` ... `no-cap` — Define a function - `bet name(args)` — Call a function ### Control Flow - `loop n` ... `endloop` — Loop n times - `betif condition` ... `nobet` — If block - `susif condition` ... `nosus` — Else-if block ### Variable Operations - `rizzup x` — Increment variable (x++) - `gyattdown x` — Decrement variable (x--) - `ghost x` — Delete variable - `vibecheck` — Show all variables ### Special Commands - `compliment` — Display random compliment - `motivation` — Display motivational quote - `aesthetic` — Display aesthetic message - `help` — Show help information - `exit` — Quit program --- ## Web Editor The AURA Web Editor provides a modern, interactive development environment with: - Syntax highlighting - Live examples - Interactive execution - Error reporting - Line numbers - Responsive design Start with: ```bash python aura_web.py ``` Then open [http://localhost:5000](http://localhost:5000) --- ## Web Editor The AURA Web Editor provides a modern, interactive development environment with the following features: ### Features - **Syntax Highlighting**: Color-coded syntax for better readability - **Live Examples**: Pre-loaded example programs to get started quickly - **Interactive Execution**: Run code directly in the browser - **Error Reporting**: Clear error messages and debugging information - **Line Numbers**: Easy navigation and reference - **Responsive Design**: Works on desktop and mobile devices ### Usage 1. Start the web server: `python aura_web.py` 2. Open your browser to `http://localhost:5000` 3. Choose from example programs or write your own code 4. Click "Execute Code" to run your program 5. View results in the output panel ### Available Examples - **Hello World**: Basic AURA greeting and output - **Variables Demo**: Working with variables and assignments - **Math Operations**: Mathematical functions and calculations ## Error Handling AURA uses a consistent error reporting system with "skill issue" messages: ``` skill issue: undefined variable: x skill issue: can't sus by zero skill issue: expected = # (No array errors in new version) ``` ### Debug Mode Enable debug mode for detailed execution information: ```bash python aura.py example.aura --debug ``` Debug mode provides: - Line-by-line execution tracking - Variable state information - Enhanced error context - Execution statistics ## File Structure ``` aura-esolang/ ├── aura.py # Main interpreter ├── aura_web.py # Web server and API ├── web_editor.html # Web interface ├── example.aura # Example program ├── example_clean.aura # Clean example ├── test_suite.aura # Test cases ├── simple_test.aura # Simple test ├── demo.aura # Demo program ├── launcher.bat # Windows launcher ├── requirements.txt # Python dependencies ├── README.md # Documentation └── LICENSE # License file ``` ## API Reference The web server provides REST API endpoints: ### POST /run_aura Execute AURA code ```json { "code": "slay \"Hello World!\"\nexit" } ``` Response: ```json { "output": "AURA Execution Results:\n[SLAY] Hello World!\naura out! Thanks for vibing with us!" } ``` ### GET /stats Get execution statistics ```json { "total_runs": 42, "successful_runs": 40, "failed_runs": 2, "success_rate": "95.2%", "runtime": "1234.5s", "server_status": "running" } ``` ### GET /help Get command reference ```json { "variables": { "aura var = value": "Declare a variable", "gyatt var = value": "Assign to a variable" }, "output": { "rizz value": "Basic output" } } ``` ### GET /health Health check endpoint ```json { "status": "healthy", "timestamp": "2025-07-11T10:30:00", "version": "AURA v2.0" } ``` ## Development and Contributing ### Development Setup ```bash # Clone the repository git clone cd aura-esolang # Create virtual environment (recommended) python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt # Run tests python aura.py test_suite.aura ``` ### Project Structure The codebase is organized as follows: - `aura.py`: Core interpreter with lexer, parser, and runtime - `aura_web.py`: Flask web server and API endpoints - `web_editor.html`: Frontend web interface - `*.aura`: Example programs and test cases ### Contributing Guidelines Contributions are welcome! Here's how to contribute: 1. **Fork the repository** 2. **Create a feature branch**: `git checkout -b feature/new-feature` 3. **Make your changes**: Add new features, fix bugs, or improve documentation 4. **Test thoroughly**: Ensure all existing tests pass and add new tests 5. **Submit a pull request**: Describe your changes and their benefits ### Adding New Features When adding new AURA commands: 1. Add the command to the `exec_line` method in `aura.py` 2. Add expression support to `eval_expr` if needed 3. Update the help system and documentation 4. Add test cases to verify functionality 5. Update the web editor examples if relevant ## Troubleshooting ### Common Issues **Command not found errors** - Ensure you're using Python 3.7+ - Check that all required files are in the same directory - Verify the command spelling matches AURA syntax **Web editor not loading** - Confirm Flask is installed: `pip install flask` - Check that port 5000 is available - Ensure `aura_web.py` and `web_editor.html` are in the same directory **Skill issue messages** - Enable debug mode for detailed error information - Check variable names and syntax **Performance issues** - Avoid infinite loops in `whileloop` constructs - Consider using debug mode only when needed ### Getting Help - Check the built-in help: Add `help` to your AURA program - Review example programs in the repository - Enable debug mode for detailed execution information - Check the web editor for interactive examples ## License MIT License Copyright (c) 2025 AURA Development Team Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --- **AURA Programming Language** - Where Gen Z meets code. No cap, this language is absolutely iconic!