No description
  • C 95.5%
  • CMake 4.5%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2022-11-13 19:11:22 +01:00
cmd fix(cmd): fix usage of strerror() on enum iuab_error 2022-10-16 20:43:07 +02:00
docs all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
examples refactor(examples): replace owned std::FILE * with std::unique_ptr in i-use-arch-btwxx 2022-11-13 19:11:22 +01:00
lib style(lib): add trailing comma after last constant of enum iuab_token_type 2022-11-13 19:11:17 +01:00
.clang-format all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
.editorconfig all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
.gitattributes all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
.gitignore all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
CMakeLists.txt feat: add JIT compiler for x86-64 2022-09-06 17:59:43 +02:00
LICENSE.md all!: rewrite everything, again 2022-09-06 16:57:43 +02:00
README.md feat: add JIT compiler for x86-64 2022-09-06 17:59:43 +02:00

I use Arch btw

"I use Arch btw" but it's a Turing-complete programming language.

Introduction

I use Arch btw is an esoteric programming language based on Brainfuck in which the commands are the following keywords:

i, use, arch, linux, btw, by, the, way, gentoo.

See the language specification for more information.

This repository contains a C/C++ library implementing I use Arch btw and a dependent command-line interpreter.

Getting Started

Prerequisites

  • CMake >= 3.23
  • a C99 and C++17 compiler toolchain supported by CMake and providing POSIX unistd.h, mmap(), MAP_ANON, and defining __x86_64__ when targeting x86-64

Building

$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON ..
$ cmake --build .

Installation

# cmake --install .

Usage

Command-line interpreter

$ i-use-arch-btw <source file>

Try some of the example I use Arch btw programs as source files.

For details:

$ i-use-arch-btw -h

C/C++ library

For documentation of the public API, see the public headers.

For example usage, see the command-line interpreter and example libiuab programs.

License

This software is licensed under the GNU General Public License, version 3.