суть синхронизации в том, что если ты видишь синтаксическую ошибку, ты пропускаешь все токены до момента, пока ты точно не скажешь что вот этот токен я знаю, после него должно быть вот это - то бишь, до момента, где ты можешь возобновить смысл программы