Lines Matching full:ps
71 struct parser_state ps; variable
121 ps.p_stack[0] = stmt; /* this is the parser's stack */ in main()
122 ps.last_nl = true; /* this is true if the last thing scanned was in main()
124 ps.last_token = semicolon; in main()
158 had_eof = ps.in_decl = ps.decl_on_line = break_comma = false; in main()
160 ps.in_or_st = false; in main()
161 ps.bl_line = true; in main()
163 di_stack[ps.dec_nest = 0] = 0; in main()
164 ps.want_blank = ps.in_stmt = ps.ind_stmt = false; in main()
166 scase = ps.pcase = false; in main()
187 ps.ljust_decl = 0; /* -ndj */ in main()
188 ps.com_ind = 33; /* -c33 */ in main()
190 ps.ind_size = 8; /* -i8 */ in main()
192 ps.decl_indent = 16; /* -di16 */ in main()
193 ps.local_decl_indent = -1; /* if this is not set to some nonnegative value in main()
195 * ps.decl_ind */ in main()
196 ps.indent_parameters = 1; /* -ip */ in main()
197 ps.decl_com_ind = 0; /* if this is not set to some positive value in main()
199 * ps.com_ind */ in main()
202 ps.unindent_displace = 0; /* -d0 */ in main()
203 ps.case_indent = 0; /* -cli0 */ in main()
209 ps.leave_comma = 1; /* -nbc */ in main()
298 ps.ind_level = ps.i_l_follow = col / opt.ind_size; in main()
309 type_code = lexi(&ps); /* lexi reads one token. The actual in main()
320 while (ps.search_brace) { in main()
411 ps.search_brace = false; in main()
439 ps.search_brace = false; /* stop looking for start of in main()
487 transient_state = ps; in main()
491 ps = transient_state; in main()
501 if (ps.tos > 1) /* check for balanced braces */ in main()
506 ps.out_lines, ps.out_coms); in main()
508 (1.0 * ps.com_lines) / code_lines); in main()
525 ps.want_blank = false; /* dont insert blank at line start */ in main()
528 ps.in_stmt = true; /* turn on flag which causes an extra level of in main()
541 ps.want_blank = false; in main()
561 ps.use_ff = true; /* a form feed is treated much like a newline */ in main()
563 ps.want_blank = false; in main()
567 if (ps.last_token != comma || ps.p_l_follow > 0 in main()
568 || !opt.leave_comma || ps.block_init || !break_comma || s_com != e_com) { in main()
570 ps.want_blank = false; in main()
577 if (++ps.p_l_follow == nitems(ps.paren_indents)) { in main()
579 nitems(ps.paren_indents)); in main()
580 ps.p_l_follow--; in main()
584 else if (ps.in_decl && !ps.block_init && !ps.dumped_decl_indent && in main()
585 ps.procname[0] == '\0' && ps.paren_level == 0) { in main()
588 ps.dumped_decl_indent = true; in main()
590 else if (ps.want_blank && in main()
591 ((ps.last_token != ident && ps.last_token != funcname) || in main()
596 ps.keyword + opt.Bill_Shannon > 2)) in main()
598 ps.want_blank = false; in main()
600 ps.paren_indents[ps.p_l_follow - 1] = count_spaces_until(1, s_code, e_code) - 1; in main()
601 if (sp_sw && ps.p_l_follow == 1 && opt.extra_expression_indent in main()
602 && ps.paren_indents[0] < 2 * opt.ind_size) in main()
603 ps.paren_indents[0] = 2 * opt.ind_size; in main()
604 if (ps.in_or_st && *token == '(' && ps.tos <= 2) { in main()
611 ps.in_or_st = false; /* turn off flag for structure decl or in main()
615 if (ps.keyword == 1 || ps.keyword == 2) in main()
616 ps.not_cast_mask |= 1 << ps.p_l_follow; in main()
620 if (ps.cast_mask & (1 << ps.p_l_follow) & ~ps.not_cast_mask) { in main()
621 ps.last_u_d = true; in main()
622 ps.cast_mask &= (1 << ps.p_l_follow) - 1; in main()
623 ps.want_blank = opt.space_after_cast; in main()
625 ps.want_blank = true; in main()
626 ps.not_cast_mask &= (1 << ps.p_l_follow) - 1; in main()
627 if (--ps.p_l_follow < 0) { in main()
628 ps.p_l_follow = 0; in main()
632 ps.paren_level = ps.p_l_follow; /* then indent it */ in main()
636 if (sp_sw && (ps.p_l_follow == 0)) { /* check for end of if in main()
640 ps.last_u_d = true; /* inform lexi that a following in main()
642 ps.in_stmt = false; /* dont use stmt continuation in main()
647 ps.search_brace = opt.btype_2; /* this should ensure that in main()
654 if (!ps.dumped_decl_indent && ps.in_decl && !ps.block_init && in main()
655 ps.procname[0] == '\0' && ps.paren_level == 0) { in main()
665 ps.dumped_decl_indent = true; in main()
667 else if (ps.want_blank) in main()
677 ps.want_blank = false; in main()
685 if (ps.want_blank) in main()
690 ps.want_blank = true; in main()
696 ps.want_blank = true; in main()
703 if (ps.want_blank) in main()
706 ps.want_blank = true; in main()
716 if (ps.want_blank) in main()
719 ps.want_blank = true; in main()
722 if (ps.in_or_st) { in main()
724 ps.want_blank = false; in main()
727 ps.in_stmt = false; /* seeing a label does not imply we are in a in main()
742 force_nl = ps.pcase = scase; /* ps.pcase will be used by in main()
748 ps.want_blank = false; in main()
752 if (ps.dec_nest == 0) in main()
753 ps.in_or_st = false;/* we are not in an initialization or in main()
757 if (ps.last_token == rparen) in main()
758 ps.in_parameter_declaration = 0; in main()
759 ps.cast_mask = 0; in main()
760 ps.not_cast_mask = 0; in main()
761 ps.block_init = 0; in main()
762 ps.block_init_level = 0; in main()
763 ps.just_saw_decl--; in main()
765 if (ps.in_decl && s_code == e_code && !ps.block_init && in main()
766 !ps.dumped_decl_indent && ps.paren_level == 0) { in main()
769 ps.dumped_decl_indent = true; in main()
772 ps.in_decl = (ps.dec_nest > 0); /* if we were in a first level in main()
776 if ((!sp_sw || hd_type != forstmt) && ps.p_l_follow > 0) { in main()
784 ps.p_l_follow = 0; in main()
792 ps.want_blank = true; in main()
793 ps.in_stmt = (ps.p_l_follow > 0); /* we are no longer in the in main()
803 ps.in_stmt = false; /* dont indent the {} */ in main()
804 if (!ps.block_init) in main()
807 else if (ps.block_init_level <= 0) in main()
808 ps.block_init_level = 1; in main()
810 ps.block_init_level++; in main()
812 if (s_code != e_code && !ps.block_init) { in main()
815 ps.want_blank = false; in main()
817 else if (ps.in_parameter_declaration && !ps.in_or_st) { in main()
818 ps.i_l_follow = 0; in main()
822 ps.want_blank = false; in main()
824 ps.want_blank = true; in main()
827 if (ps.in_parameter_declaration) in main()
830 if (ps.p_l_follow > 0) { /* check for preceding unbalanced in main()
833 ps.p_l_follow = 0; in main()
837 ps.ind_level = ps.i_l_follow; in main()
841 ps.ind_stmt = false; /* dont put extra indentation on line in main()
843 if (ps.in_decl && ps.in_or_st) { /* this is either a structure in main()
845 di_stack[ps.dec_nest] = dec_ind; in main()
846 if (++ps.dec_nest == nitems(di_stack)) { in main()
849 ps.dec_nest--; in main()
854 ps.decl_on_line = false; /* we can't be in the middle of in main()
859 && ps.in_parameter_declaration) in main()
861 ps.in_parameter_declaration = 0; in main()
862 ps.in_decl = false; in main()
866 if (ps.want_blank) /* put a blank before '{' if '{' is not at in main()
869 ps.want_blank = false; in main()
871 ps.just_saw_decl = 0; in main()
875 if (ps.p_stack[ps.tos] == decl && !ps.block_init) /* semicolons can be in main()
879 if (ps.p_l_follow) {/* check for unclosed if, for, else. */ in main()
881 ps.p_l_follow = 0; in main()
884 ps.just_saw_decl = 0; in main()
885 ps.block_init_level--; in main()
886 if (s_code != e_code && !ps.block_init) { /* '}' must be first on in main()
893 ps.want_blank = true; in main()
894 ps.in_stmt = ps.ind_stmt = false; in main()
895 if (ps.dec_nest > 0) { /* we are in multi-level structure in main()
897 dec_ind = di_stack[--ps.dec_nest]; in main()
898 if (ps.dec_nest == 0 && !ps.in_parameter_declaration) in main()
899 ps.just_saw_decl = 2; in main()
900 ps.in_decl = true; in main()
904 ps.search_brace = opt.cuddle_else && ps.p_stack[ps.tos] == ifhead in main()
905 && ps.il[ps.tos] >= ps.ind_level; in main()
906 if (ps.tos <= 1 && opt.blanklines_after_procs && ps.dec_nest <= 0) in main()
928 ps.in_stmt = false; in main()
934 ps.want_blank = false; in main()
945 ps.want_blank = false; in main()
959 if (ps.p_l_follow > 0) in main()
964 if (ps.last_token == rparen && ps.tos <= 1) { in main()
967 ps.want_blank = 0; in main()
970 if (ps.in_parameter_declaration && opt.indent_parameters && ps.dec_nest == 0) { in main()
971 ps.ind_level = ps.i_l_follow = 1; in main()
972 ps.ind_stmt = 0; in main()
974 ps.in_or_st = true; /* this might be a structure or initialization in main()
976 ps.in_decl = ps.decl_on_line = ps.last_token != type_def; in main()
977 if ( /* !ps.in_or_st && */ ps.dec_nest <= 0) in main()
978 ps.just_saw_decl = 2; in main()
982 if (ps.ind_level == 0 || ps.dec_nest > 0) { in main()
995 if (ps.in_decl) { in main()
997 ps.in_decl = false; in main()
1002 else if (ps.want_blank) { in main()
1005 ps.want_blank = false; in main()
1007 else if (!ps.block_init && !ps.dumped_decl_indent && in main()
1008 ps.paren_level == 0) { /* if we are in a declaration, we in main()
1011 ps.dumped_decl_indent = true; in main()
1012 ps.want_blank = false; in main()
1015 else if (sp_sw && ps.p_l_follow == 0) { in main()
1018 ps.last_u_d = true; in main()
1019 ps.in_stmt = false; in main()
1027 if (ps.want_blank) in main()
1033 ps.want_blank = true; in main()
1041 if (ps.want_blank) in main()
1046 ps.want_blank = false; in main()
1052 ps.want_blank = false; /* dont put a blank after a period */ in main()
1056 ps.want_blank = (s_code != e_code); /* only put blank after comma in main()
1059 if (ps.in_decl && ps.procname[0] == '\0' && !ps.block_init && in main()
1060 !ps.dumped_decl_indent && ps.paren_level == 0) { in main()
1063 ps.dumped_decl_indent = true; in main()
1066 if (ps.p_l_follow == 0) { in main()
1067 if (ps.block_init_level <= 0) in main()
1068 ps.block_init = 0; in main()
1165 ps.pcase = false; in main()
1171 state_stack[ifdef_level++] = ps; in main()
1180 match_state[ifdef_level - 1] = ps; in main()
1181 ps = state_stack[ifdef_level - 1]; in main()
1229 ps.last_token = type_code; in main()
1287 if ((ps.ind_level * opt.ind_size) % opt.tabsize != 0) { in indent_declaration()
1288 pos += (ps.ind_level * opt.ind_size) % opt.tabsize; in indent_declaration()
1289 cur_dec_ind += (ps.ind_level * opt.ind_size) % opt.tabsize; in indent_declaration()
1305 if (e_code == startpos && ps.want_blank) { in indent_declaration()
1307 ps.want_blank = false; in indent_declaration()