Noassign
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Noassign is a language that (as it should be clear from the name) does not have the assignment operator. In spite of that, it has variables but not a stack or a queue.
General syntax
The Noassign program is a set of lines. Each line is constructed such a way:
[headings of loops]operator[operand1][operand2];operator[operand1][operand2];operator[operand1][operand2];...;
Loops
A heading of a loop consists of the maximum value of the loop variable and the name of this variable. For example, 10i means that the line will be implemented 10 times and the variable i will have values from 0 to 9.
If a line has several headings of loops it means that the loops are inserted into each other. For example, 10i20j is approximately equivalent to C code for(i=0;i<10;i++)for(j=0;j<20;j++).
Operators and their operands
Operators
+, -, *, /, % – arythmetic operators (addition, subtraction, multiplication, division and finding of remainder). Each of them has two operands going in the same order as in mathematic formulas.
&, | – bitwise AND and OR respectively, 2 operands.
! – bitwise NOT, 1 operand.
<, =, > – comparison, 2 operands.
: – output, 1 operand.
^ – one-way transfer inside the line, 1 operand (the number of the operator).
_^ – one-way transfer, 1 operand (the number of the line).
? – conditional transfer inside the line, 2 operands: the 1st one is the condition, the 2nd one – the number of the operator.
_? – conditional transfer, 2 operands: the 1st one is the condition, the 2nd one – the number of the line.
_ – repetition, returns its operand.
" – string operator.