Skip to content

yudono/anis

Repository files navigation

🏝️ Anis Programming Language

Anis Programming Language Logo

Anis is a modern, lightweight, and cross-platform programming language built in C++. It features a JavaScript-like syntax, a built-in GUI library with JSX-style layout, and an interactive REPL.

License: MIT

✨ Key Features

  • Standard Syntax: JavaScript-like syntax with support for arrow functions, object spread, and destructuring.
  • Built-in GUI: Create desktop applications using JSX-like components (<Row>, <Column>, <Button>, etc.).
  • HTTP Module: Full support for GET and POST requests via libcurl.
  • Remote Imports: Import scripts directly from URLs (http:// or https://).
  • REPL: Interactive shell for quick prototyping and testing.
  • Cross-Platform: Support for macOS, Linux, and Windows.
  • Single Binary: Compiles to a self-contained executable with no heavy runtime dependencies.

🚀 Installation

Prerequisites

OS Requirements
macOS Clang++, GLFW, Freetype, SQLite3, MySQL, Libcurl (via Homebrew)
Linux Clang++, pkg-config, libglfw3-dev, libfreetype6-dev, libsqlite3-dev, libmysqlclient-dev, libcurl4-openssl-dev
Windows Clang++ (MinGW-w64), GLFW3, Freetype, SQLite3, MySQL, Libcurl

macOS

brew install glfw freetype sqlite mysql-client

Linux (Ubuntu/Debian)

sudo apt-get install clang libglfw3-dev libfreetype6-dev libsqlite3-dev libmysqlclient-dev libcurl4-openssl-dev pkg-config

Building from Source

  1. Clone the repository:

    git clone https://github.com/yudono/anis.git
    cd anis
  2. Build the project:

    make
  3. The binary will be available at bin/anis.

📖 Usage

Running a Script

./bin/anis examples/test_syntax/test_hello_world.anis

Interactive REPL

Simply run the binary without arguments:

./bin/anis

Help & Documentation

./bin/anis --help

For detailed documentation, explore the files in the DOCS/ directory:

📸 Screenshots

GUI Components

GUI Screenshot

Web Server

Web Server Screenshot

🛠️ Development

  • Build Output: Object files are stored in build/[os_name]/.
  • Clean Build: make clean
  • Dependencies Check: make check_deps

📄 License

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors