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.