aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/testLua/yueliang-0.4.1/nat-5.0.3/test/parser_log/sample_11.lua
blob: 8af611b077edd7697dff476b0fa994e656f000af (plain)
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
-- START OF SOURCE --
for i=1,10 do foo=i end
for i=1,10,2 do break end
for i in foo do bar=0 end
for i,j in foo,bar do baz=0 end
-- END OF SOURCE --

-- TOP: begin
  open_func
  
  chunk:
  -- STATEMENT: begin 'for' line=1
  for_stat: begin
    enterblock(isbreakable=false)
        str_checkname: 'i'
    for_stat: numerical loop
      fornum: begin
      fornum: index start
        exp1: begin
        expr:
        simpleexp: <number>=1
        exp1: end
      fornum: index stop
        exp1: begin
        expr:
        simpleexp: <number>=10
        exp1: end
      fornum: body
        enterblock(isbreakable=true)
        block: begin
          enterblock(isbreakable=false)
          chunk:
          -- STATEMENT: begin 'expr' line=1
          prefixexp: <name>
              str_checkname: 'foo'
              singlevar: name='foo'
          expr_stat: assignment k='VLOCAL'
          assignment: '=' -- RHS elements follows
            explist1: begin
            expr:
            prefixexp: <name>
                str_checkname: 'i'
                singlevar: name='i'
            explist1: end
          -- STATEMENT: end 'expr'
          
          leaveblock
        block: end
        leaveblock
      fornum: end
    leaveblock
  for_stat: end
  -- STATEMENT: end 'for'
  
  -- STATEMENT: begin 'for' line=2
  for_stat: begin
    enterblock(isbreakable=false)
        str_checkname: 'i'
    for_stat: numerical loop
      fornum: begin
      fornum: index start
        exp1: begin
        expr:
        simpleexp: <number>=1
        exp1: end
      fornum: index stop
        exp1: begin
        expr:
        simpleexp: <number>=10
        exp1: end
      fornum: index step
        exp1: begin
        expr:
        simpleexp: <number>=2
        exp1: end
      fornum: body
        enterblock(isbreakable=true)
        block: begin
          enterblock(isbreakable=false)
          chunk:
          -- STATEMENT: begin 'break' line=2
          break_stat: -- break out of loop
          -- STATEMENT: end 'break'
          leaveblock
        block: end
        leaveblock
      fornum: end
    leaveblock
  for_stat: end
  -- STATEMENT: end 'for'
  
  -- STATEMENT: begin 'for' line=3
  for_stat: begin
    enterblock(isbreakable=false)
        str_checkname: 'i'
    for_stat: list-based loop
      forlist: begin
      forlist: explist1
        explist1: begin
        expr:
        prefixexp: <name>
            str_checkname: 'foo'
            singlevar: name='foo'
        explist1: end
      forlist: body
        enterblock(isbreakable=true)
        block: begin
          enterblock(isbreakable=false)
          chunk:
          -- STATEMENT: begin 'expr' line=3
          prefixexp: <name>
              str_checkname: 'bar'
              singlevar: name='bar'
          expr_stat: assignment k='VLOCAL'
          assignment: '=' -- RHS elements follows
            explist1: begin
            expr:
            simpleexp: <number>=0
            explist1: end
          -- STATEMENT: end 'expr'
          
          leaveblock
        block: end
        leaveblock
      forlist: end
    leaveblock
  for_stat: end
  -- STATEMENT: end 'for'
  
  -- STATEMENT: begin 'for' line=4
  for_stat: begin
    enterblock(isbreakable=false)
        str_checkname: 'i'
    for_stat: list-based loop
      forlist: begin
          str_checkname: 'j'
      forlist: explist1
        explist1: begin
        expr:
        prefixexp: <name>
            str_checkname: 'foo'
            singlevar: name='foo'
        explist1: ',' -- continuation
        expr:
        prefixexp: <name>
            str_checkname: 'bar'
            singlevar: name='bar'
        explist1: end
      forlist: body
        enterblock(isbreakable=true)
        block: begin
          enterblock(isbreakable=false)
          chunk:
          -- STATEMENT: begin 'expr' line=4
          prefixexp: <name>
              str_checkname: 'baz'
              singlevar: name='baz'
          expr_stat: assignment k='VLOCAL'
          assignment: '=' -- RHS elements follows
            explist1: begin
            expr:
            simpleexp: <number>=0
            explist1: end
          -- STATEMENT: end 'expr'
          
          leaveblock
        block: end
        leaveblock
      forlist: end
    leaveblock
  for_stat: end
  -- STATEMENT: end 'for'
  
  close_func
-- TOP: end