modyfied to generate only one switchseg for each C_ routine
This commit is contained in:
		
							parent
							
								
									0011c49d1e
								
							
						
					
					
						commit
						63f793aff3
					
				
					 1 changed files with 9 additions and 4 deletions
				
			
		|  | @ -55,7 +55,9 @@ char *to_change; | ||||||
| table	: row* | table	: row* | ||||||
| 	; | 	; | ||||||
| 
 | 
 | ||||||
| row	: C_INSTR 		{ set_outfile( yytext); header( yytext);} | row	: C_INSTR 		{ set_outfile( yytext); header( yytext); | ||||||
|  | 				  set_segment(segment); | ||||||
|  | 				} | ||||||
| 	  [ special | simple]	{ out( "}\n\n");} | 	  [ special | simple]	{ out( "}\n\n");} | ||||||
| 
 | 
 | ||||||
| 	| DEF_C_INSTR		{ init_defaults( yytext);} | 	| DEF_C_INSTR		{ init_defaults( yytext);} | ||||||
|  | @ -73,7 +75,7 @@ special : | ||||||
| 	  simple 		{ out( "}\n");} | 	  simple 		{ out( "}\n");} | ||||||
| 	; | 	; | ||||||
| 
 | 
 | ||||||
| simple	: ARROW 		{ set_segment( segment); save_output();} | simple	: ARROW 		{ save_output();} | ||||||
| 	  actionlist		{ back_patch();} | 	  actionlist		{ back_patch();} | ||||||
|         ; |         ; | ||||||
| 
 | 
 | ||||||
|  | @ -149,7 +151,8 @@ Daction	: CALL			{ out( "%s", yytext);} | ||||||
| 
 | 
 | ||||||
| 	; | 	; | ||||||
| 
 | 
 | ||||||
| def_row	: [ special | simple]	{ out( "}\n\n");} | def_row	: 			{ set_segment(segment);} | ||||||
|  | 	[ special | simple]	{ out( "}\n\n");} | ||||||
| 	; | 	; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -163,7 +166,9 @@ c_table	: c_row* | ||||||
| 	; | 	; | ||||||
| 
 | 
 | ||||||
| c_row	: %if ( to_change && strcmp( yytext, to_change) == 0) | c_row	: %if ( to_change && strcmp( yytext, to_change) == 0) | ||||||
| 	  C_INSTR 		{ set_outfile( yytext); header( yytext);} | 	  C_INSTR 		{ set_outfile( yytext); header( yytext); | ||||||
|  | 				  set_segment(segment); | ||||||
|  | 				} | ||||||
| 	  [ special | simple]	{ out( "}\n\n"); to_change = 0; } | 	  [ special | simple]	{ out( "}\n\n"); to_change = 0; } | ||||||
| 
 | 
 | ||||||
| 	| C_INSTR | 	| C_INSTR | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue