Solus
Jump to navigation
Jump to search
- This is still a work in progress. It may be changed in the future.
Solus is a language being developed in C++ by User:H33T33.
Solus works by reading characters one by one from a file. It will only ever hold one character at a time, meaning characters cannot work together. They can only adjust the different states of the program for the next character.
Program States and Modes
SEVERAL more modes and states will be added later.
| State/Mode | Purpose |
|---|---|
| NO | Short for "None".
Allows characters to pass regardless of the current condition. |
| BO | Short for "Boolean"
If the current character is non-zero, the next character will be allowed to pass. Otherwise, all next characters are skipped until the condition is reset. |
Characters
Any non-command characters will be stored.
| Character | Description | Example | Output |
|---|---|---|---|
$
|
Outputs the currently stored character. | a$ b$ c$
|
abc |
<
|
Infinitely moves back by one character until stopped or it reaches the start of the file. | a$<b$
|
aaaaaaaaaa... |
>
|
Infinitely moves forward by one character until stopped or it reaches the end of the file. | a$>b$
|
a |
|
|
Manual movement through the file stops when it runs into this. | a$>|b&
|
ab |
~
|
Toggles between the different "modes", as listed above. | ||
!
|
Acts as a logical operator based on the current "mode". If a condition is met while the operator is active, all characters that follow will be ignored until another ! is found.
|
BO Mode:
|
a |
@
|
Creates a goto. The name assigned to it will be the currently stored character.
|
1@
|
|
^
|
Goes to a goto by a given name.
|
1@ a$ 1^
|
aaaaaaaaaa... |
Special Characters
| Character | Description |
|---|---|
_
|
Space |
/
|
Next Line |
Hello, world!
H$e$l$$o$,$_$w$o$r$l$d$!$