Lines Matching refs:ps
50 while (ps.p_stack[ps.tos] == ifhead && tk != elselit) { in parse()
52 ps.p_stack[ps.tos] = stmt; /* apply the if(..) stmt ::= stmt in parse()
62 ps.search_brace = btype_2; in parse()
64 if (ps.p_stack[ps.tos] != decl) { /* only put one declaration in parse()
68 ps.p_stack[++ps.tos] = decl; in parse()
69 ps.il[ps.tos] = ps.i_l_follow; in parse()
71 if (ps.ljust_decl) {/* only do if we want left justified in parse()
73 ps.ind_level = 0; in parse()
74 for (i = ps.tos - 1; i > 0; --i) in parse()
75 if (ps.p_stack[i] == decl) in parse()
76 ++ps.ind_level; /* indentation is number of in parse()
78 ps.i_l_follow = ps.ind_level; in parse()
84 if (ps.p_stack[ps.tos] == elsehead && ps.else_if) /* "else if ..." */ in parse()
85 ps.i_l_follow = ps.il[ps.tos]; in parse()
88 ps.p_stack[++ps.tos] = tk; in parse()
89 ps.il[ps.tos] = ps.ind_level = ps.i_l_follow; in parse()
90 ++ps.i_l_follow; /* subsequent statements should be indented 1 */ in parse()
91 ps.search_brace = btype_2; in parse()
96 if (ps.p_stack[ps.tos] == stmt || ps.p_stack[ps.tos] == decl in parse()
97 || ps.p_stack[ps.tos] == stmtl) in parse()
98 ++ps.i_l_follow; /* it is a random, isolated stmt group or a in parse()
105 --ps.ind_level; in parse()
109 if (ps.p_stack[ps.tos] == swstmt && ps.case_indent >= 1) in parse()
110 --ps.ind_level; in parse()
117 ps.p_stack[++ps.tos] = lbrace; in parse()
118 ps.il[ps.tos] = ps.ind_level; in parse()
119 ps.p_stack[++ps.tos] = stmt; in parse()
121 ps.il[ps.tos] = ps.i_l_follow; in parse()
125 if (ps.p_stack[ps.tos] == dohead) { in parse()
127 ps.ind_level = ps.i_l_follow = ps.il[ps.tos]; in parse()
128 ps.p_stack[++ps.tos] = whilestmt; in parse()
129 ps.il[ps.tos] = ps.ind_level = ps.i_l_follow; in parse()
132 ps.p_stack[++ps.tos] = whilestmt; in parse()
133 ps.il[ps.tos] = ps.i_l_follow; in parse()
134 ++ps.i_l_follow; in parse()
135 ps.search_brace = btype_2; in parse()
142 if (ps.p_stack[ps.tos] != ifhead) in parse()
145 ps.ind_level = ps.il[ps.tos]; /* indentation for else should in parse()
147 ps.i_l_follow = ps.ind_level + 1; /* everything following should in parse()
149 ps.p_stack[ps.tos] = elsehead; in parse()
151 ps.search_brace = btype_2 | ps.else_if; in parse()
157 if (ps.p_stack[ps.tos - 1] == lbrace) { in parse()
158 ps.ind_level = ps.i_l_follow = ps.il[--ps.tos]; in parse()
159 ps.p_stack[ps.tos] = stmt; in parse()
166 ps.p_stack[++ps.tos] = swstmt; in parse()
167 ps.cstk[ps.tos] = case_ind; in parse()
169 ps.il[ps.tos] = ps.i_l_follow; in parse()
170 case_ind = ps.i_l_follow + ps.case_indent; /* cases should be one in parse()
173 ps.i_l_follow += ps.case_indent + 1; /* statements should be two in parse()
175 ps.search_brace = btype_2; in parse()
181 ps.p_stack[++ps.tos] = stmt; in parse()
182 ps.il[ps.tos] = ps.ind_level; in parse()
195 for (i = 1; i <= ps.tos; ++i) in parse()
196 printf("(%d %d)", ps.p_stack[i], ps.il[i]); in parse()
251 switch (ps.p_stack[ps.tos]) { in reduce()
254 switch (ps.p_stack[ps.tos - 1]) { in reduce()
259 ps.p_stack[--ps.tos] = stmtl; in reduce()
263 ps.p_stack[--ps.tos] = dohead; in reduce()
264 ps.i_l_follow = ps.il[ps.tos]; in reduce()
269 ps.p_stack[--ps.tos] = ifhead; in reduce()
270 for (i = ps.tos - 1; in reduce()
272 ps.p_stack[i] != stmt in reduce()
274 ps.p_stack[i] != stmtl in reduce()
276 ps.p_stack[i] != lbrace in reduce()
279 ps.i_l_follow = ps.il[i]; in reduce()
289 case_ind = ps.cstk[ps.tos - 1]; in reduce()
298 ps.p_stack[--ps.tos] = stmt; in reduce()
299 ps.i_l_follow = ps.il[ps.tos]; in reduce()
309 if (ps.p_stack[ps.tos - 1] == dohead) { in reduce()
311 ps.p_stack[--ps.tos] = stmt; in reduce()