2016-10-07 2 views
-1

BNF 문법이 어떻게 작동하는지 배우고 있으며 일부 BNF 문법 규칙의 예제가 제공되었습니다. 나는 이것이 의미하는 바를 이해하려고 노력하고 있으며, 문제가 있습니다.BNF 문법 형식에 대한 이해 문제

<S> ::= ‘(‘ <A> ‘)’  
    <A> ::= ‘[‘ <A> ‘]’    
     | <S> ‘{‘ <A> ‘}’ 
     | a | … | z 

인용문의 괄호가 무엇을 의미하는지 이해할 수 없습니다. 그리고 지금까지 내가 그것을 이해되는이 표현은

S expanded = '(' <A> ')'. 
A expanded = ‘[‘ <A> ‘]’    
      or <S> ‘{‘ <A> ‘}’ 
      or a or … or z 

같은 말을 뭔가해야하지만 A의 확장이 그것의 내부가 왜 이해가 안 돼요.

답변

1

여기에 A 생산의 따옴표로 묶은 괄호는 입력에서 리터럴 괄호를 필요로합니다.

따라서 A 구조의 유효한 예는 [ z ] 일 수 있습니다.

두 번째 점에 관해서는 A 규칙이 재귀 적입니다. 즉 꺾쇠 괄호는 A 구조에 무한대로 중첩 될 수 있습니다.