AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
- The title of this article is not correct because of technical limitations. The correct title is actually AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA is an stack-based esoteric programming language made by User:SzszszszszszszsZ in which the only letter is the letter "A" (except strings and variable names). Commands are disambiguated with fonts. The number of A's in the title corresponds to the number of instructions this esolang has (excluding extensions).
Instructions
Newlines separate commands, as most programming languages do.
Stack
Font | Command | Represented as |
---|---|---|
Arial | Pushes / enqueues the argument next to the A onto the stack / queue. |
A [argument to push] |
Calibri | Pops / Dequeues the top value from the stack / queue. | A |
Roboto | Duplicates the top of the stack. | A |
Helvetica | Swaps the top two values of the stack. | A |
Lato | Reverses whole stack. | A |
I/O
Font | Command | Represented as |
---|---|---|
Verdana | Pops the top value of the stack and prints it, without a newline. The top value of the stack must be a string for it to be printed. A newline is represented as \A. Unlike most programming languages, the last \A goes outside the quotes. | A |
Tahoma | Asks user for input and pushes it onto the stack as a string. | A |
Control Flow
Font | Command | Represented as |
---|---|---|
Times New Roman | Starts and ends an if block. | A [condition] A code here A |
Georgia | An "else" in the if block. | A [condition] A code here A A more code here A |
Garamond | Starts and ends a while block. | A [condition] A code here A |
Segoe UI | For loop. Start and end must be integers. | A [start] [end] A code here A |
Book Antiqua | Break out of loop. Causes an error when not in a loop. | A |
Palatino | Halts program. Not having this causes an error. | A |
Operations
Numbers in AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA are represented with a string of A
's. One can use any font, but it's recommended to use the default font (Arial or Calibri).
1 = A
2 = AA
3 = AAA
5 = AAAAA
-2 = -AA
3.14 = AAA.A.AAAA
1.23456789e+20 = A.AA.AAA.AAAA.AAAAA.AAAAAA.AAAAAAA.AAAAAAAA.AAAAAAAAA.A+AAAAAAAAAAAAAAAAAAAA
0 = -
Font | Command | Represented as |
---|---|---|
Montserrat | Addition. Can only be used with integers or floating-point numbers. | A [num 1] [num 2] |
Consolas | Subtraction. Same restrictions as A. | A [num 1] [num 2] |
Courier New | Multiplication. Same restrictions as A. | A [num 1] [num 2] |
Lucida Console | Division. Division by zero causes an error. Same restrictions as A. | A [num 1] [num 2] |
Monaco | Modulo. Modulo by zero also causes an error. Same restrictions as A. | A [num 1] [num 2] |
Ubuntu | Tests for equality. Can only be used by replacing [condition]. Trying to push the result directly causes an error. |
A [expression 1] [expression 2] |
Gabriola | Greater than. Same restrictions as A. | A [exp 1] [exp 2] |
Inter | Gets top of stack. | A |
Conversions
Font | Command | Represented as |
---|---|---|
Poppins | Converts to integer. | A [argument] |
Baskerville | Converts to string. | A [argument] |
Agency FB | Converts to a floating-point number. | A [argument] |
Variables
Font | Command | Represented as |
---|---|---|
Comic Sans MS | Declares a variable. | A [variable name] |
Brush Script MT | Assigns to a variable. | A [variable name] [expression] |
Lucida Handwriting | Gets a variable's value. | A [variable name] |
Other
Font | Command | Represented as |
---|---|---|
Impact | Comment | A [whatever] |
Cambria | LaTeX formula. It then gets evaluated, and the result gets pushed onto stack. When there is an error in the expression, an error occurs. (duh) |
A [formula] |
Noto Serif | Toggle queue mode. | A |
Croscore font extensions
ChromeOS has different fonts for fallback defaults. They are normally not used in AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA, since most computers use Windows. These are the instructions:
Font | Command | Represented as |
---|---|---|
Arimo | Roll. Works like the roll in Piet. | A [num 1] [num 2] |
Tinos | Switch-case. | A A A code here AA A more code here AAA A more code here ... AAAA...AAAA A when all else has failed A |
Cousine | Exponentiation. | A [num 1] [num 2] |
Caladea | Random number. Start must < end. | A [start] [end] |
Carlito is the same as Lato.
Support for custom fonts
There are numerous fonts to choose from that correspond to various commands. You can mod the language to, say, Wingdings 2 to do the crazy operation in Malbolge on the 3rd item on the stack
IDEs
Here is a list of IDEs.
Just so you know, you should install the fonts first on your device if you haven't already.
Example Code
Hello World
A "Hello, World!"\A
A
A
Cat program
A ( A A A )
A
A
A
A
A+B Problem
A
A a
A a ( A A )
A
A b
A b ( A A )
A result
A result ( A ( A a ) ( A b ) )
A ( A ( A result ) )
A
A
Truth-machine
A
A ( A A - )
A
A
A
A A A A
A A
A
A
A