| 337 errornest++; |
334 errornest++; |
| 338 tokz_warn_error(tokz, tokz->line, E_TOKZ_SYNTAX); |
335 tokz_warn_error(tokz, tokz->line, E_TOKZ_SYNTAX); |
| 339 break; |
336 break; |
| 340 |
337 |
| 341 case P_END_SECT: |
338 case P_END_SECT: |
| 342 if(errornest!=0){ |
|
| 343 errornest--; |
|
| 344 break; |
|
| 345 } |
|
| 346 |
|
| 347 if(tokz->nest_lvl==0){ |
339 if(tokz->nest_lvl==0){ |
| 348 tokz_warn_error(tokz, tokz->line, E_TOKZ_SYNTAX); |
340 tokz_warn_error(tokz, tokz->line, E_TOKZ_SYNTAX); |
| 349 had_error=TRUE; |
341 had_error=TRUE; |
| 350 break; |
342 break; |
| 351 } |
343 } |
| 352 |
344 |
| 353 if(!had_error) |
345 if(errornest!=0){ |
| 354 had_error=!call_end_sect(tokz, tokz->optstack[tokz->nest_lvl]); |
346 if(errornest==1){ |
| 355 |
347 call_cancel_sect(tokz, tokz->optstack[tokz->nest_lvl]); |
| 356 tokz->nest_lvl--; |
348 tokz->nest_lvl--; |
| |
349 } |
| |
350 errornest--; |
| |
351 }else{ |
| |
352 if(!had_error) |
| |
353 had_error=!call_end_sect(tokz, |
| |
354 tokz->optstack[tokz->nest_lvl]); |
| |
355 |
| |
356 tokz->nest_lvl--; |
| |
357 } |
| 357 |
358 |
| 358 if(tokz->nest_lvl<init_nest_lvl) |
359 if(tokz->nest_lvl<init_nest_lvl) |
| 359 goto eof; |
360 goto eof; |
| 360 } |
361 } |
| 361 |
362 |
| 362 if(!had_error) |
363 if(!had_error) |
| 363 continue; |
364 continue; |
| 364 |
365 |
| 365 if(t==P_STMT_SECT) |
366 if(t==P_STMT_SECT || t==P_END_SECT){ |
| 366 errornest++; |
367 errornest++; |
| |
368 /*if(t==P_END_SECT) |
| |
369 tokz->nest_lvl--;*/ |
| |
370 } |
| 367 |
371 |
| 368 if(!(tokz->flags&TOKZ_ERROR_TOLERANT)) |
372 if(!(tokz->flags&TOKZ_ERROR_TOLERANT)) |
| 369 break; |
373 break; |
| 370 } |
374 } |
| 371 |
375 |