https://github.com/syipmong/yeep-prolag
A simple, interpreted programming language written in C with logical operators, string concatenation, and interactive REPL.
https://github.com/syipmong/yeep-prolag
c-language compiler cross-platform dynamic-typing interpreter linux logical-operators macos open-source programming-language repl scripting string-concatenation windows
Last synced: 27 days ago
JSON representation
A simple, interpreted programming language written in C with logical operators, string concatenation, and interactive REPL.
- Host: GitHub
- URL: https://github.com/syipmong/yeep-prolag
- Owner: Syipmong
- License: mit
- Created: 2025-06-19T15:21:53.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-22T18:55:22.000Z (7 months ago)
- Last Synced: 2025-06-30T13:14:50.386Z (7 months ago)
- Topics: c-language, compiler, cross-platform, dynamic-typing, interpreter, linux, logical-operators, macos, open-source, programming-language, repl, scripting, string-concatenation, windows
- Language: C++
- Homepage:
- Size: 10.9 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Yeep Programming Language
[](https://github.com/Syipmong/yeep-prolag/actions/workflows/build.yml)
[](https://github.com/Syipmong/yeep-prolag/releases/latest)
[](https://github.com/Syipmong/yeep-prolag/blob/main/LICENSE)
[](https://github.com/Syipmong/yeep-prolag/releases/latest)
[](https://github.com/Syipmong/yeep-prolag)
[](https://github.com/Syipmong/yeep-prolag)
[](https://github.com/Syipmong/yeep-prolag/stargazers)
[](https://github.com/Syipmong/yeep-prolag/network/members)
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
```bash
# 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](https://github.com/Syipmong/yeep-prolag/wiki)**
| Documentation | Description |
|---------------|-------------|
| [🏠 Home](https://github.com/Syipmong/yeep-prolag/wiki/Home) | Project overview and quick start |
| [⚡ Installation Guide](https://github.com/Syipmong/yeep-prolag/wiki/Installation-Guide) | Complete installation instructions |
| [🎓 Language Tutorial](https://github.com/Syipmong/yeep-prolag/wiki/Language-Tutorial) | Step-by-step learning guide |
| [📖 Language Reference](https://github.com/Syipmong/yeep-prolag/wiki/Language-Reference) | Complete language specification |
| [📚 Standard Library](https://github.com/Syipmong/yeep-prolag/wiki/Standard-Library) | Built-in functions and features |
| [🎨 Examples Gallery](https://github.com/Syipmong/yeep-prolag/wiki/Examples-Gallery) | Code examples and use cases |
| [🏆 Showcase](https://github.com/Syipmong/yeep-prolag/wiki/Showcase) | Community projects and highlights |
| [🔧 Troubleshooting](https://github.com/Syipmong/yeep-prolag/wiki/Troubleshooting) | Common issues and solutions |
| [❓ FAQ](https://github.com/Syipmong/yeep-prolag/wiki/FAQ) | Frequently asked questions |
| [🤝 Contributing Guide](https://github.com/Syipmong/yeep-prolag/wiki/Contributing-Guide) | How to contribute to the project |
## �📥 Download
**Latest Release:** [Download Yeep v1.0.0](https://github.com/Syipmong/yeep-prolag/releases/latest)
| Platform | Download |
|----------|----------|
| 🪟 **Windows** | [yeep-windows-x64.zip](https://github.com/Syipmong/yeep-prolag/releases/latest/download/yeep-windows-x64.zip) |
| 🐧 **Linux** | [yeep-linux-x64.tar.gz](https://github.com/Syipmong/yeep-prolag/releases/latest/download/yeep-linux-x64.tar.gz) |
| 🍎 **macOS** | [yeep-macos-x64.tar.gz](https://github.com/Syipmong/yeep-prolag/releases/latest/download/yeep-macos-x64.tar.gz) |
> **💡 Tip:** After downloading, follow the [installation instructions](#-easy-installation-recommended) 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:**
```cmd
# 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:**
```bash
# 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](https://github.com/Syipmong/yeep-prolag/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:**
```cmd
# Extract the ZIP file
# Right-click Command Prompt → "Run as administrator"
install.bat
```
**Linux/macOS:**
```bash
# 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**:
```bash
yeep --version
yeep --help
```
### 🎯 After Installation - How to Use Yeep
Once installed, you can run Yeep from any directory:
```bash
# 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](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](https://github.com/Syipmong/yeep-prolag/releases/latest)
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
```bash
# 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
```bash
# 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
```yeep
let x = 42;
let name = "Hello, World!";
let flag = true;
```
### Logical Operators
```yeep
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
```yeep
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
```yeep
fun greet(name) {
print("Hello, " + name + "!");
}
greet("Yeep");
```
### Control Flow
```yeep
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
[](https://github.com/Syipmong/yeep-prolag/issues)
[](https://github.com/Syipmong/yeep-prolag/pulls)
[](https://github.com/Syipmong/yeep-prolag/commits/main)
[](https://github.com/Syipmong/yeep-prolag)
[](https://github.com/Syipmong/yeep-prolag)
[](https://github.com/Syipmong/yeep-prolag/releases)
## Project Structure
- `src/` - Source code
- `include/` - Header files
- `examples/` - Example Yeep programs
- `tests/` - Test files
## 🤝 Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
- 🐛 [Report bugs](https://github.com/Syipmong/yeep-prolag/issues/new?template=bug_report.md)
- 💡 [Request features](https://github.com/Syipmong/yeep-prolag/issues/new?template=feature_request.md)
- 🔧 [Submit pull requests](https://github.com/Syipmong/yeep-prolag/pulls)
## 📄 License
This project is licensed under the MIT License - see the [LICENSE](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](https://github.com/syipmong)
---
**⭐ Star this repo if you find Yeep useful!**
**📥 [Download the latest release](https://github.com/Syipmong/yeep-prolag/releases/latest)** | **📖 [Read the docs](README.md)** | **🤝 [Contribute](CONTRIBUTING.md)**