Ayrıştırma ağaç anlama

Bnf sözdizimi kullanarak, bir veya daha fazla ayrıştırma ağaçlar komut dosyanıza tanımlarsınız.

Formun her ağacının vardır:

 lt; kök anahtarı > < kayıt ifade > {}}+

burada:

lt; kök anahtarı >:: hkey_classes_root = |hkey_current_user | HKEY_LOCAL_MACHINE |hkey_users | hkey_performance_data |hkey_dyn_data | HKEY_CURRENT_CONFIG |hkcr |hkcu | hklm | HKU |hkpd |hkdd |[hkcc< kayıt ifade >:: = < anahtar Ekle > | < anahtarı sil > < anahtar Ekle >:: = [ForceRemove | NoRemove | val]< anahtar adı >              [< anahtar değeri >][{}< Anahtar Ekle >}] < anahtarı sil >:: = silme< anahtar adı > < anahtar adı >:: = '<AlphaNumeric> +'<AlphaNumeric>:: = herhangi bir karakter değil null, yani ASCII 0< anahtar değer >:: == < anahtar türü >< anahtar adı > < anahtar türü >:: = s | d< anahtar değer >:: = '<AlphaNumeric>'

&Notnbsp;HKEY_CLASSES_ROOTve HKCR eşdeğerdir; HKEY_CURRENT_USER ve HKCU eşdeğer; ve vb.

Bir ayrıştırma ağacında lt için birden fazla anahtarlar ve alt anahtarlar ekleyebilirsiniz; kök anahtarı >. Ayrıştırıcı tüm alt anahtarlarını ayrıştırma tamamlayana kadar bunu yaparken, bu alt anahtarı'nın kolu açık tutar. Bu yaklaşım aşağıdaki ayrıştırma ağaç örneğinde görüldüğü gibi bir defada tek bir anahtar işletim daha daha etkilidir:

HKEY_CLASSES_ROOT
{
   'MyVeryOwnKey'
   {
      'HasASubKey'
      {
         'PrettyCool?'
      }
   }
}

Burada, başlangıçta kaydedicisi açılır (oluşturur) HKEY_CLASSES_ROOT\MyVeryOwnKey . Sonra da gördüğü MyVeryOwnKey alt anahtarı vardır. Anahtar kapatmak yerine MyVeryOwnKey , Registrar kolu korur ve açar (oluşturur) HasASubKey Bu üst işleci kullanılarak. (Üst tanıtıcı yok açık olduğunda sistem kayıt daha yavaş olabilir.) Böylece açılış HKEY_CLASSES_ROOT\MyVeryOwnKey ve ardından açılış HasASubKey ile MyVeryOwnKey olarak üst açılış daha hızlı MyVeryOwnKey , kapanış MyVeryOwnKey ve sonra açılışMyVeryOwnKey\HasASubKey.

Index