구문 분석 트리 이해

스크립트에서 하나 이상의 구문 분석 트리 정의 BNF 구문을 사용 하 여,。

각 구문 분석 트리 형태를 하고있다:

 lt; 루트 키 >{< 레지스트리 식 >}+

어디:

lt; 루트 키 >:: = HKEY_CLASSES_ROOT (ko) |HKEY_CURRENT_USER (ko) | HKEY_LOCAL_MACHINE (ko) |HKEY_USERS (ko) | HKEY_PERFORMANCE_DATA (ko) |HKEY_DYN_DATA (ko) | HKEY_CURRENT_CONFIG (ko) |HKCR |HKCU | HKLM | HKU |HKPD |HKDD |한 인 상공회의소< 레지스트리 식 >:: < 키 추가 > = (ko) | < delete 키 > < 키 추가 >:: = [ForceRemove (ko) | NoRemove | val]< 키 이름 > ???????????? [< 키 값 >][{< 키 추가 >}] < 키를 삭제 >:: = < 키 이름 > 삭제< 키 이름 >:: '= <AlphaNumeric> +'<AlphaNumeric>:: = 어떤 아닌 문자 NULL, 즉, ASCII 0< 키 값 >:: == < 키 유형 >< 키 이름 > < 키 형식 >:: = s (ko) | d< 키 값 >:: '<AlphaNumeric>' =

메모nbsp;HKEY_CLASSES_ROOT및 HKCR 같습니다; HKEY_CURRENT_USER 와 HKCU 등가; 등등은(&N)。

구문 분석 트리 lt를 여러 키와 하위 키를 추가; 키 루트 >. 이렇게, 그것은 하위 키의 핸들 오픈까지 유지 파서가 모든 하위 구문 분석을 완료 했습니다. 이 방법은 한 번에 하나의 키에서 운영 하는 것 보다 효율적 구문 분석 트리 예제와 같이:

HKEY_CLASSES_ROOT
{
 nbsp; ' MyVeryOwnKey'
 ? {
 ???? ' HasASubKey'
 ???? {
 ??????? ' PrettyCool?'
 ???? }
 ? }
}(&N)

여기에 등록 처음 열립니다 (만듭니다) HKEY_CLASSES_ROOT\MyVeryOwnKey . 다음을 보면 MyVeryOwnKey 하위 키를 있다. 키를 종료 하는 대신 MyVeryOwnKey , 레지스트라 핸들을 유지 하 고 열립니다 (만듭니다) HasASubKey 이 부모 핸들을 사용 하 여. (시스템 레지스트리 느려질 수 있습니다 없는 부모 핸들이 열릴 때.) 따라서, 여 HKEY_CLASSES_ROOT\MyVeryOwnKey 및 다음 열기 HasASubKey 와 MyVeryOwnKey 부모 개방 보다는 MyVeryOwnKey 닫기, MyVeryOwnKey , 및 다음 열기MyVeryOwnKey\HasASubKey。

Index