projects
/
pdp8.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
9e32b926f703ec7acb6c3cd7b36fe5efd67580fd
[pdp8.git]
/
POSTFI.PS
1
PROGRAM POSTFIX(INPUT,OUTPUT);
2
3
(* CONVERSION TO POSTFIX FORM *)
4
5
VAR CH : CHAR;
6
7
PROCEDURE FIND;
8
BEGIN REPEAT READ(CH)
9
UNTIL (CH<>" ") AND NOT EOLN
10
END;
11
12
PROCEDURE EXPRESSION;
13
VAR OP : CHAR;
14
15
PROCEDURE TERM;
16
17
PROCEDURE FACTOR;
18
BEGIN IF CH="(" THEN
19
BEGIN FIND; EXPRESSION; (* CH = ) *)
20
END ELSE WRITE(CH);
21
FIND
22
END; (*FACTOR*)
23
24
BEGIN FACTOR;
25
WHILE CH="*" DO
26
BEGIN FIND; FACTOR; WRITE("*")
27
END
28
END; (*TERM*)
29
30
BEGIN TERM;
31
WHILE (CH="+")OR(CH="-") DO
32
BEGIN OP := CH; FIND; TERM; WRITE(OP)
33
END
34
END; (*EXPRESSION*)
35
36
BEGIN FIND;
37
REPEAT WRITE(" ");
38
EXPRESSION;
39
WRITELN
40
UNTIL CH="."
41
END.