語法結構使用BNF範式形式給出,先作一個簡單瞭解。web
在雙引號中的字("word")表明着這些字符自己。而double_quote用來表明雙引號。
在雙引號外的字(有可能有下劃線)表明着語法部分。
尖括號( < > )內包含的爲必選項。
方括號( [ ] )內包含的爲可選項。
大括號( { } )內包含的爲可重複0至無數次的項。
豎線( | )表示在其左右兩邊任選一項,至關於"OR"的意思。
::= 是「被定義爲」的意思。
BNF 語法使用下表中顯示的表示法。ide
約定/符號 | 含義 |
---|---|
::= |
等效 |
| |
OR |
X+ |
一個或多個 X 。 |
[X] |
X 可選。可選的分隔符由 [] 表示。 |
任何粗體文本 | 字符串。 |
任何斜體 文本 | 如何構造字符串。 |
正如前表中所指出的,註冊器腳本使用字符串。這些值是必須出如今腳本中的實際的文本。下表描述 ATL 註冊器腳本中使用的字符串。spa
字符串 | 操做 |
---|---|
ForceRemove | 徹底移除下一項(若是存在),而後從新建立它。 |
NoRemove | 在「註銷」期間不移除下一項。 |
val | 指定 <Key Name> 其實是一個命名值。 |
Delete | 在「註冊」期間刪除下一項。 |
s | 指定下一個值爲字符串 (REG_SZ)。 |
d | 指定下一個值爲 DWORD (REG_DWORD)。 |
m | 指定下一個值爲多字符串 (REG_MULTI_SZ)。 |
b | 指定下一個值爲二進制值 (REG_BINARY)。 |
如下是一些語法示例,能夠幫助您理解表示法和字符串在 ATL 註冊器腳本中的工做方式。code
- <registry expression> ::= <Add Key>
指定 registry expression
等效於 Add Key
。orm
- <registry expression> ::= <Add Key> | <Delete Key>
指定 registry expression
等效於 Add Key
或 Delete Key
。ci
- <Key Name> ::= '<AlphaNumeric>+'
指定 Key Name
等效於一個或多個 AlphaNumeric
。字符串
- <Add Key> ::= [ForceRemove | NoRemove | val]<Key Name>
指定 Add Key
等效於 Key Name
,並且字符串、ForceRemove
、NoRemove
以及 val
均爲可選。string
- <AlphaNumeric> ::= any character not NULL, that is, ASCII 0
指定 AlphaNumeric
等效於任何非空字符。it
- val 'testmulti' = m 'String 1\0String 2\0'
指定項名 testmulti
是由 String 1
和 String 2
組成的多字符串值。