Розуміння синтаксису Backus Nauer форму (BNF)

Сценарії, які використовуються на ATL реєстратора виконайте BNF синтаксис і використовувати позначення показано в наступній таблиці.

Конвенція/символ Що це означає
::= Еквівалент
| АБО
X + Один або кілька X s.
[X] Xне є обов'язковим. Факультативний роздільники позначається[].
Будь-який текст жирним шрифтом Рядкове значення.
Виділені курсивом текст Як побудувати рядкове значення.

Як зазначено в попередній таблиці, реєстратора сценарії використовувати рядок літералів. Ці значення є фактичним текстом, які повинні з'являтися у ваш сценарій. У нижченаведеній таблиці описано літералів рядок, який використовується в ATL реєстратор-сценарій.

Рядок тексту Опис
ForceRemove Повністю видалити вказаний розділ реєстру (якщо існує) та потім відновити його.
NoRemove Не видаляйте такий розділ під час Unregister.
валь Такі дії lt;Key Name> це фактично іменовані значення.
Видалити Видалити такий розділ під час реєстрації.
s Таке значення є рядок.
d Має такі значення DWORD.

BNF прикладах синтаксису

Ось кілька прикладів синтаксис, щоб допомогти вам зрозуміти, як літерали позначення та рядок працювати в ATL реєстратор-сценарій.

Синтаксис приклад 1

lt; реєстру вираз >:: = < додати ключ & gt

визначає, що registry expression еквівалентнийAdd Key.

Синтаксис приклад 2

lt; реєстру вираз >:: < додати ключ > = | < видалити ключ & gt

визначає, що registry expression є еквівалентом або Add Key абоDelete Key.

Синтаксис приклад 3

lt;Ключові ім'я >:: '= <AlphaNumeric> +'

визначає, що Key Name є еквівалентом одного або більшеAlphaNumerics.

Приклад синтаксису 4

lt;Додати ключ >:: = [ForceRemove | NoRemove | Валь]< ім'я ключа & gt

визначає, що Add Key еквівалентно Key Name і що рядок літерали, ForceRemove , NoRemove , і val , є необов'язковими.

Синтаксис приклад 5

lt;Буквено-цифрові >:: = будь-який символ не значення NULL, тобто ASCII 0

визначає, що AlphaNumeric є еквівалентом до будь-якого не є NULL символів.

Index