Jump to content

Execute Brain****/ALGOL 68: Difference between revisions

Allow for nested []
(I can read it, but I don't know the language enough to fix it.)
(Allow for nested [])
Line 1:
{{incorrect}}
The below Hello World fails.
<pre>
>++++++++[<+++++++++>-]<.>>+>+>++>[-]+<[>[->+<<++++>]<<]>.+++++++..+++.>
>+++++++.<<<[[-]<[-]>]<+++++++++++++++.>>.+++.------.--------.>>+.>++++.
</pre>
{{implementation|Brainf***}}{{collection|RCBF}}
 
Line 38 ⟶ 32:
# [ # VOID:
IF data list[data addr] = zero THEN
FOR# newskip addrto FROMthe codeend addrof +the 1loop, WHILEallowing for nested loops #
INT br code addrlevel := new addr0;
code list[new addr] /= ABS "]"WHILE
IF code list[code addr] = ABS "["
THEN
br level +:= 1;
ELIF code list[code addr] = ABS "]"
THEN
br level -:= 1
FI;
IF br level > 0
THEN
code addr +:= 1;
TRUE
ELSE
FALSE
FI
DO SKIP OD
FI,
# ] # VOID:
IF data list[data addr] /= zero THEN
FOR# newskip addrto FROMthe codestart addrof -the 1loop, BYallowing -1for WHILEnested loops #
INT br code addrlevel := new addr0;
code list[new addr] /= ABS "["WHILE
IF code list[code addr] = ABS "["
THEN
br level +:= 1
ELIF code list[code addr] = ABS "]"
THEN
br level -:= 1
FI;
code addr -:= 1;
br level < 0
DO SKIP OD
FI
3,038

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.