Compartilhar via


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).

Consulte também

Referência

Criando scripts de registrador