Programs in Tree-Based Syntax
WIDE supports editing, compilation and debugging capabilities of programs in list notation,
using the Tree-Based concrete syntax defined in the textbooks.
The following
table gived a detailed description.
Program:
( (var i) C (var j) )
Commands C, D:
(; C D)
(while E C)
(:= (var i)
E)
(if E C D)
Expressions E, F:
(var i)
(quote d)
(cons E F)
(hd E)
(tl E)
Remarks: i, j stand for numerals, which can be typed in
decimal, but are always represented in unary (the form niln). The program must be typed in list notation
as above, for example (var i) and not in tree notation (var.(i.nil)) despite the fact that theoretically it is the same.