2017-04-05 12 views
0

EBNF 표기법에서 많은 것을 볼 수 있지만 => 설명을 찾을 수 없습니다. 나는 몇몇의 PDF와 Wikipedia를 googled하고 읽었지만 여전히 단서는 없다.EBNF 표기법의 => 의미

assignmentExpression: 
    (leftHandSideExpression assignmentOperator) => 
    leftHandSideExpression assignmentOperator assignmentExpression 
    | conditionalExpression 
    ; 
+1

이 종류의 EBNF 표기법을 사용하고있는 것은 무엇입니까? 그게 도움이 될거야. 사용중인 여러 EBNF 변형이 있으므로이 표기법을 사용하는 방법에 대한 설명이 없다는 것에 놀랐습니다. 어떤 사람들은 다양한 프로그래밍 언어 (예 : Python)의 저자, ​​XML의 정의를 유지하는 W3C, IETF의 고유 한 변종을 가진 ABNF라는 고유 한 변종을 갖고 있으며 국제 표준 ISO/IEC를 염두에 두지 않습니다. 14977 나는 드물게 사용되는 것을 보았다. 귀하의 질문에 표기법은 나에게 익숙하지 않습니다; 다른 EBNF 표기법이 될 수도 있습니다. –

답변

2

필자의 추측은 구문 분석기에 대한 힌트 또는 지침입니다 (아마도 재귀 - 하강). 예를 들어 assignmentExpression을 구문 분석하려고 시도하고 있고 보류중인 입력의 접두사를 으로 구문 분석 한 다음 leftHandSideExpression assignmentOperator assignmentExpression 대안 인 assignmentExpression을 구문 분석하도록 커밋 할 수 있습니다.

+1

동의. 예를 들어 답이 향상 될 수 있습니다 :'x = $;'는 대입 표현식이 예상되는 곳에서 '$'가 발견된다는 구문 오류를 생성해야합니다. 힌트가 없으면 구문 오류가 대신'= '에 대해 불평 할 수 있습니다. – hvd