Некоторые ошибки, которые могут возникнуть на этапе семантического анализа программы:
- Несоответствие типов данных. 14 Например, попытка сложить число и строку. 1
- Использование необъявленной переменной. 14
- Неправильное использование зарезервированного идентификатора. 4
- Множественное объявление переменной в области видимости. 4
- Доступ к переменной вне области видимости. 4
- Несоответствие фактических и формальных параметров. 4
- Несоответствие потока управления. 3 Возникает при некорректной модификации или портировании фрагмента кода, когда не учитывается контекст потока управления. 3 Такие ошибки могут приводить к неожиданным переходам по управлению во время работы программы. 3
Семантический анализ не может выявить все ошибки в программе, а только те их типы, которые были заложены разработчиком компилятора или описаны в спецификации языка. 2