Freigeben über


Einführung in die BNF-Syntax (Backus Naur Form)

Die vom ATL-Registrar verwendeten Skripts sind in diesem Thema mit der BNF-Syntax beschrieben, für die die in der folgenden Tabelle aufgeführte Notation verwendet wird.

Konvention/Symbol Bedeutung
::= Entsprechung
| OR
+X Mindestens ein X.
[X] X ist optional. Optionale Trennzeichen werden durch [] gekennzeichnet.
Jeglicher fett ausgezeichnete Text Ein Zeichenfolgenliteral.
Jeglicher kursiv ausgezeichnete Text Art und Weise, wie das Zeichenfolgenliteral erstellt wird.

Wie in der obigen Tabelle angegeben ist, werden für Registrar-Skripts Zeichenfolgenliterale verwendet. Diese Werte sind tatsächlich Text, der in Ihrem Skript vorhanden muss. In der folgende Tabelle sind die Zeichenfolgenliterale beschrieben, die in einem ATL-Registrar-Skript verwendet werden.

Zeichenfolgenliteral Aktion
ForceRemove Entfernt den nächsten Schlüssel (sofern vorhanden) vollständig und erstellt diesen dann neu.
NoRemove Entfernt den nächsten Schlüssel beim Aufheben der Registrierung nicht.
val Gibt an, dass <Key Name> tatsächlich ein benannter Wert ist.
Delete Löscht den nächsten Schlüssel während der Registrierung.
s Gibt an, dass der nächste Wert eine Zeichenfolge (REG_SZ) ist.
d Gibt an, dass der nächste Wert ein DWORD-Wert (REG_DWORD) ist.
m Gibt an, dass der nächste Wert eine mehrteilige Zeichenfolge (REG_MULTI_SZ) ist.
b Gibt an, dass der nächste Wert ein Binärwert (REG_BINARY) ist.

Beispiele für die BNF-Syntax

Es folgen einige Syntaxbeispiele, die Ihnen verdeutlichen sollen, wie die Notation und die Zeichenfolgenliterale in einem ATL-Registrar-Skript funktionieren.

Syntaxbeispiel 1

<Registrierungsausdruck> ::= <Schlüssel hinzufügen>

gibt an, dass registry expression mit Add Key identisch ist.

Syntaxbeispiel 2

<Registrierungsausdruck> ::= <Schlüssel> hinzufügen | <ENTF-TASTE>

gibt an, dass registry expression entweder mit Add Key oder mit Delete Key identisch ist.

Syntaxbeispiel 3

<Schlüsselname> ::= '<AlphaNumeric>+'

Gibt an, dass Key Name einem oder AlphaNumeric mehreren Werten entspricht.

Syntaxbeispiel 4

<Schlüssel> hinzufügen ::= [ForceRemove NoRemove | | val]<Schlüsselname>

gibt an, dass Add Key mit Key Name identisch ist, und dass die Zeichenfolgenliterale ForceRemove, NoRemove und val optional sind.

Syntaxbeispiel 5

<AlphaNumeric> ::= beliebiges Zeichen nicht NULL, d. a. ASCII 0

gibt an, dass AlphaNumeric mit jedem Nicht-NULL-Zeichen identisch ist.

Syntaxbeispiel 6

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

gibt an, dass der Schlüsselname testmulti eine mehrteilige Zeichenfolge ist, die aus String 1 und String 2 besteht.

Syntaxbeispiel 7

val 'testhex' = d '&H55'

gibt an, dass der Schlüsselname testhex ein DWORD-Wert ist, der auf hexadezimal 55 (dezimal 85) festgelegt ist. Beachten Sie, dass dieses Format der &H-Notation entspricht, wie sie in der Visual Basic-Spezifikation enthalten ist.

Siehe auch

Erstellen von Registrierungsskripts