-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.txt
114 lines (111 loc) · 1.16 KB
/
test.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Source Program:
const m = 7, n = 85;
var i,x,y,z,q,r;
procedure mult;
var a, b;
{
a := x; b := y; z := 0;
while b > 0 do
{
if odd x then z := z+a;
a := 2*a;
b := b/2;
}
};
{
x := m;
y := n;
call mult;
}.
Lexeme Table:
lexeme token type
const 28
m 2
= 9
7 3
, 17
n 2
= 9
85 3
; 18
var 29
i 2
, 17
x 2
, 17
y 2
, 17
z 2
, 17
q 2
, 17
r 2
; 18
procedure 30
mult 2
; 18
var 29
a 2
, 17
b 2
; 18
{ 21
a 2
:= 20
x 2
; 18
b 2
:= 20
y 2
; 18
z 2
:= 20
0 3
; 18
while 25
b 2
> 13
0 3
do 26
{ 21
if 23
odd 8
x 2
then 24
z 2
:= 20
z 2
+ 4
a 2
; 18
a 2
:= 20
2 3
* 6
a 2
; 18
b 2
:= 20
b 2
/ 7
2 3
; 18
} 22
} 22
; 18
{ 21
x 2
:= 20
m 2
; 18
y 2
:= 20
n 2
; 18
call 27
mult 2
; 18
} 22
. 19
Lexeme List:
28 2 m 9 3 7 17 2 n 9 3 85 18 29 2 i 17 2 x 17 2 y 17 2 z 17 2 q 17 2 r 18 30 2 mult 18 29 2 a 17 2 b 18 21 2 a 20 2 x 18 2 b 20 2 y 18 2 z 20 3 0 18 25 2 b 13 3 0 26 21 23 8 2 x 24 2 z 20 2 z 4 2 a 18 2 a 20 3 2 6 2 a 18 2 b 20 2 b 7 3 2 18 22 22 18 21 2 x 20 2 m 18 2 y 20 2 n 18 27 2 mult 18 22 19