?? tmp.txt
字號:
1: reserved word: int
1: ID, name= f
1: (
1: reserved word: int
1: ID, name= n
1: )
2: {
3: reserved word: int
3: ID, name= j
3: ;
4: reserved word: int
4: ID, name= p
4: =
4: NUM, val= 1
4: ;
5: reserved word: int
5: ID, name= q
5: =
5: NUM, val= 1
5: ;
6: reserved word: if
6: (
6: ID, name= n
6: ==
6: NUM, val= 0
6: &&
6: ID, name= n
6: ==
6: NUM, val= 1
6: )
7: {
8: ID, name= j
8: =
8: NUM, val= 1
8: ;
9: }
10: reserved word: while
10: (
10: ID, name= n
10: !=
10: NUM, val= 1
10: )
11: {
12: ID, name= j
12: =
12: ID, name= p
12: +
12: ID, name= q
12: ;
13: ID, name= p
13: =
13: ID, name= q
13: ;
14: ID, name= q
14: =
14: ID, name= j
14: ;
15: ID, name= n
15: --
15: ;
16: }
17: reserved word: output
17: (
17: ID, name= j
17: )
17: ;
18: reserved word: return
18: ID, name= j
18: ;
19: }
20: reserved word: void
20: ID, name= main
20: (
20: )
21: {
22: reserved word: int
22: ID, name= a
22: ;
23: reserved word: int
23: ID, name= b
23: ;
24: reserved word: int
24: ID, name= c
24: =
24: NUM, val= 8
24: ;
25: reserved word: char
25: ID, name= m
25: ;
26: reserved word: char
26: ID, name= k
26: =
26: SCHAR, val= 'k'
26: ;
27: reserved word: int
27: ID, name= r
27: ;
28: reserved word: int
28: ID, name= i
28: ;
29: reserved word: input
29: (
29: ID, name= a
29: )
29: ;
30: reserved word: input
30: (
30: ID, name= b
30: )
30: ;
31: ID, name= r
31: =
31: ID, name= a
31: +
31: ID, name= b
31: ;
32: reserved word: output
32: (
32: ID, name= r
32: )
32: ;
33: ID, name= r
33: =
33: ID, name= a
33: -
33: ID, name= b
33: ;
34: reserved word: output
34: (
34: ID, name= r
34: )
34: ;
35: ID, name= r
35: =
35: ID, name= a
35: *
35: ID, name= b
35: ;
36: reserved word: output
36: (
36: ID, name= r
36: )
36: ;
37: ID, name= r
37: =
37: ID, name= a
37: /
37: ID, name= b
37: ;
38: reserved word: output
38: (
38: ID, name= r
38: )
38: ;
39: ID, name= r
39: =
39: ID, name= a
39: %
39: ID, name= b
39: ;
40: reserved word: output
40: (
40: ID, name= r
40: )
40: ;
41: ID, name= r
41: ++
41: ;
42: reserved word: output
42: (
42: ID, name= r
42: )
42: ;
43: ID, name= r
43: --
43: ;
44: reserved word: output
44: (
44: ID, name= r
44: )
44: ;
45: reserved word: if
45: (
45: ID, name= a
45: >
45: ID, name= b
45: &&
45: ID, name= a
45: <
45: ID, name= c
45: )
46: {
47: ID, name= r
47: =
47: ID, name= a
47: ;
48: }
49: reserved word: output
49: (
49: ID, name= r
49: )
49: ;
50: ID, name= r
50: =
50: NUM, val= 0
50: ;
51: reserved word: for
51: (
51: ID, name= i
51: =
51: NUM, val= 0
51: ;
51: ID, name= i
51: <
51: NUM, val= 101
51: ;
51: ID, name= i
51: ++
51: )
52: {
53: ID, name= r
53: =
53: ID, name= r
53: +
53: ID, name= i
53: ;
54: }
55: reserved word: output
55: (
55: ID, name= r
55: )
55: ;
56: ID, name= r
56: =
56: ID, name= r
56: <<
56: NUM, val= 1
56: ;
57: reserved word: output
57: (
57: ID, name= r
57: )
57: ;
58: ID, name= r
58: =
58: NUM, val= 5
58: ;
59: ID, name= r
59: =
59: ID, name= f
59: (
59: ID, name= r
59: )
59: ;
60: reserved word: output
60: (
60: ID, name= r
60: )
60: ;
61: }
62: End_Flag: '\0'
Syntax tree:
Fun_Def name: f Return_Type: Integer
Param_Dec Param_Type: Integer
Comp_Dec
ID_Dec Var_Type: Integer
Var: j
ID_Dec Var_Type: Integer
Assign
Var: p
Num_Const: 1
ID_Dec Var_Type: Integer
Assign
Var: q
Num_Const: 1
If
Op: &&
Op: ==
Var: n
Num_Const: 0
Op: ==
Var: n
Num_Const: 1
Comp_Dec
Assign
Var: j
Num_Const: 1
While
Op: !=
Var: n
Num_Const: 1
Comp_Dec
Assign
Var: j
Op: +
Var: p
Var: q
Assign
Var: p
Var: q
Assign
Var: q
Var: j
Op: --
Var: n
Return
Var: j
Fun_Def name: main Return_Type: Void
Comp_Dec
ID_Dec Var_Type: Integer
Var: a
ID_Dec Var_Type: Integer
Var: b
ID_Dec Var_Type: Integer
Assign
Var: c
Num_Const: 8
ID_Dec Var_Type: Char
Var: m
ID_Dec Var_Type: Char
Assign
Var: k
Char_Const: k
ID_Dec Var_Type: Integer
Var: r
ID_Dec Var_Type: Integer
Var: i
Assign
Var: r
Op: +
Var: a
Var: b
Assign
Var: r
Op: -
Var: a
Var: b
Assign
Var: r
Op: *
Var: a
Var: b
Assign
Var: r
Op: /
Var: a
Var: b
Assign
Var: r
Op: %
Var: a
Var: b
Op: ++
Var: r
Op: --
Var: r
If
Op: &&
Op: >
Var: a
Var: b
Op: <
Var: a
Var: c
Comp_Dec
Assign
Var: r
Var: a
Assign
Var: r
Num_Const: 0
Assign
Var: i
Num_Const: 0
Op: <
Var: i
Num_Const: 101
Comp_Dec
Assign
Var: r
Op: +
Var: r
Var: i
Op: ++
Var: i
Assign
Var: r
Op: <<
Var: r
Num_Const: 1
Assign
Var: r
Num_Const: 5
Assign
Var: r
Call to: f
Var: r
Building Symbol Table...
Function table:
Function Name Type
------------- ----
main Void
Parameter
---------
f Integer
Parameter
---------
n Integer
Symbol table:
Nestlevel: 0
Variable Name Type
------------- --------------
Nestlevel: 1
Variable Name Type
------------- --------------
j Integer
p Integer
q Integer
Nestlevel: 2
Variable Name Type
------------- --------------
Nestlevel: 2
Variable Name Type
------------- --------------
Nestlevel: 1
Variable Name Type
------------- --------------
i Integer
k Char
m Char
a Integer
b Integer
c Integer
r Integer
Nestlevel: 2
Variable Name Type
------------- --------------
Nestlevel: 2
Variable Name Type
------------- --------------
Checking Types...
Type Checking Finished
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -