Znalost syntaxe Nauer Backusova formuláře (BNF)
Skripty používané ATL Registrar jsou popsány v tomto tématu pomocí syntaxe BNF, který používá zápis v následující tabulce.
Úmluvy nebo symbol |
Význam |
---|---|
::= |
Ekvivalent |
| |
NEBO |
X+ |
Jeden nebo více X s. |
[X] |
Xje volitelné.Volitelné oddělovače jsou označeny [] . |
Všechny tučně text |
Literál řetězce. |
Všechny kurzívou text |
Jak sestavit řetězcový literál. |
Jak je uvedeno v předchozí tabulce, tajemníka skriptů pomocí řetězcové literály.Tyto hodnoty jsou skutečný text, který musí být uvedeny ve skriptu.Následující tabulka popisuje řetězcové literály použít ve skriptu ATL registrátora.
Řetězcový literál |
Akce |
---|---|
ForceRemove |
Zcela odebere další klíč (pokud existuje) a znovu jej vytvoří. |
NoRemove |
Během Unregister neodebere další klíč. |
Val |
Určuje, že <Key Name> je skutečně pojmenovanou hodnotu. |
Odstranit |
Další klíč odstraní během registrace. |
s |
Určuje, že další hodnotu řetězce (REG_SZ). |
d |
Určuje, že další hodnotu DWORD (REG_DWORD). |
m |
Určuje, že další hodnotu víceřetězcovou hodnotu (REG_MULTI_SZ). |
b |
Určuje, že další hodnotu binární hodnota (REG_BINARY). |
Příklady Syntaxe BNF
Následuje několik příkladů syntaxe usnadňující pochopení práce literály zápis a řetězec ve skriptu ATL registrátora.
Příklad syntaxe 1
<registry expression> ::= <Add Key>
Určuje, že registry expression je ekvivalentní Add Key .
Příklad syntaxe 2
<registry expression> ::= <Add Key> | <Delete Key>
Určuje, že registry expression je ekvivalentní buď Add Key nebo Delete Key .
Příklad syntaxe 3
<Key Name> ::= '<AlphaNumeric>+'
Určuje, že Key Name odpovídá jeden nebo více AlphaNumerics .
Příklad syntaxe 4
<Add Key> ::= [ForceRemove | NoRemove | val]<Key Name>
Určuje, že Add Key je ekvivalentní Key Name a řetězcové literály ForceRemove , NoRemove , a val , jsou volitelné.
Příklad syntaxe 5
<AlphaNumeric> ::= any character not NULL, that is, ASCII 0
Určuje, že AlphaNumeric je ekvivalentní k jakékoli jiné znakem NULL.
Příklad syntaxe 6
val 'testmulti' = m 'String 1\0String 2\0'
Určuje, že název klíče testmulti je nahrazován hodnotou skládá z String 1 a String 2 .
Příklad syntaxe 7
val 'testhex' = d '&H55'
Určuje, že název klíče testhex je DWORD hodnotu hexadecimální 55 (desetinné 85).Poznámka: Tento formát dodržuje & h zápis jako naleznete ve specifikaci jazyka Visual Basic.