bool Parser::RunEngine(size_t cond) { if(included_files.size() == cond) return true; while(1) { int rc ; rc = ReadLine(); if(rc > 0) { if(!SM_Run()) return false; } else if (rc == 0) { IncludedFile *ifile = PopIncludedFile(); if(!ifile->in_compiler_dir && rtc && !rtc->of_array[VCH_CV].isnull()) { ifile->produce_cr_text(); SaveCondValInfo(ifile->cr_text); } if(included_files.size() > 0) delete ifile; if(included_files.size() == cond) break; num_preprocessors = ifile->np; } else return false; } return true; }
/** * @brief This function handles TIM5 global interrupt request. * @param None * @retval None */ void TIM3_IRQHandler(void) { if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM3, TIM_IT_Update); } SM_Run(); }