Up | Prev | PrevTail | Tail |
<function> ::= ftype PROCEDURE id (<id list>); <statement>; ![]() |
(PUTD | (QUOTE id) |
(QUOTE ftype) |
(QUOTE (LAMBDA (<id list>) <statement>))) |
<id list> ::= id ![]() |
id, <id list> ![]() |
![]() |
<statement> ::= <expression> ![]() |
<proper statement> ![]() |
<proper statement> ::= |
<assignment statement> ![]() |
<conditional statement> ![]() |
<while statement> ![]() |
<compound statement> ![]() |
<assignment statement> ::= id := <expression> ![]() |
(SETQ id <expression>) |
<conditional statement> ::= |
IF <expression> THEN <statement1> ELSE <statement2> ![]() |
(COND (<expression> <statement1>)(T <statement2>)) ∣ |
IF <expression> THEN <statement> ![]() |
(COND (<expression> <statement>)) |
<while statement> ::= WHILE <expression> DO <statement> ![]() |
(PROG NIL |
LBL | (COND ((NULL <expression>) (RETURN NIL))) |
<statement> |
(GO LBL)) |
<compound statement> ::= |
BEGIN SCALAR <id list>; <program list> END ![]() |
(PROG (<id list>) <program list>) ∣ |
BEGIN <program list> END ![]() |
(PROG NIL <program list>) ∣ |
<< <statement list> >> ![]() |
<program list> ::= <full statement> ![]() |
<full statement> <program list> ![]() |
<full statement> <program list> |
<full statement> ::= <statement> ![]() ![]() |
<statement list> ::= <statement> ![]() |
<statement>; <statement list> ![]() |
<statement> <statement list> |
<expression> ::= |
<expression1> . <expression2> ![]() |
(CONS <expression1> <expression2> ∣ |
<expression1> = <expression2> ![]() |
(EQUAL <expression1> <expression2>) ∣ |
<expression1> EQ <expression2> ![]() |
(EQ <expression1> <expression2>) ∣ |
’<expression> ![]() |
function <expression> ![]() |
function(<argument list>) ![]() |
number ![]() |
id ![]() |
<argument list> ::= () ![]() |
<expression> ![]() |
<expression>, <argument list> ![]() |
Notice the three infix operators . EQ and = which are translated into calls on CONS, EQ, and EQUAL respectively. Note also that a call on a function which has no formal parameters must have () as an argument list. The QUOTE function is abbreviated by ’.
Up | Prev | PrevTail | Front |