view tests/agcl/parsifal/pex1.syn @ 20:bb115deb6fb2

Improve agfiles rule. (1) It didn't depend on $(AGCL) and it absolutely should have. (2) allow AGFORCE=1 to make it rebuild whether or not it looks out of date. (3) Document this.
author David A. Holland
date Mon, 13 Jun 2022 00:02:15 -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;