void Parser::T_endv() { if(the_stack.is_frame(np_cell)) { flush_buffer(); the_stack.finish_cell(-1); the_stack.push_pop_cell(pop_only); pop_level(false,bt_cell); start_a_cell(false); } else parse_error("Bad endv token"); }
// This is done when we see a \\. void Parser::T_cr() { flush_buffer(); int a = 0; if(cur_cmd_chr.get_chr() == crwithargs_code) a = scan_int(cur_tok); if(!the_stack.is_frame(np_cell)) { parse_error("bad \\cr"); return; } the_stack.finish_cell(0); the_stack.push_pop_cell(pop_only); pop_level(false,bt_cell); the_stack.pop(np_row); start_a_row(a); }
void #line 228 "./cwebdir/ctang-w2c.ch" get_output P1H(void) #line 394 "./cwebdir/ctangle.w" { sixteen_bits a; restart:if(stack_ptr==stack)return; if(cur_byte==cur_end){ cur_val= -((int)cur_section); pop_level(1); if(cur_val==0)goto restart; out_char(section_number);return; } a= *cur_byte++; if(out_state==verbatim&&a!=string&&a!=constant&&a!='\n') C_putc(a); else if(a<0200)out_char(a); else{ a= (a-0200)*0400+*cur_byte++; switch(a/024000){ case 0:cur_val= a;out_char(identifier);break; case 1:if(a==output_defs_flag)output_defs(); else/*33:*/ #line 423 "./cwebdir/ctangle.w" { a-= 024000; if((a+name_dir)->equiv!=(char*)text_info)push_level(a+name_dir); else if(a!=0){ printf("\n! Not present: <"); print_section_name(a+name_dir);err_print(">"); } goto restart; } /*:33*/ #line 412 "./cwebdir/ctangle.w" ; break; default:cur_val= a-050000;if(cur_val> 0)cur_section= cur_val; out_char(section_number); } } }
void #line 268 "./cwebdir/ctang-w2c.ch" output_defs P1H(void) #line 608 "./cwebdir/ctangle.w" { sixteen_bits a; push_level(NULL); for(cur_text= text_info+1;cur_text<text_ptr;cur_text++) if(cur_text->text_link==0){ cur_byte= cur_text->tok_start; cur_end= (cur_text+1)->tok_start; C_printf("%s","#define "); out_state= normal; protect= 1; while(cur_byte<cur_end){ a= *cur_byte++; if(cur_byte==cur_end&&a=='\n')break; if(out_state==verbatim&&a!=string&&a!=constant&&a!='\n') C_putc(a); else if(a<0200)out_char(a); else{ a= (a-0200)*0400+*cur_byte++; if(a<024000){ cur_val= a;out_char(identifier); } else if(a<050000){confusion("macro defs have strange char");} else{ cur_val= a-050000;cur_section= cur_val;out_char(section_number); } } } protect= 0; flush_buffer(); } pop_level(0); }