Skip to content

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Конфигурационное управление

Домашнее задание №3

Вариант №29

Разработать инструмент командной строки для учебного конфигурационного языка, синтаксис которого приведен далее. Этот инструмент преобразует текст из входного формата в выходной. Синтаксические ошибки выявляются с выдачейсообщений.

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

Многострочные комментарии:

/#
 Это многострочный
 комментарий
#/

Массивы:

({ значение, значение, значение, ... })

Имена:

 [_A-Z][_a-zA-Z0-9]*

Значения:

  • Числа.
  • Массивы.

Объявление константы на этапе трансляции:

(define имя значение)

Вычисление константного выражения на этапе трансляции (постфиксная форма), пример:

@(имя 1 +)

Результатом вычисления константного выражения является значение.

Для константных вычислений определены операции и функции:

  1. Сложение.
  2. abs().

Все конструкции учебного конфигурационного языка (с учетом их возможной вложенности) должны быть покрыты тестами. Необходимо показать 2 примера описания конфигураций из разных предметных областей.

Описание работы программы программы

Программа предназначена для вывода данных в формате Json из обычного текстового файла с расширением .txt. В файле config.txt необходимо написать программу, которая будет конвертирована в Json при выводе.

!Внимание! Программа должна быть написана строго по шаблонам, которые показаны в условиях задачи. При неправильном написании программы файл конфигурации создан будет только с корректными строками.

Запуск программы

Запуск программы осуществляется из командной строки:

cd target_3
python config_parser.py config.txt

!Внимание! Если запуск осуществляется через PowerShell, то команда запуска выглядит так:

cd target_3
Get-Content config.txt | python config_parser.py 

Для запуска юнит-тестов в коммандной строке необходимо написать:

cd target_3
python -m unittest discover -s tests -p "test_case_*.py"

Результат юнит-тестов программы

unittests

Результат работы программы

Вариант 1

Вариант 2

About

Домашняя работа №3 по дисциплине «Конфигурационное управление» Вариант №29

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages