C@++

From Esolang
Jump to navigation Jump to search

C@++ is an extension of C@ by User:BoundedBeans, made for simple text algorithms.

Commands

: duplicate
/ swap
$ discard
. print
# rot
% over
& tuck
] Makes the next command operate on the stack as groups of two.
  This can be stacked, for example, ]: is like forth's 2DUP, while ]]:
  would be like a 3DUP
@ Pop digits to make a base-10 number n until the top of the stack is not a digit,
  roll the top element n places down
~c Push the character c to the stack, ignoring its meaning
[ push the stack depth to the stack as decimal digits
Anything else: push to the stack.

Loops are also supported to run as long as the top of the stack is not a certain character. This syntax is XCLX, where L is the loop contents, C is the character to check against, and X's are the loop brackets. Loop brackets with inside depth of n are encoded as Unicode character #(8239 + n), and cannot be greater than #8286, so the loop brackets, from outermost to innermost, are:

‰ ‱ ′ ″ ‴ ‵ ‶ ‷ ‸ ‹ › ※ ‼ ‽ ‾ ‿ ⁀ ⁁ ⁂ ⁃ ⁄ ⁅ ⁆ ⁇ ⁈ ⁉ ⁊ ⁋ ⁌ ⁍ ⁎ ⁏ ⁐ ⁑ ⁒ ⁓ ⁔ ⁕ ⁖ ⁗ ⁘ ⁙ ⁚ ⁛ ⁜ ⁝ ⁞