staircasemaker
staircasemaker is the sequel to laddermaker (staircasemaker is often referred to as laddermaker++).
Instead of its syntax being in a nice vertical pattern like its predecessor, it is typed in a slanted pattern to mimic that of a staircase.
# % H e l l o @ w o r l d ? ! & =
Instructions
In addition to including all Latin characters [a-z A-Z][0-9]
in its "valid vocabulary", it also has extra symbols that give instructions on what to do.
Character | Description |
---|---|
#
|
Begin program. |
=
|
End program. |
@
|
Create whitespace. |
%
|
Begin printing a message. |
&
|
End the printing. |
$
|
Take a user input. |
~
|
Print user input. |
!
|
Store user input to cell. |
>
|
Navigate to right cell. |
<
|
Navigate to left cell. |
?
|
Escape next character. |
The characteristic operation of staircasemaker in different modes during a program's execution imposes a conditional species of validation for its commands. The following UML state diagram shall serve in the elucidation of the operative stipulations in dependency upon the respective state:
Example Programs
What's your name?
# % W h a t ' s @ y o u r @ n a m e ? ? @ & $ ! % Y o u r @ n a m e @ i s @ ~ . & =
"This is the world we live in now. Can't go two steps without missing the third... then you reach the fourth, then the seventh, then the twenty-second..." ~Anonymous
First and Last Name Input
This example demonstrates the conjunction of inputs and the tape cell by querying the first name and the family name as separate entities, storing the same in two distinct tape cells, and printing a message encompassing these inputs.
# % F i r s t @ n a m e : @ & $ ! > % L a s t @ n a m e : @ & $ ! < % H e l l o , @ ~ @ & > % ~ . & =
Interpreter
- Common Lisp implementation of the staircasemaker programming language.