Go backward to The Programming Language Core Go up to Top Go forward to Abstract Syntax |
A while loop language
C in Command
E in Expression
L in Location
N in Numeral
C ::= L:=E | C1;C2 | if E then C1
else C2 fi
| while E do C
od | skip
E ::= N | @L | E1+E2 | not E
| E1=E2
L ::= loci, if i>0
N ::= n, if n in Integer
Example
loc1 := 0; while @loc1=0 do loc2:=@loc1+1 od