1 unstable release
0.1.0 | Jun 24, 2023 |
---|
#1122 in Programming languages
22KB
588 lines
Selya
SELYA (Special Esoteric Language for Young and Adult) -- it is esoteric language for everyone based on hex :D
Installation
cargo install selya --features clap
Syntax
So, probably, all of you already know, that in most programming languages such string as 0xA2
-- is it hexadecimal number
Well, Selya use it as often as it can :D
Every each hexadecimal number that is used you, is written to corresponding cell.
Default the carriage installed to first position, but you can change it with operator -->
or <--
Operators
It is strange, that I begin this chapter after two operators description, but nevertheless
So, Selya has next operators:
-->
and<--
-- shifts carriage of memory in the direction of the arrow;[+]
-- add the next value to the current cell (if cell is overflowed;[^]
-- addition modulo 2 of the next value with the current value in the cell;[>]
and[<]
-- rotate memory in the specified direction;
In addition to Selya operators, it also has commands (not released):
- I don't wanna talk about it, try to find it by yourself :D
zen
-- write zen of the Selya
Rules
- First value that you write -- memory size. Memory size can be greater or equal
0x0
and lower than0xFFFF
, another value cannot be recognized by parser - You can get the satanic power by 6 words :D
Errors
All the errors have the same kind as [Selya::Pipeline::{kind}]: {description}
. Possible kinds of errors:
IoError
-- selya interpreter cannot read your file;ParserError
-- cannot parse your file. It seems when you for examples write more than 4 digits in the number;Memory::Overflow
-- in the cell were written number more than0xFFFF
;Memory::OutOfRange
-- appear when you try shifts on the boundaries of memory;Interpreter::UsingBinaryAsUnary
-- after binary operator ([+]
and[^]
) there is no number.
Dependencies
~0–265KB