HappyFakeBoulder / -

Complete compiler toolchain for the esolang Юᓂ곧⎔

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ю⎔⎔

A complete compiler toolchain for the esolang Юᓂ곧⎔, written in bash and sed. Requires gcc.

The computer programming language Юᓂ곧⎔ (pronounced similar to 'Unicode', but incorrectly) was proposed by David Madore in a 2004 blog post, by listing its syntax rules and providing a hello-world example program.

Ю⎔⎔, pronunced Yu-?-?, which is an acronym for "Юᓂ곧⎔ SOFTWARE-FUNCTION SOFTWARE-FUNCTIONER", is a functioning tool to compile code written in Юᓂ곧⎔. You can now compile and run the original Юᓂ곧⎔ example hello-world using this tool.

Not all the specified syntax rules are implemented yet in this early version. Writing further code in Юᓂ곧⎔ will most likely require expanding the language.

Work is in progress on adding further support for the canonical syntax, and fleshing out further function names and practical details. Hopefully this small start will see an increase in the amount of software written in Юᓂ곧⎔!

Requirements

  • bash
  • sed
  • gcc
  • good unicode support (display & input)
  • a particular sense of humour

Name

The name of this tool is Ю⎔⎔

Github could not handle that, which is why the repo name is -. To avoid similar problems on local systems, the handy utility uname is included which outputs the tool's name.

./uname
=> Ю⎔⎔

uname has a verbose mode too. Option -v. Don't confuse it with the system uname.

Usage

To compile the included hello-world example:

./Ю⎔⎔  examples/hello-world.⎔ -o hello-world

OR (wimpmode)

./$(./uname) examples/hello-world.$(./uname|cut -c3) -o hello-world

OR (wimpmode) these are literal ASCII ? question marks

./??? examples/hello-world.? -o hello-word
./??? examples/??-?.? -o 99-beers

Which will create an executable for your system named hello-world / 99-beers / whatever you choose.

You can run the compiled executable as normal with

./hello-world

It actually compiles the code!

About

Complete compiler toolchain for the esolang Юᓂ곧⎔


Languages

Language:Shell 100.0%