view tests/agcl/parsifal/pex1.syn @ 15:f5acaf0c8a29

Don't cast through "volatile int". Causes a gcc warning nowadays. XXX: should put something else back here to frighten the optimizer
author David A. Holland
date Tue, 31 May 2022 01:00:55 -0400
parents 13d2b8934445
children
line wrap: on
line source

[
  case sensitive = off
  disregard white space
]

space = ' ' + '\t'

white space
 -> space
 -> comment

while head
 -> "!while"                =whileConditionPointer= PCB.pointer;

while terminator
 -> "!endw" | "!endwhile"

while body text
 -> [~eof - space, ~eof?...], while body terminator   =whileCompletePointer = PCB.pointer, PCB.pointer = whileConditionPointer;

true while condition, false while condition
 -> expression:x          ={
                             if (x) return;
                             CHANGE_REDUCTION(true_while_condition);
                             PCB.pointer = whileCompletePointer;
                           }

while loop $
 -> while head, while body text, while iteration?..., false while condition

while iteration
 -> true while condition, while body, while body terminator =PCB.pointer = whileConditionPointer;