Crates.io | selya |
lib.rs | selya |
version | 0.1.0 |
source | src |
created_at | 2023-06-24 11:19:56.503706 |
updated_at | 2023-06-24 11:19:56.503706 |
description | SELYA - Specific Language for Young and Adult :D |
homepage | |
repository | https://github.com/Crinax/selya-rs.git |
max_upload_size | |
id | 898912 |
size | 31,796 |
SELYA (Special Esoteric Language for Young and Adult) -- it is esoteric language for everyone based on hex :D
cargo install selya --features clap
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 <--
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):
zen
-- write zen of the Selya0x0
and lower than 0xFFFF
, another value cannot be recognized by parserAll 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 than 0xFFFF
;Memory::OutOfRange
-- appear when you try shifts on the boundaries of memory;Interpreter::UsingBinaryAsUnary
-- after binary operator ([+]
and [^]
) there is no number.