Jump to content

Пан (язык программирования)

Кастрюля
Парадигма Декларативный язык
Стабильная версия
10.3 5 октября 2016 г. ( 05.10.2016 )
Дисциплина набора текста Сильный , динамичный
ТЫ Кросс-платформенный
Лицензия Лицензия Апач 2.0
Расширения имен файлов .pan, .tpl (устарело)
Веб-сайт quattor.org
Основные реализации
панк

Язык pan конфигурации позволяет определять информацию о конфигурации машины и связанную с ней информацию. схема с простым, доступным для человека синтаксисом. Компилятор языка Pan преобразует конфигурацию информацию, содержащуюся в наборе шаблонов панорамирования, в удобный для машины формат XML или JSON.

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

Выполнение

[ редактировать ]

Компилятор panc служит де-факто эталонной реализацией языка и реализован на Java , хотя в настоящее время невозможно выполнить компилятор с помощью OpenJDK .

Конфигурация определяется набором файлов, называемых шаблонами, написанных на языке pan. Эти шаблоны одновременно определяют параметры конфигурации, схему конфигурации и функции проверки. Каждый шаблон имеет имя и содержится в файле с тем же именем. Синтаксис файла шаблона прост:

[ object | declaration | unique | structure ] template template-name;
[ statement  ]

Эти файлы могут содержать комментарии, которые начинаются со знака решетки («#») и заканчиваются следующей новой строкой. или конец файла.

В языке pan есть пять примитивных атомарных типов:

  • логическое значение
  • длинный
  • двойной
  • нить
  • связь

Существует два примитивных типа коллекций:

  • список (упорядоченный список/массив элементов)
  • nlist (Именованный список связывает строковый ключ со значением, аналогично хешам, словарям или ассоциативным массивам)

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

Типы шаблонов

[ редактировать ]

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

Обычные шаблоны

[ редактировать ]

Обычный шаблон не использует модификатор шаблона в объявлении. Эти шаблоны могут содержать любые оператор pan, но операторы должны работать только с абсолютными путями.

Шаблоны объектов

[ редактировать ]

Шаблоны объектов можно рассматривать как корень каждого сгенерированного профиля конфигурации XML. Компилятор pan сгенерирует профиль XML для каждого шаблона обрабатываемого объекта. Во всем остальном они такие же, как и обычные шаблоны.

Шаблоны деклараций

[ редактировать ]

Эти шаблоны могут содержать только те операторы панорамирования, которые не изменяют профиль машины. Шаблон объявления будет выполняться только один раз для каждого шаблона обрабатываемого объекта, независимо от того, сколько раз он будет включен.

Уникальные шаблоны

[ редактировать ]

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

Шаблоны структур

[ редактировать ]

Шаблоны структур являются удобной альтернативой созданию списков и используются через функцию создания. Шаблон, объявленный с модификатором структуры, может содержать только операторы включения и операторы присваивания, которые работают с относительными путями. Любые операторы включения могут ссылаться только на другие шаблоны структур.

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 29cc3e59c3a187763319830038746e4f__1603216200
URL1:https://arc.ask3.ru/arc/aa/29/4f/29cc3e59c3a187763319830038746e4f.html
Заголовок, (Title) документа по адресу, URL1:
Pan (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)