Доклад

Почему IDE ломается из-за одной скобки: сравниваем error recovery в Java-парсерах

Зал 3

Во время работы программиста код в IDE часто содержит ошибки. При этом пользователь все равно получает подсветку, автодополнение и даже предложения по исправлению проблем. За этим стоят алгоритмы восстановления после ошибок (error recovery) в парсерах. Но как оценить их качество? И почему javac — не всегда идеальный эталон? В рамках доклада предлагается чуть глубже рассмотреть проблему восстановления после ошибок при статическом анализе кода на Java:

  • Посмотрим, как recovery влияет на работу в IDE для Java
  • Кратко разберём стратегии error recovery (panic mode, phrase-level)
  • Сравним популярные парсеры для Java (Tree-sitter, ANTLR, JDT и т.д.) по качеству восстановления и производительности на реальных данных с ошибками

Технологии: JVM, Kotlin, Tree-sitter, ANTLR, Eclipse JDT, javac, Python

Аудитория: разработчики IDE, парсеров, инструментов статического анализа. И все разработчики, которым интересно, почему IDE иногда сходит с ума из-за забытой скобки и что с этим делать.

Спикеры

Расписание