Научная статья на тему 'Использование внешнего DSL ANTLR для разработки программного обеспечения построения блок-схем по псевдокоду'

Использование внешнего DSL ANTLR для разработки программного обеспечения построения блок-схем по псевдокоду Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
294
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
блок-схема / предметно-ориентированный язык / программное обеспечение / flowchart / domain-specific language / software development

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Журов Дмитрий Павлович, Пятых Сергей Олегович, Сосинская Софья Семеновна

В статье рассмотрены язык описания алгоритма на псевдокоде и реализация технологии разработки программного продукта для генерации блок-схемы на базе внешнего предметно-ориентированного языка (DSL) ANTLR.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Журов Дмитрий Павлович, Пятых Сергей Олегович, Сосинская Софья Семеновна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using an external DSL ANTLR software development for building flowcharts on pseudo-code

The language description of the algorithm in pseudo-code is examined in the article. Is considered technology of software development to generate flowchart based on an external domain-specific language (DSL) ANTLR.

Текст научной работы на тему «Использование внешнего DSL ANTLR для разработки программного обеспечения построения блок-схем по псевдокоду»

Using an external DSL ANTLR software development for building flowcharts on pseudo-code

Section 6. Information technology

Jurov Dmitrii Pavlovich, Irkutsk National Technical Research University, student, the Institute of Cybernetics E-mail: sidney28@ya.ru Pjatih SergeiOlegovich, Irkutsk National Technical Research University, student, the Institute of Cybernetics Sosinskaya Sophia Semenovna, Irkutsk National Technical Research University, Ph. D., the Institute of Cybernetics E-mail: sosinskaya@mail.ru

Using an external DSL ANTLR software development for building flowcharts on pseudo-code

Abstract: The language description of the algorithm in pseudo-code is examined in the article. Is considered technology of software development to generate flowchart based on an external domain-specific language (DSL) ANTLR.

Keywords: flowchart, domain-specific language, software development

Журов Дмитрий Павлович, Иркутский национальный исследовательский технический университет,

студент, институт кибернетики E-mail: sidney28@ya.ru Пятых Сергей Олегович, Иркутский национальный исследовательский технический университет,

студент, институт кибернетики Сосинская Софья Семеновна, Иркутский национальный исследовательский технический университет,

доцент, институт кибернетики E-mail: sosinskaya@mail.ru

Использование внешнего DSL ANTLR для разработки программного обеспечения построения блок-схем по псевдокоду

Аннотация: В статье рассмотрены язык описания алгоритма на псевдокоде и реализация технологии разработки программного продукта для генерации блок-схемы на базе внешнего предметно-ориентированного языка (DSL) ANTLR.

Ключевые слова: блок-схема, предметно-ориентированный язык, программное обеспечение.

Для описания алгоритмов часто используется псевдокод. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым, чем исходный код на языке программирования, поэтому

было решено взять за основу его грамматику, немного модифицировав и приблизив еще больше к естественному языку.

Описание псевдокода в форме Бэкуса-Наура (БНФ) [4]:

49

Section 6. Information technology

<Алгоритм>::= Алгоритм <текст названия алгоритма>

Начало

<Тело алгоритма>

Конец

<Тело алгоритма>:: = <Блок ввода><Блок операторов><Блок вывода>

<Блок ввода>::= Ввод <текст>,

<Блок вывода>::=Вывод <текст>,

<Блок операторов>::= <Оператор>| <Оператор><Блок операторов>

<Оператор>::= <Оператор условия>|<Оператор цикла с предусловием>|<Оператор цикла с постусловием>|<Блок>

<Блок>::=<текст блока>,

< Оператор условия>::=Если <условие> тогда<Блок>Иначе<Блок>|

Если <условие> тогда<Блок>

<Оператор цикла с предусловием>::=пока <условие> делать

<тело цикла>

<Оператор цикла с постусловием>::=делать<тело цикла>пока <условие>

Пример алгоритма: алгоритм Евклида Начало

Ввод а и б

если а больше б тогда иначе

меняем местами а и б, пока б не 0 делать начало

а=а mod б,

меняем местами а и б,

конец Вывод а,

Конец

Для разработанного языка были созданы синтаксический и лексический анализаторы с использованием библиотеки ANTLR (ANother Tool for Language Recognition) [1], представляющей собой генератор блоков лексического и синтаксического анализа на одном из целевых языков программирования (C++, Java, C#, Python, Ruby) по описанию LL (*) — грамматики на языке, близком к БНФ.

Синтаксический LL-анализатор это нисходящий синтаксический анализатор для подмножества контекстно-свободных грамматик, который анализирует входной поток слева направо, и строит левый вывод грамматики. LL-анализатор называется

LL (^-анализатором, если использует просмотр вперед на k лексем при разборе входного потока. LL-анализатор называется LL (*)-анализатором, если нет строгого ограничения yf величину k, и анализатор может распознавать язык, если лексемы принадлежат какому-либо регулярному множеству [3].

Рисунок 1 — Блок-схема, сгенерированная программой

50

Schnellbewertung und minimierung des Fehlers der Responsefunktion bei der Konstruktion der Beziehungsgleichung...

ANTLR 4 преобразует контекстно-свободную грамматику LL (k) в виде расширенной БНФ в программу на языке Java.

Для построения блок-схемы были использованы основные парадигмы объектно-ориентированного программирования. Во внутреннем представлении каждая синтаксическая конструкция является отдельным классом, который может включать в себе другие конструкции-классы. Корнем дерева классов является объект-алгоритм, который включает в себе все остальные блоки. Для графического ото-

бражения блок-схемы была использована библиотека jgraphx, распространяющаяся по лицензии bsd и позволяющая реализовать требуемые геометрические фигуры [2].

Атрибутные грамматики — расширение контекстно-свободных грамматик, позволяющее связать с каждым символом грамматики набор атрибутов, описывающих действия, генерирующие отображение графических примитивов блок-схемы.

Результат обработки алгоритма Эвклида показан на рис. 1.

Список литературы:

1. Официальный сайт ANTLR [Электронный ресурс] http://www.antlr.org/

2. Визуализация графов на JAVA [Электронный ресурс] http://habrahabr.ru/sandbox/24540/

3. Фомичев В. С. Формальные языки, грамматики и автоматы. [Электронный ресурс]: http://ofim.oscsbras. ru/~eugene/docums/formallang/Fomichev/

4. Крицкий С. П. Трансляция языков программирования: синтаксис, семантика, перевод. [Электронный ресурс] http://www.chernyshov.com/SPPO_5/TAL_SSP/index.html

Khubaev Georgii Nikolaevich, Doktor der Wirtschaftswissenschaften, Professor der Rostow Staatlichen Wirtschaftsuniversität (RINKH),

E-mail: gkhubaev@mail.ru

Schnellbewertung und minimierung des Fehlers der Responsefunktion bei der Konstruktion der Beziehungsgleichung im MS Excel Umgebung

Abstract: Es ist vorgeführt, dass die entwickelten Softwareprodukte «MWWR» und das System der automatisierten Synthese der Simulationsmodelle SIM-UML mit der minimalen Kapazität der Zeit und der Ressourcen des Benutzers, die Teilmenge der bessere Ein-, Zwei- und Dreifaktorenmodelle bilden zulassen, die Schnellbewertung des Einflusses der Struktur der Beziehungsgleichung und der Fehler der Messung der in des Modells aufgenommenen Faktoren auf den Fehlerbetrag der Responsefunktion der Regressionsmodelle zu erfüllen.

Keywords: Methode aller möglichen Regression, Beziehungsgleichung, Fehler der Responsefunktion, Entwicklung von Simulationsmodellen, Fehler der Messung der Faktoren.

Aufgabenstellung. Eine Hauptcharakteristik der Konsumqualität der verwendete Regressionsmodelle wie bekannt ist der Fehlerbetrag der Responsefunktion. In [1; 2] ist es vorgeführt, dass sich je nach dem Bestand der ins Modell aufgenommenen Faktoren und der Struktur der Beziehungsgleichung, der Fehlerbetrag der Responsefunktion in genug breiten Grenzen ändert. Deshalb ist es für die optimale Auswahl der besten Beziehungsgleichung wünschenswert, manche konkurrierende Modelle zu haben, die sich die Strukturen und der Bestände der aufgenommenen Faktoren unterscheiden. Aber, es fragt sich, wie solche Gruppe der Konkurrenten — etwas vergleichbar nach den statistischen Kriterien der Regressionsmodelle zu bekommen?

Wir denken, dass die einfachste Weise des Erhaltens der konkurrierenden Regrissionsmodelle die Nutzung der Methode aller möglichen Regression (MWWR) ist. Jedoch schließen weitem nicht alle statistische Pakete und die bekannten Bürosoftwareprodukte (SWP), einschließlich der breit verbreiteten elektronischen Tabelle MS Excel, das Modul MWWR ein. Und dieser Umstand erschwert das Erhalten der Regrissionsmodelle mit dem minimalen Fehler der Responsefunktion. Wirklich, bei der Konstruktion der Beziehungsgleichungen im MS Excel Umgebung unter Ausnutzung des existierenden Moduls „Regression“ im Block „Datenvergleich“ ist es in der Regel unmöglich, die begrenzte Teilmenge der bestimmenden Faktoren

51

i Надоели баннеры? Вы всегда можете отключить рекламу.