Partilhar via


Sintaxe noções básicas sobre (BNF) do formulário de Backus Nauer

Os scripts usados pelo escrivão de ATL são descritos em este tópico usando a sintaxe de BNF, que usa notação mostrada na tabela.

Convenção/símbolo

Significado

::=

Equivalente

|

OU

X+

Um ou mais XS.

[X]

X é opcional.Os delimitadores opcionais são denotados por [].

Texto em negrito

Um literal de cadeia de caracteres.

Texto em itálico

Como construir o literal de cadeia de caracteres.

Conforme indicado na tabela anterior, os scripts de escrivão usando literais de cadeia de caracteres.Esses valores são o texto real que deve aparecer no script.A tabela a seguir descreve os literais de cadeia de caracteres usados em um script de escrivão de ATL.

Cadeia de caracteres literal

Ação

ForceRemove

Remove completamente a próxima chave (se existir) e recreia-a em.

NoRemove

Não remove a próxima chave durante Unregister.

val

Especifica que <Key Name> é realmente um valor chamado.

Excluir

Exclui a próxima chave durante o registro.

-S-

Especifica que o valor seguir é uma cadeia de caracteres (REG_SZ).

d

Especifica que o valor seguir é DWORD (REG_DWORD).

m

Especifica que o valor seguir é multistring (REG_MULTI_SZ).

b

Especifica que o valor seguir é um valor binário (REG_BINARY).

Exemplos de sintaxe de BNF

Eis alguns exemplos de sintaxe para ajudar você a entender como os literais de notação e de cadeia de caracteres trabalham em um script de escrivão de ATL.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 1

<registry expression> ::= <Add Key>

especifica que registry expression é equivalente a Add Key.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 2

<registry expression> ::= <Add Key> | <Delete Key>

especifica que registry expression é equivalente a Add Key ou a Delete Key.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 3

<Key Name> ::= '<AlphaNumeric>+'

especifica que Key Name é equivalente a um ou mais AlphaNumerics.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 4

<Add Key> ::= [ForceRemove | NoRemove | val]<Key Name>

especifica que Add Key é equivalente a Key Name, e que os literais de cadeia de caracteres, ForceRemove, NoRemove, e val, são opcionais.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 5

<AlphaNumeric> ::= any character not NULL, that is, ASCII 0

especifica que AlphaNumeric é equivalente a qualquer caractere não-nulo.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 6

val 'testmulti' = m 'String 1\0String 2\0'

especifica que o nome da chave testmulti é um valor multistring composta de String 1 e de String 2.

ttd53fhh.collapse_all(pt-br,VS.110).gifExemplo de sintaxe 7

val 'testhex' = d '&H55'

especifica que o nome da chave testhex é um valor de DWORD definido como 55 dígitos hexadecimais (85).Observe esse formato aderem à notação de &H como estabelecida na especificação do Visual Basic.

Consulte também

Referência

Criando scripts de escrivão