1 месяц назад
Раньше ведь как было: изучаешь теорию языков программирования и формальные методы, формальные грамматики, лексический и синтаксический
анализ, работу c AST (обход дерева, трансформация), атрибутные грамматики и синтезируемые/наследуемые атрибуты, изучаешь системы типов, семантику программ, чтобы понимать, что означает программа, изучаешь межпроцедурный анализ. Изучаешь алгоритмы статического анализа: анализ потоков данных и анализ потоков управления, абстрактную интерпретацию, ML для статического анализа, изучаешь реализации SOTA статических анализаторов с открытым исходным кодом (вроде ничего не забыл). И через несколько лет вы может быть разработаете статический анализатор, который будет находить проблемы в популярных проектах с высоким уровнем качества кода...
315 читали · 2 года назад
Формальные языки
Формальные языки - это математические системы, которые используются для описания и формализации различных языков, включая естественные языки и языки программирования. Формальные языки используются в различных областях, таких как лингвистика, математика, информатика и философия. Основной элемент формального языка - это алфавит, который состоит из набора символов. Символы могут быть буквами, цифрами, знаками препинания и другими символами. Алфавит используется для создания слов, которые могут быть различной длины и содержать различные символы из алфавита. Формальный язык также содержит правила, которые определяют, какие слова являются допустимыми в этом языке...