2017-12-20 3 views
4

Common Lisp의 도구에 대해 좀더 익숙해지기 위해 나는 설명서를 읽을 때 어려움을 겪고있는 것으로 나타났습니다. 즉, 해당 매크로의 사용법을 이해하는 것은 어렵습니다.Common Lisp (HyperSpec) 문서를 읽고 이해하기

예를 들어, this 고려 :

do ({var | (var [init-form [step-form]])}*) (end-test-form result-form*) declaration* {tag | statement}*

어떻게 괄호를 해석 하는가? 둥근 괄호 ()은 Lisp 목록과 일치합니까? 수직 막대는 무엇입니까? 중괄호? 별표?

대부분 유닉스 맨 페이지를 읽고 구문을 잘 이해할 수 있습니다. 그러나, 완전히 다른 무언가가 여기에서 계속되고있는 것처럼 보입니다.

+4

[1.4.1] (http://www.lispworks.com/documentation/HyperSpec/Body/01_da.htm) 및 [1.4.1.2] (http://www.lispworks.com/ documentation/HyperSpec/Body/01_dab.htm)? – tfb

+0

그것을 놓쳤습니다. 감사! – MadPhysicist

+0

[ENBF] (https://en.wikipedia.org/wiki/Extended_Backus-Naur_form) –

답변

8

이것은 내가 대답으로 생각하는 내 의견의 확장입니다.

먼저 CLHS는 사양입니다. 많은 사람들이 물론 CL을 배웠지 만 입문 자료는별로 좋지 않습니다. 일부 표기법은 사양의 종이 (또는 PDF) 버전에서도 읽기 쉽습니다. HTML 로의 변환이 꽤 좋았지 만 (당시에는 영웅 이었지만) 항상 완전하지는 않습니다. 종이 사본을 얻을 수 있다면 어떤 경우에는 더 좋습니다.

즉, section 1.4.1에는 표기 규칙이 있고 section 1.4.1.2은 구체적으로 사양에 사용 된 BNF 변형을 처리합니다.

+1

BNF에 관해 저에게 가르쳐 주셔서 감사합니다! 나는 뭔가를 놓친다는 것을 알았다! :) – MadPhysicist