Skip to content
Complete compiler toolchain for the esolang Юᓂ곧⎔
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
README.md
uname
Юlint
Ю⎔⎔

README.md

Ю⎔⎔

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!

You can’t perform that action at this time.