Wat is Beatnik?
Beatnik is een esoterische programmeertaal die is gemaakt in 2001 door Cliff L. Biffle.
Een Beatnik programma bestaat uit woorden uit het Duits of Engels. In Beatnik zijn er geen vaste woorden of regels voor sleutelwoorden en functies. Het maakt niet uit of een woord echt bestaat in de taal. Het is ook niet nodig dat de tekst logisch of zinvol is.
Elk woord krijgt punten volgens de regels van Scrabble en krijgt dan een functie op basis van die punten. De computer verwerkt de woorden één voor één.
Leestekens, spaties en nieuwe regels worden genegeerd.
Sommige functies bestaan uit één woord, andere hebben twee woorden nodig – eerst het woord voor de functie, dan het woord voor het argument.
Met GC Wizard kun je Beatnik programma’s lezen en uitvoeren, en ook een basisstructuur maken voor een nieuw programma. Er zijn 21 verschillende Scrabble sets beschikbaar, ook in andere talen.
Lees meer over Beatnik op cliffle.com (en)
Hoe werkt Beatnik?
Alle rekenkundige bewerkingen in Beatnik worden uitgevoerd op een stapel (stack). Het enige gegevenstype van Beatnik is een ondertekende 8-bits waarde, wat betekent dat alleen waarden van 0 tot 255 kunnen worden voorgesteld.
Scrabble waarden
Waarde | DE scrabble | EN scrabble | NL scrabble |
---|---|---|---|
1 | D, A, I, R, T, U, S, N, E | E, A, I, O, N, R, T, L, S, U | A, E, I, N, O |
2 | G, L, O, H | D, G | D, R, S, T |
3 | W, Z, B, M | B, C, M, P | B, G, K, L, M, P |
4 | P, C, F, K | F, H, V, W, Y | F, H, J, U, V, Z |
5 | K | C, W | |
6 | J, V, Ä, Ü | ||
8 | X, Ö | J, X | X, Y |
10 | Q, Y | Q, Z | Q |
Beatnik commando’s
Woordwaarde | Pseudo-code | Omschrijving |
---|---|---|
< 5 | noop | Optioneel: de interpreter kan misschien spotten. |
5, n | push n | Zet het volgende woord op de stack. |
6 | pop | Haalt de bovenste waarde van de stack. |
7 | add | Neemt twee waarden, telt ze op en zet het resultaat op de stack. |
8 | input | Leest een invoer en zet de tekenwaarde op de stack. |
9 | output | Haalt de bovenste waarde van de stack en geeft het bijbehorende teken weer. |
10 | sub | Neemt twee waarden, trekt de eerste waarde af van de tweede en zet het resultaat op de stack. |
11 | swap | Verwisselt de twee bovenste waarden van de stack. |
12 | double | Haalt de bovenste waarde van de stack en zet deze twee keer op de stack. |
13, n | jump z +n | Haalt de bovenste waarde van de stack en springt n plaatsen vooruit als de waarde 0 is. |
14, n | jump nz +n | Haalt de bovenste waarde van de stack en springt n plaatsen vooruit als de waarde niet 0 is. |
15, n | jump z -n | Haalt de bovenste waarde van de stack en springt n plaatsen achteruit als de waarde gelijk is aan 0. |
16, n | jump nz -n | Haalt de bovenste waarde van de stack en springt n plaatsen achteruit als de waarde niet 0 is. |
17 | halt | Beëindigt het programma. |
18 – 23 | noop | Optioneel: de interpreter kan misschien spotten als hij in een slechte bui is. |
> 23 | noop | De interpreter applaudisseert de programmeur voor de hoge score. |
De functie Beatnik
Bovenin het scherm staat een schuifknop met de opties Vertaler en Generator.
Vertaler
Als je ‘vertaler’ kiest verschijnen er in het Scrabble Set gedeelte een keuzemenu en twee tekstvelden.
In het keuzemenu kies je welk scrabble alfabet er gebruikt wordt.
Daaronder staat een tekstveld waar je het programma of de broncode invoert. Dit zijn woorden, waarvan de scrabble waarde overeenkomt met de getallen waarmee het programma wordt uitgevoerd of de cijferreeks zelf waarmee het programma wordt uitgevoerd.
In het voorbeeld staat in Invoer de gebruikte cijferreeks voor het maken van de tekst GC Wizard. Het is niet altijd nodig om een tekst in Invoer te plaatsen, alleen als daar in de programma code om wordt gevraagd.
Zowel de cijferreeks als de tekst zullen in Uitvoer hetzelfde resultaat geven.
Onder Uitvoer komt het resultaat te staan wat GC Wizard na uitvoer van het programma of de broncode als resultaat krijgt.
Onder de Uitvoer staat een knop Debuggen. Als je deze activeert verschijnen de kolommen Assembler en Mnemonic. In de Assembler zie je de code en in Mnemonic zieje de pseudo code.
Als je de knop Toon Scrabble activeert zal er ook een kolom verschijnen met de scrabble waarden van ieder woord.
Generator
Als je ‘generator’ kiest verschijnt er een tekstveld. Hier plaats je de tekst, die je wilt versleutelen naar een Beatnik programma.
Onder Uitvoer komt de cijferreeks te staan, waarmee je het Beatnikprogramma kunt draaien.
In de Uitvoer staat ook een uitleg wat je moet doen om de cijferreeks om te zetten naar een tekst.
Onder Uitvoer zie je de kolommen Assembler en Mnemonic. In de Assembler zie je de code en in Mnemonic zieje de pseudo code.