Informazioni sulla sintassi Backus-Naur form (BNF)

Gli script usati dal registrar ATL sono descritti in questo argomento usando la sintassi BNF, che impiega la notazione illustrata nella tabella seguente.

Convenzione/simbolo significato
::= Equivalente
| OPPURE
+X Uno o più X.
[X] X è facoltativo. I delimitatori facoltativi sono indicati da [].
Testo in grassetto Un valore letterale stringa.
Testo in corsivo Come costruire il valore letterale stringa.

Come indicato nella tabella precedente, gli script di registrazione usano valori letterali stringa. Questi valori sono il testo effettivo che deve essere inserito nello script. Nella tabella seguente vengono descritti i valori letterali stringa usati in uno script di registrazione ATL.

Stringa di valore letterale Azione
ForceRemove Rimuove completamente la chiave successiva (se presente) e quindi la ricrea.
NoRemove Non rimuove la chiave successiva durante l'annullamento della registrazione.
val Specifica che <Key Name> è effettivamente un valore denominato.
CANC Elimina la chiave successiva durante la registrazione.
s Specifica che il valore successivo è una stringa (REG_SZ).
g Specifica che il valore successivo è un valore DWORD (REG_DWORD).
m Specifica che il valore successivo è un valore multistringa (REG_MULTI_SZ).
b Specifica che il valore successivo è un valore binario (REG_BINARY).

Esempi di sintassi BNF

Ecco alcuni esempi di sintassi che aiutano a comprendere come funzionano la notazione e i valori letterali stringa in uno script di registrazione ATL.

Esempio di sintassi 1

<Espressione> del Registro di sistema ::= <Aggiungi chiave>

specifica che registry expression equivale a Add Key.

Esempio di sintassi 2

<Espressione> del Registro di sistema ::= <Aggiungi chiave> | <Elimina chiave>

specifica che registry expression equivale a Add Key o Delete Key.

Esempio di sintassi 3

<Nome> chiave ::= '<AlphaNumeric>+'

specifica che Key Name equivale a uno o più AlphaNumeric valori.

Esempio di sintassi 4

<Aggiungi chiave> ::= [ForceRemove NoRemove | | val]<Nome chiave>

specifica che Add Key equivale a Key Name e che i valori letterali stringa, ForceRemove, NoRemove e val, sono facoltativi.

Esempio di sintassi 5

<AlfaNumerico> ::= qualsiasi carattere non NULL, ovvero ASCII 0

specifica che AlphaNumeric equivale a qualsiasi carattere non NULL.

Esempio di sintassi 6

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

specifica che il nome della chiave testmulti è un valore multistringa costituito da String 1 e String 2.

Esempio di sintassi 7

val 'testhex' = d '&H55'

specifica che il nome della chiave testhex è un valore DWORD impostato su 55 esadecimale (85 decimale). Questo formato è conforme alla notazione &H riportata nella specifica di Visual Basic.

Vedi anche

Creazione degli script del Registro di sistema