Парсери мови Java

Парсер Java — програма, що виконує синтаксичний аналіз коду написаного мовою Java.

Головна програма, яка має таку фунціональність — компілятор мови Java javac,[1] який входить до JDK. Javac використовує написаний вручну LALR парсер. Оскільки написаний вручну код складніший для розуміння та змін ніж згенерований із граматики, існує проект створення експериментальної версії javac, яка використовує генератор парсерів Antlr.[2]

NetBeans використовує код javac, модифікований для зручнішого використання в IDE.[3]. У версії NetBeans 6.0 інфраструктура, яка надає доступ до Java коду була повністю переписана, старий код (Java JMI/MDR) було прибрано, написано новий, так званий Retouche APIs.[4]

Eclipse JDT використовує парсер згенерований за допомогою генератора парсерів Jikes.[5] JDT надає об'єктну модель документу (Document Object Model, DOM), аналогічну до добре відомого XML DOM — реалізацію абстрактного синтаксичного дерева — Abstract Syntax Tree (AST).[6][7][8][9] Eclipse має додаток, що відображає AST для Java коду — AST View.[10]. Парсер Eclipse може використовуватися для аналізу та перетворення коду на Java,[11] у тому числі незалежно від середовища Eclipse.[12] Його використано для аналізу змін у початковому коді у проекті ChangeDistiller,[13][14][15][16] а також як фронтенд для GCJ.[17]

Існує проект javaparser, який використовує генератор парсерів javacc.[18]

Примітки

Література

  • Jim D'Anjou, Scott Fairbrother, Dan Kehn, John Kellerman, Pat McCarthy (2004). The Java developer's guide to Eclipse (вид. 2-ге). Boston: Addison-Wesley. с. 1136. ISBN 0321305027.
  • Bill Campbell, Swami Iyer, Bahar Akbal-Delibaș (2012). Introduction to compiler construction in a Java world. Boca Raton, FL: CRC Press. с. 381. ISBN 1439860882.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.