诗(islptng)
Jump to navigation
Jump to search
There are already two esolangs with this name, but THEY ARE ALL BF DERIVATIVES! I want to make a difference!
- This is still a work in progress. It may be changed in the future.
This esolang, created by islptng, is a bit different from BF.
The pointer takes a box with it. Items are unbounded.
We're operating on a tape of stacks, not cells that can store only 1 value!
The box initializes as 0, and the stacks are empty.
Minimal form
Command | Meaning |
---|---|
> |
Pointer move right |
< |
Pointer move left |
(123) |
Set the box to that number |
_ |
Push the box to the stack |
^ |
Pop the stack to the box |
+ |
Increment TOS by the box |
- |
Negate the box |
[ ... ] |
Unconditional infinite loop |
? ... * ... ! |
If-Else block. Condition: box is zero. Else (* ) is mandatory.
|
, . |
Get user in/output in character, stored in the box. |
; : |
Get user in/output in number, stored in the box. |
# |
Break |
@ |
Continue |
Syntax of 诗
Commands are separated by periods and question/exclamation marks. Note that if you quote a text, even if there are periods in it, it still counts as one command.
Commas are ignored. The command depends on the number of Chinese characters.
Minimal | Length | Example |
---|---|---|
number | 1 <tokens> 11 | 看! [number] 盒子将会被赋值为这个数 |
^ |
2 | 弹出 |
_ |
3 | 压下去 |
> |
4 1 | 往哪移动? 右! |
< |
4 2 | 往哪移动? 左边! |
+ |
4 3 | 这是什么? 加起来! |
- |
4 4 | 这是什么? 取相反数! |
[ ... ] |
5 1 <tokens> 6 | 无限循环吗? 对! [code] 无限循环结束! |
? ... * ... ! |
5 2 <tokens> 7 <tokens> 6 | 如果这数是零 那么 [code] 否则如果不是零 [code] 好的都结束了! |
# |
5 3 | 这无限循环... 滚出去! |
@ |
5 4 | 这无限循环... 跳过后面! |
. |
8 1 | |
, |
8 2 | |
: |
8 3 | |
; |
8 4 |
Examples
FizzBuzz
口口口 口口口口 口 口 口 口口口口口口口口口口口 口口口 口口口口 口 口 口口口口 口口口口口口口口口口口 口口口 口口口口 口 口 口口 口口口口口口口口口口口 口口口 口口口口口 口 口口 黄河流水鸣 溅溅 口 口口 口口口口口口口口口口口 口口口 口 口口口口口口口 口口口口口口口口口口 口口口口口口口口口口口 口口口口口口口口 口 口 口 口口口口口口口口口口 口口口口口 口口口口口口口口口口口 口口口口口口口口 口 口 口 口口 口口 口口口口口口口口口口口 口口口口口口口口 口 口口口口口口口口 口 口口口口 口口 口口口口 口口 口口口口 口口 口口 口 口 口口口口口口口口口口口 口口口 口口口口 口 口口口口 口 口口口口口口口 口口口 口 口 口口口口口口口口口口口 口口口口 口口口口 口口口口 口口口 口口口口 口口 口口口口口口 口口 燕山胡骑鸣 啾啾 口 口口口口 口口口口口口口口口口口 口口口 口 口口口口口口 口口口口口口 口口口口口口口口口口口 口口口口口口口口 口 口 口 口 口口口口口口口 口口口口口口口口口口口 口口口口口口口口 口 口 口 口口 口口 口口口口口口口口口口口 口口口口口口口口 口 口口口口口口口口 口 口口口口 口口 口口口口 口口 口口 口 口 口口口口口口口口口口口 口口口 口口口口口口口 口口口 口 口 口口口口口口口口口口口 口口口口 口口口口 口口口口 口口口 口口口口 口口 口口口口 口口 口口口口口口 口口 口口口口口 口口 口口口 口口口口 口 口口 口口口口口口口口 口口口 口口口 口口口口口口口 口 口口口口口口口口口口 口口口口口口口口口口口 口口口 口口口口 口 口 口 口口口口口口口口口口 口口口口口口口口口口口 口口口口口口口口 口 口口口口口口 口 口 口口口口口口口口口口口 口口口口 口口口 口口口口 口 口口口口 口 口口口口口口