Sigil
Jump to navigation
Jump to search
| Paradigm(s) | imperative |
|---|---|
| Designed by | TuxCrafting |
| Appeared in | 2016 |
| Memory system | stack-based and queue-based |
| Dimensions | one-dimensional |
| Computational class | Turing complete |
| Major implementations | Original |
| File extension(s) | .sigil |
Sigil is an esoteric programing language with only 5 meaningful characters: #$%().
Language overview
A sigil program can be described with the following EBNF syntax:
main = command;
command = number ('(' command ')')*;
number = /[#$%]*/;
The Sigil VM also have a stack and a queue.
Number system
The number system used by Sigil is a variant of base 3.
To convert a Sigil number to a decimal number:
- Convert
#to0,$to1and%to2 - Convert the number to decimal from base 3
- Add 1 if the original number is not empty
Commands
- NOP #(x)(y) ADD $(x) NEGATE %(x) PUSH $# POP $$(x) ENQUEUE $% DEQUEUE %#(c)(x)(y) IF %$(c)(b) WHILE %%(n) NUMBER $##(c) PRINT CHARACTER $#$ INPUT CHARACTER $#%(n) PRINT NUMBER $$# INPUT NUMBER $$$(a)(b)...(c) CHAIN