Skip to content

A simple, interpreted programming language written in C with logical operators, string concatenation, and interactive REPL.

License

Notifications You must be signed in to change notification settings

Syipmong/yeep-prolag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

93 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Yeep Programming Language

Build and Release Latest Release License Platform Support Language Status GitHub Stars GitHub Forks

A simple, interpreted programming language now written in modern C++ with support for variables, functions, control flow, and logical operators.

πŸŽ‰ Version 2.0.0 Released!

The Yeep interpreter has been completely rewritten in modern C++ and is now officially released as v2.0.0!

Quick Start

# Build
./build_official.bat

# Interactive mode
./build/yeep.exe

# Run a script
./build/yeep.exe script.yeep

Version 2.0.0 Features βœ…

  • Interactive REPL with help, version, and command system
  • Script file execution for .yeep files
  • Print statements: print("Hello, World!");
  • Modern C++ architecture with smart pointers and exception handling
  • Professional build system and comprehensive documentation

οΏ½ Documentation

πŸ“– Comprehensive Wiki Documentation

Documentation Description
🏠 Home Project overview and quick start
⚑ Installation Guide Complete installation instructions
πŸŽ“ Language Tutorial Step-by-step learning guide
πŸ“– Language Reference Complete language specification
πŸ“š Standard Library Built-in functions and features
🎨 Examples Gallery Code examples and use cases
πŸ† Showcase Community projects and highlights
πŸ”§ Troubleshooting Common issues and solutions
❓ FAQ Frequently asked questions
🀝 Contributing Guide How to contribute to the project

οΏ½πŸ“₯ Download

Latest Release: Download Yeep v1.0.0

Platform Download
πŸͺŸ Windows yeep-windows-x64.zip
🐧 Linux yeep-linux-x64.tar.gz
🍎 macOS yeep-macos-x64.tar.gz

πŸ’‘ Tip: After downloading, follow the installation instructions below.

✨ Features

  • πŸ”’ Dynamic typing - Numbers, strings, booleans
  • πŸ“ Variables and expressions - Let bindings and arithmetic
  • πŸ”€ Control flow - If/else statements and while loops
  • 🎯 Functions - Define and call custom functions
  • 🧠 Logical operators - &&, ||, ! with short-circuit evaluation
  • πŸ”— String concatenation - Combine strings with any data type
  • πŸ’¬ Interactive shell (REPL) - Test code interactively
  • πŸ“œ Shebang support - Make executable scripts (#!/usr/bin/env yeep)
  • πŸ› οΈ Professional CLI - --help, --version, file execution
  • 🎯 Cross-platform - Windows, Linux, macOS

Quick Start

πŸš€ System-Wide Installation (v2.0.1)

Yeep v2.0.1 supports easy system-wide installation. Run yeep from anywhere after installation!

Quick Install

Windows:

# Clone or download the repository
git clone https://github.com/Syipmong/yeep-prolag.git
cd yeep-prolag

# Build and install (requires Administrator)
build.bat
install.bat

Linux/macOS:

# Clone or download the repository
git clone https://github.com/Syipmong/yeep-prolag.git
cd yeep-prolag

# Build and install (requires sudo for system-wide)
chmod +x build.sh install.sh
./build.sh
sudo ./install.sh

Download from GitHub Releases

  1. Go to Releases

  2. Download the latest version for your platform:

    • Windows: yeep-windows-x64.zip
    • Linux: yeep-linux-x64.tar.gz
    • macOS: yeep-macos-x64.tar.gz
  3. Extract and install:

    Windows:

    # Extract the ZIP file
    # Right-click Command Prompt β†’ "Run as administrator"
    install.bat

    Linux/macOS:

    # Extract the archive
    tar -xzf yeep-linux-x64.tar.gz  # or yeep-macos-x64.tar.gz
    cd yeep-linux-x64               # or yeep-macos-x64
    
    # Install system-wide (recommended)
    sudo ./install.sh
    
    # OR install for current user only
    ./install.sh
  4. Verify installation:

    yeep --version
    yeep --help

🎯 After Installation - How to Use Yeep

Once installed, you can run Yeep from any directory:

# Start interactive REPL with colorized output
yeep

# Run a Yeep script file  
yeep myscript.yeep

# Show help and version info
yeep --help
yeep --version

# Try REPL built-in commands
yeep
> help
> examples
> version
> clear

πŸ“ Installation Locations:

  • Windows System: C:\Program Files\Yeep\
  • Windows User: %USERPROFILE%\Yeep\
  • Linux/macOS System: /usr/local/bin/yeep, /usr/local/lib/yeep/
  • Linux/macOS User: ~/.local/bin/yeep, ~/.local/lib/yeep/

πŸ—‘οΈ To Uninstall:

  • Windows: Run uninstaller from installation directory
  • Linux/macOS: Run the uninstall script from lib directory

πŸ“– See USAGE.md for detailed usage guide and troubleshooting

⚠️ Windows Installation Troubleshooting

If you encounter issues during Windows installation:

❌ "build.bat is not recognized" Error

This means you downloaded the source code instead of the release.

Solution:

  1. Go to Releases
  2. Download yeep-windows-x64.zip (not the source code)
  3. Extract the ZIP file completely
  4. Look for yeep.exe in the extracted folder
  5. Run install.bat as administrator

❌ "msys-2.0.dll was not found" Error

This was a known issue in older versions, now fixed!

Solution:

  • Download the latest release (v1.0.1 or newer)
  • The new version includes static linking (no DLL dependencies)

❌ "Download was unexpected at this time" Error

This was a batch file syntax issue in older versions, now fixed!

Solution:

  • Download the latest release (v1.0.6 or newer)
  • If still having issues, try the alternative installers: install-simple.bat or install-debug.bat

❌ "Installation failed" Error

Solution:

  • Make sure you extracted all files from the ZIP
  • Run install.bat as administrator
  • Check that yeep.exe exists in the same folder as install.bat

πŸ› οΈ Build from Source

Prerequisites

  • GCC compiler
  • Make (Linux/macOS) or MinGW/MSYS2 (Windows)

Steps

# Clone the repository
git clone https://github.com/Syipmong/yeep-prolag.git
cd yeep-prolag

# Build
make clean && make

# Install (Linux/macOS)
sudo make install

# Or install with script
chmod +x install.sh
sudo ./install.sh

Usage

# Interactive shell
yeep

# Run a script
yeep script.yeep

# Run with shebang (Linux/macOS)
chmod +x script.yeep
./script.yeep

# Show help
yeep --help

# Show version
yeep --version

πŸ“– Language Syntax

Variables

let x = 42;
let name = "Hello, World!";
let flag = true;

Logical Operators

let a = true;
let b = false;

print("AND: " + (a && b));    // AND: false
print("OR: " + (a || b));     // OR: true
print("NOT: " + (!a));        // NOT: false

// Short-circuit evaluation
print(false && "not printed"); // false
print(true || "not evaluated"); // true

String Concatenation

let name = "Yeep";
let version = 1.0;
let active = true;

print("Language: " + name);      // Language: Yeep
print("Version: " + version);    // Version: 1
print("Active: " + active);      // Active: true

Functions

fun greet(name) {
    print("Hello, " + name + "!");
}

greet("Yeep");

Control Flow

if (x > 10) {
    print("x is greater than 10");
} else {
    print("x is 10 or less");
}

while (x > 0) {
    print(x);
    x = x - 1;
}

πŸ“Š Project Status

GitHub Issues GitHub Pull Requests Last Commit Repo Size Code Size Downloads

Project Structure

  • src/ - Source code
  • include/ - Header files
  • examples/ - Example Yeep programs
  • tests/ - Test files

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

πŸ“„ License

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

🌟 Acknowledgments

  • Built with ❀️ for learning and exploring programming language design
  • Inspired by modern scripting languages and classic language implementation techniques
  • Created by Yipmong Said, Student at Baze University Nigeria

πŸ‘¨β€πŸ’» Author

Yipmong Said
πŸŽ“ Student at Baze University Nigeria
πŸ™ GitHub: @syipmong


⭐ Star this repo if you find Yeep useful!

πŸ“₯ Download the latest release | πŸ“– Read the docs | 🀝 Contribute