Sdílet prostřednictvím


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.

ttd53fhh.collapse_all(cs-cz,VS.110).gifPříklad syntaxe 1

<registry expression> ::= <Add Key>

Určuje, že registry expression je ekvivalentní Add Key .

ttd53fhh.collapse_all(cs-cz,VS.110).gifPříklad syntaxe 2

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

Určuje, že registry expression je ekvivalentní buď Add Key nebo Delete Key .

ttd53fhh.collapse_all(cs-cz,VS.110).gifPříklad syntaxe 3

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

Určuje, že Key Name odpovídá jeden nebo více AlphaNumerics .

ttd53fhh.collapse_all(cs-cz,VS.110).gifPří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é.

ttd53fhh.collapse_all(cs-cz,VS.110).gifPříklad syntaxe 5

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

Určuje, že AlphaNumeric je ekvivalentní k jakékoli jiné znakem NULL.

ttd53fhh.collapse_all(cs-cz,VS.110).gifPří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 .

ttd53fhh.collapse_all(cs-cz,VS.110).gifPří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.

Viz také

Referenční dokumentace

Vytváření skriptů registrátora