Details
Title | Языконезависимое форматирование текстов программ на основе сопоставления с образцом и синтаксических шаблонов // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета. Сер.: Информатика. Телекоммуникации. Управление: научное издание. – 2015. – |
---|---|
Creators | Подкопаев Антон Викторович; Коровянский Алексей Юрьевич; Озерных Игорь Станиславович |
Organization | Санкт-Петербургский государственный университет; Министерство образования и науки Российской Федерации |
Imprint | Санкт-Петербург: Изд-во Политехн. ун-та, 2015 |
Collection | Общая коллекция |
Subjects | Вычислительная техника; Программирование ЭВМ. Компьютерные программы. Программотехника; форматирование; форматирование программных текстов; целевой код; полиномиальное время; стандарты кодирования; комбинаторы |
UDC | 004.41/.42 |
LBC | 32.973-018 |
Document type | Article, report |
File type | |
Language | Russian |
DOI | 10.5862/JCSTCS.224.4 |
Rights | Свободный доступ из сети Интернет (чтение, печать, копирование) |
Record key | RU\SPSTU\edoc\30616 |
Record create date | 1/18/2016 |
Рассмотрена проблема форматирования программных текстов. Предложен новый подход, позволяющий форматировать целевой код по образцу. Разработанное решение вычисляет оптимальное представление текста за полиномиальное время.
In paper we consider a code-formatting problem. A novel concept of declarative printers is introduced. These devices can perform formatting in accordance with the style of the rest of the source code. For this purpose, declarative formatters extract syntactic templates from the sample code and use them to construct a new representation of the input program. A proposed solution produces optimal program presentation in polynomial time. It is achieved by using polynomial-time pretty-printer combinators and introducing a partial order on text representations. We also present the results of evaluating the approach in the Java and Haskell languages. The development of a declarative printer for simple imperative language While is described. A comparison with modern IDEs code formatters is also presented.
Access count: 587
Last 30 days: 4