Noções básicas sobre a sintaxe de formulário (BNF) Backus Nauer
Os scripts usados pelo registrador ATL são descritos neste tópico usando sintaxe BNF, que usa a notação mostrada na tabela a seguir.
Convenção/símbolo |
Significado |
---|---|
::= |
Equivalente |
| |
OU |
X+ |
Um ou mais Xs. |
[X] |
X é opcional. Delimitadores opcionais são indicadas por []. |
Any negrito texto |
Uma seqüência de caracteres literal. |
Any Aplicar formato itálico texto |
Como construir a seqüência literal. |
Conforme indicado na tabela anterior, o registrador scripts usam seqüências literais.Esses valores são texto real que deve aparecer no script.A tabela a seguir descreve os literais da cadeia de caracteres usados em um script de registrador de ATL.
Literal de seqüência de caracteres |
Ação |
---|---|
ForceRemove |
Remove completamente a próxima chave (se existir) e recria-lo. |
NoRemove |
Não remove a próxima chave durante cancela o registro. |
Val |
Especifica que <Key Name> é realmente um valor nomeado. |
Excluir |
Exclui a próxima chave durante o registro. |
s |
Especifica que o próximo valor é uma string (REG_SZ). |
d |
Especifica que o próximo valor é um DWORD (REG_DWORD). |
m |
Especifica que o próximo valor é um multistring (REG_MULTI_SZ). |
b |
Especifica que o próximo valor é um valor binário (REG_BINARY). |
Exemplos de sintaxe BNF
Aqui estão alguns exemplos de sintaxe para ajudar a entender como as notação e seqüência de caracteres literais funcionam em um script de registrador de ATL.
Sintaxe do exemplo 1
<registry expression> ::= <Add Key>
Especifica que registry expression é equivalente a Add Key.
Sintaxe do exemplo 2
<registry expression> ::= <Add Key> | <Delete Key>
Especifica que registry expression equivale a um Add Key ou Delete Key.
Sintaxe do exemplo 3
<Key Name> ::= '<AlphaNumeric>+'
Especifica que Key Name equivale a um ou mais AlphaNumerics.
Sintaxe do exemplo 4
<Add Key> ::= [ForceRemove | NoRemove | Val]<Key Name>
Especifica que Add Key é equivalente a Key Namee que os literais da cadeia de caracteres ForceRemove, NoRemove, e val, são opcionais.
Sintaxe do exemplo 5
<AlphaNumeric> ::= qualquer caractere não nulo, ou seja, ASCII 0
Especifica que AlphaNumeric é equivalente a qualquer não-caractere nulo.
Sintaxe do exemplo 6
val 'testmulti' = m 'String 1\0String 2\0'
Especifica que a chave de nome testmulti é um valor multistring composto String 1 e String 2.
Sintaxe do exemplo 7
val 'testhex' = d '&H55'
Especifica que a chave de nome testhex é um DWORD valor definido como 55 hexadecimal (85 decimal).Observe que esse formato segue o &H notação sistema autônomo encontrada na especificação de Bsistema autônomoic Visual.Para obter mais informações sobre esse formato, consulte Função Hex (Visual Basic).