Синтаксический анализатор - отвечает за выявление и проверку синтаксических конструкций входного языка.  
Задачи:  
1. Найти и выделить основные синтаксические конструкции и проверить правильность каждой синтаксической конструкции.
2. Представить синтаксические конструкции в виде удобном для дальнейшей обработки.
  
Синтаксический анализатор воспринимает выход лексического анализатора и разбирает его в соответствии с грамматикой входного языка. В основе СА лежит распознаватель на основе грамматики входного языка. Как правило синтаксические конструкции языков программирования описываются с помощью КС-грамматики. Распознаватель дает ответ на вопрос - принадлежит или нет цепочка входных символов заданному языку. Это основная задача СА. Кроме того, СА должен иметь некий выходной язык с помощью которого информация о разобранной конструкции передается на следующие базы компиляции. Одним из таких представлений является дерево разбора. Распознаватель для СА строится на основе какого либо класса КС-грамматик. LL-грамматика (левостороннее порождение) LR-грамматика (правостороннее порождение).  
Схема:  
![Схема синтаксического анализатора](09_01.%20Схема%20синтаксического%20анализатора.png)  
Синтаксический анализатор управляется программой. Действия определяются символом начальным символом стека. В любом типе анализаторов существует условия таблицы разбора при котором исходная строка принимается.  
