Lines Matching refs:ps

60     while (ps.p_stack[ps.tos] == ifhead && tk != elselit) {
62 ps.p_stack[ps.tos] = stmt; /* apply the if(..) stmt ::= stmt
72 ps.search_brace = opt.btype_2;
74 if (ps.p_stack[ps.tos] != decl) { /* only put one declaration
78 ps.p_stack[++ps.tos] = decl;
79 ps.il[ps.tos] = ps.i_l_follow;
83 ps.ind_level = 0;
84 for (i = ps.tos - 1; i > 0; --i)
85 if (ps.p_stack[i] == decl)
86 ++ps.ind_level; /* indentation is number of
88 ps.i_l_follow = ps.ind_level;
94 if (ps.p_stack[ps.tos] == elsehead && opt.else_if) /* "else if ..." */
100 ps.i_l_follow = ps.il[ps.tos--];
105 ps.p_stack[++ps.tos] = tk;
106 ps.il[ps.tos] = ps.ind_level = ps.i_l_follow;
107 ++ps.i_l_follow; /* subsequent statements should be indented 1 */
108 ps.search_brace = opt.btype_2;
113 if (ps.p_stack[ps.tos] == stmt || ps.p_stack[ps.tos] == decl
114 || ps.p_stack[ps.tos] == stmtl)
115 ++ps.i_l_follow; /* it is a random, isolated stmt group or a
122 --ps.ind_level;
126 if (ps.p_stack[ps.tos] == swstmt && opt.case_indent >= 1)
127 --ps.ind_level;
134 ps.p_stack[++ps.tos] = lbrace;
135 ps.il[ps.tos] = ps.ind_level;
136 ps.p_stack[++ps.tos] = stmt;
138 ps.il[ps.tos] = ps.i_l_follow;
142 if (ps.p_stack[ps.tos] == dohead) {
144 ps.ind_level = ps.i_l_follow = ps.il[ps.tos];
145 ps.p_stack[++ps.tos] = whilestmt;
146 ps.il[ps.tos] = ps.ind_level = ps.i_l_follow;
149 ps.p_stack[++ps.tos] = whilestmt;
150 ps.il[ps.tos] = ps.i_l_follow;
151 ++ps.i_l_follow;
152 ps.search_brace = opt.btype_2;
159 if (ps.p_stack[ps.tos] != ifhead)
162 ps.ind_level = ps.il[ps.tos]; /* indentation for else should
164 ps.i_l_follow = ps.ind_level + 1; /* everything following should
166 ps.p_stack[ps.tos] = elsehead;
168 ps.search_brace = opt.btype_2 | opt.else_if;
174 if (ps.tos > 0 && ps.p_stack[ps.tos - 1] == lbrace) {
175 ps.ind_level = ps.i_l_follow = ps.il[--ps.tos];
176 ps.p_stack[ps.tos] = stmt;
183 ps.p_stack[++ps.tos] = swstmt;
184 ps.cstk[ps.tos] = case_ind;
186 ps.il[ps.tos] = ps.i_l_follow;
187 case_ind = ps.i_l_follow + opt.case_indent; /* cases should be one
190 ps.i_l_follow += opt.case_indent + 1; /* statements should be two
192 ps.search_brace = opt.btype_2;
198 ps.p_stack[++ps.tos] = stmt;
199 ps.il[ps.tos] = ps.ind_level;
209 if (ps.tos >= STACKSIZE - 1)
215 for (i = 1; i <= ps.tos; ++i)
216 printf("(%d %d)", ps.p_stack[i], ps.il[i]);
243 * On each reduction, ps.i_l_follow (the indentation for the following line)
250 * GLOBALS: ps.cstk ps.i_l_follow = ps.il ps.p_stack = ps.tos =
270 switch (ps.p_stack[ps.tos]) {
273 switch (ps.p_stack[ps.tos - 1]) {
278 ps.p_stack[--ps.tos] = stmtl;
282 ps.p_stack[--ps.tos] = dohead;
283 ps.i_l_follow = ps.il[ps.tos];
288 ps.p_stack[--ps.tos] = ifhead;
289 for (i = ps.tos - 1;
291 ps.p_stack[i] != stmt
293 ps.p_stack[i] != stmtl
295 ps.p_stack[i] != lbrace
298 ps.i_l_follow = ps.il[i];
308 case_ind = ps.cstk[ps.tos - 1];
317 ps.p_stack[--ps.tos] = stmt;
318 ps.i_l_follow = ps.il[ps.tos];
328 if (ps.p_stack[ps.tos - 1] == dohead) {
330 ps.tos -= 2;