다음을 통해 공유


Understanding Backus Nauer Form (BNF) Syntax

ATL 등록자에서 사용 되는 스크립트는 다음 표에 나와 있는 표기법을 사용 하는 BNF 구문을 사용 하 여이 항목에 설명 되어 있습니다.

규칙/기호

의미

::=

해당 값

|

또는

X+

하나 이상의 Xs.

[X]

X은 선택적 요소입니다. 선택적 구분 기호에서 [].

모든 굵은 텍스트

리터럴 문자열입니다.

모든 기울임꼴 텍스트

문자열 리터럴을 만드는 방법에 설명 합니다.

위의 표에서 알 수 있듯이 등록자 스크립트 문자열 리터럴을 사용 합니다. 이러한 값은 스크립트에 표시 해야 하는 실제 텍스트입니다. 다음 표에서 ATL 등록자 스크립트에서 사용 되는 문자열 리터럴을 설명 합니다.

문자열 리터럴

동작

ForceRemove

다음 키 (있는 경우)를 완전히 제거 하 고 다시 만듭니다.

NoRemove

등록 취소 중에 다음 키를 제거 하지 않습니다.

val 함수

지정 하는 <Key Name> 실제로 명명 된 값입니다.

Delete

등록 하는 동안 다음 키를 삭제합니다.

s

다음 값을 문자열 임을 지정 (REG_SZ).

d

다음 값으로 지정 된 DWORD (REG_DWORD).

m

다음 값을 문자열 지정 (REG_MULTI_SZ).

b

다음 값이 이진 값 지정 (REG_BINARY).

BNF 구문 예제

다음은 ATL 등록자 스크립트에서 표기법과 문자열 리터럴의 작동 방식을 이해 하는 데 도움이 되는 몇 가지 구문 예제입니다.

구문 예제 1

<registry expression> ::= <Add Key>

지정 하는 registry expression 같습니다 Add Key.

구문 예제 2

<registry expression> ::= <Add Key> | <Delete Key>

지정 하는 registry expression 에 해당 하는 Add Key 또는 Delete Key.

구문 예제 3

<Key Name> ::= '<AlphaNumeric>+'

지정 하는 Key Name 하나 이상에 해당 하는 AlphaNumerics.

구문 예제 4

<Add Key> ::= [ForceRemove | NoRemove | val]<Key Name>

지정 하는 Add Key 같습니다 Key Name, 그리고 문자열 리터럴 ForceRemove, NoRemove, 및 val, 선택 사항입니다.

구문 예제 5

<AlphaNumeric> ::= any character not NULL, that is, ASCII 0

지정 하는 AlphaNumeric 모든 비-NULL 문자에 해당 합니다.

구문 예제 6

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

지정 된 키 이름 testmulti multistring 값으로 구성 된 String 1 및 String 2.

구문 예제 7

val 'testhex' = d '&H55'

지정 키 이름을 testhex 되는 DWORD 값을 16 진수 55 (85 10 진수)로 설정 합니다. 참고가이 형식을 준수 하는 & H 표기법으로 Visual Basic 사양에서 찾을 수 있습니다.

참고 항목

참조

Creating Registrar Scripts