Профиль навыка

Lexing и Parsing

Лексический и синтаксический анализ: токенизация, LL/LR/PEG парсеры, ANTLR

Компиляторы и языки Теория компиляторов

Ролей

3

где встречается этот навык

Грейдов

5

сформированная дорожка роста

Обязательных требований

11

ещё 4 — необязательные

Домен

Компиляторы и языки

Группа

Теория компиляторов

Последнее обновление

17.03.2026

Как использовать

Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.

Чего ждут на каждом уровне

Таблица показывает, как меняется глубина владения навыком от Junior до Principal.

Роль Обязательность Описание
Compiler Engineer Обязателен Знает основы лексического анализа: токенизация исходного кода, регулярные грамматики и конечные автоматы. Умеет реализовать простой лексер вручную, понимает разницу между лексером и парсером на практике.
Language Tooling Engineer Понимает основы лексеров/парсеров: токенизацию, правила грамматики и построение AST. Пишет простые лексеры с регулярными выражениями и модифицирует существующие правила парсера для языковых инструментов.
Systems Programmer (C/C++) Понимает базовые концепции лексического анализа и парсинга: токены, грамматики и деревья разбора. Читает и отслеживает существующий код лексера/парсера для понимания pipeline обработки языка.
Роль Обязательность Описание
Compiler Engineer Обязателен Реализует LL(k) и LR парсеры, строит AST для языков программирования. Использует генераторы парсеров (ANTLR, yacc/bison). Обрабатывает синтаксические ошибки с error recovery стратегиями.
Language Tooling Engineer Реализует парсеры рекурсивного спуска и PEG для DSL. Строит механизмы восстановления после ошибок для частичного парсинга в поддержку функций IDE. Генерирует потоки токенов с подсветкой синтаксиса из вывода лексера.
Systems Programmer (C/C++) Реализует лексеры и парсеры для системных языков с инструментами flex/bison или ручным рекурсивным спуском. Обрабатывает приоритет операторов, разрешение неоднозначностей и эффективную буферизацию токенов.
Роль Обязательность Описание
Compiler Engineer Обязателен Проектирует полный frontend компилятора: лексер, recursive descent парсер, AST builder. Реализует Pratt parsing для operator precedence. Оптимизирует производительность парсинга для больших кодовых баз.
Language Tooling Engineer Обязателен Проектирует архитектуры инкрементального парсинга (в стиле tree-sitter) для обратной связи редактора в реальном времени. Реализует композицию грамматик для встроенных языков и оптимизирует производительность парсера для больших исходных файлов.
Systems Programmer (C/C++) Обязателен Проектирует архитектуры front-end компилятора с генераторами лексеров и GLR/Earley-парсерами для сложных грамматик. Реализует трансформации с сохранением source map и менторит команду по теории формальных языков.
Роль Обязательность Описание
Compiler Engineer Обязателен Определяет архитектуру frontend для нового языка или диалекта, принимает решения о грамматике. Устанавливает стандарты качества парсера в команде, проводит code review с фокусом на correctness.
Language Tooling Engineer Обязателен Определяет архитектуру компилятора. Формирует стандарты разработки. Координирует compiler team.
Systems Programmer (C/C++) Обязателен Определяет архитектуру компилятора. Формирует стандарты разработки. Координирует compiler team.
Роль Обязательность Описание
Compiler Engineer Обязателен Формирует технические стандарты языкового frontend для платформы. Исследует и внедряет передовые методы парсинга (Earley, PEG, GLL). Публикует open source решения и влияет на tooling ecosystem.
Language Tooling Engineer Обязателен Определяет стратегию развития компилятора/языка. Проектирует core language features. Формирует technology vision.
Systems Programmer (C/C++) Обязателен Определяет стратегию развития компилятора/языка. Проектирует core language features. Формирует technology vision.

Сообщество

👁 Следить ✏️ Предложить изменение Войдите, чтобы предлагать изменения
📋 Предложения
Пока нет предложений для Lexing и Parsing
Загрузка комментариев...