Ook# .NET Compiler

Overview

Specially for orang-utans an Ook# .NET Compiler v1.0 has been developed. The syntax only contains one word, namely Ook, but pronounced in different tones and emotions it can have a different effect. Quite some effort went into making sure the word "monkey" isn't mentioned anywhere in the sources.

Ook# is not for the faint of heart, so if you haven't progressed much beyond basic banana-fetching you might want to try out learning Brainf*ck first.

Any similarities with the Ook! programming language are purely intended. For more information on Ook! see the original syntax design at Ook!.

Download

The Ook# .NET Compiler is released under the BSD license, and is available for download:

Sample programs

  • hello.ook : the obligatory Hello World! example
  • rev.ook : reads in a file and prints it out in reversed order
  • prime.ook : prints prime numbers
  • pi.ook : prints the number Pi
  • fib.ook : prints the Fibonacci numbers
  • quine.ook : prints itself (under construction)
  • Converting Ook! to Ook#

  • cat.ook : reads in an Ook! file and prints it out in Ook# format (yeah, yeah, it looks the same, but it's all in the intonation ... )
  • Brainf*ck to Ook# converter

  • Brainf*ck to Ook# in Brainf*ck : if the Ook# language is a bit hard for you to grasp, try the converter written in Brainf*ck.
  • Brainf*ck to Ook# in Ook# : Ooook! (English translation: or, if you're an orang-utan, and you find the Brainf*ck sources a bit too brain f*cked as only disturbed humans are able to create, try the converter written in Ook# which is much simpler to understand).
  • Language Specification

    An Ook# program uses a data structure that is an array of integer values, initially all set to zero. It also has a pointer which initially points to the beginning of the array. It has eight instructions, each represented by apish expressions.
        Ook. Ook?   Increment the pointer 
        Ook? Ook.   Decrement the pointer 
        Ook. Ook.   Increment the value at the pointer 
        Ook! Ook!   Decrement the value at the pointer 
        Ook! Ook.   Write the value at the pointer to standard output 
        Ook. Ook!   Read a value from standard input and store it at the pointer 
        Ook! Ook?   If the value at the pointer is zero, jump past the matching Ook? Ook! 
        Ook? Ook!   Jump to the matching Ook! Ook? 
    

    Coming soon...

    Coming soon is the book titled "Ook# for dummies".
    © 2002 BlueSorcerer.Net
    mailto: Lawrence Pit
    KPI Library, Key Performance Indicator KPI Key Performance Indicator Integrated IT Management ITSM Great Lakes Holidays OpenWiki Lawrence Pit