Skip to content
/ abcode Public

A language for many and a specification as a bridge. Mitigating the Software Tower of Babel to a great degree.

License

Notifications You must be signed in to change notification settings

kaesar/abcode

Repository files navigation

ABCode Programming Language

Mitigating the Software Tower of Babel to a great degree
Download... | Video

Quick Start

Just download and uncompress according to your system and run something like...

./abcodec -s abc/hello.abc

abcodec is the compiler and abc/hello.abc represent your source code with ABCode.
Go to ABCode topic in my blog.

Supported Targets

Target Language Extension
1 NodeJS .js
2 Deno .ts
3 WebAssembly .ts
4 Kotlin .kt
5 Java .java
6 Python .py
7 Go .go
8 PHP .php
9 C# .cs
0 Rust .rs

Project Structure

abcode/
├── abcodec/            # CLI Compiler (abcodec)
│   ├── src/main.rs     # Main compiler source
│   ├── Cargo.toml      # Compiler dependencies
│   └── build.sh        # Cross-compilation script
├── abc/                # ABCode examples
├── abcodejs/           # JavaScript transpilers
├── abcodelib/          # ABCode as library
├── abcodeweb/          # Web interface (like playground)
├── abcoderun/          # ABCode Runtime Environment for Scripts
├── abcodefun/          # ABCode Web Runtime for Functions
└── abcodeext/          # ABCode extensions for Editors

Components

  • abcodec: Command-line compiler for ABCode under Rust
  • abcodejs: JavaScript transpilers (used by all components via BoaJS)
  • abcodelib: ABCode compilation as Rust library
  • abcodeweb: Web UI for online compilation and preview (like playground)
  • abcoderun: ABCode Runtime Environment for Scripts
  • abcodefun: ABCode Web Runtime for Functions execution platform (AWS Lambda-style)
  • abcodeext: ABCode extensions for Editors (VSCode, Intellij, Vim, Zed, Lapce, Sublime, ACE.js)

Usage

# CLI Compiler
cd abcodec && cargo build --release
./target/release/abcodec -s ../abc/hello.abc -t 1

# Web Interface
cd abcodeweb && cargo run
# Visit http://localhost:3000

# Serverless Functions
cd abcodefun && cargo run
# POST http://localhost:3001/invoke

# Runtime
cd abcoderun && cargo run example.abc

# Library
cd abcodelib && cargo build

© 2021-2026 by César Andres Arcila Buitrago

About

A language for many and a specification as a bridge. Mitigating the Software Tower of Babel to a great degree.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published