반응형

[2019.03.06]

원문 : 애플 개발 문서 Swift 5.0 Language Reference - About the Language Reference

언어 참조 정보(About the Language Reference)

책의 이 부분(part)은 Swift 프로그래밍 언어의 정식(formal) 문법을 설명합니다. 여기에 설명된 문법은 파서(parser)나 컴파일러를 직접 구현할수 있도록 하기 보다는, 여러분이 언어를 더 자세히 이해하는데 도움을 주기 위함입니다.

Swift 코드의 거의 모든 곳에서 나타나는 많은 공통 타입, 함수, 연산자들이 Swift 표준 라이브러리에서 실제 정의되어 있기 때문에, Swift 언어는 비교적 작습니다. 비록 이러한 타입, 함수, 연산자가 Swift 언어의 일부가 아니지만, 책의 이 부분에 있는 토론(discussions)과 코드 예제에서 광범위하게 사용됩니다.

문법 읽는 방법(How to Read the Grammar)

Swift 프로그래밍 언어의 정식 문법을 설명하는데 사용되는 표기법(notation)은 몇가지 규칙을 따릅니다.

  • 화살표()는 작성하는(productions) 문법을 표시하는데 사용되고 ~로 구성될수 있음(can consist of)로 읽을 수 있습니다.
  • 구문 카테고리(Syntactic categories)는 이텔릭(italic) 텍스트로 표시되고 문법 작성 규칙의 양쪽에 나타납니다.
  • 리터럴 단어와 구두점(punctuation)은 굵은체로 constant width(일정한 폭) 텍스트를 가리키고 문법 작성 규칙의 오른쪽에서만 나타납니다.
  • 대체할 수 있는 문법 작성은 수직 바(|)로 구분됩니다. 대체할 작성문이 너무 길어서 읽기 쉽도록하기 위해, 새로운 줄에서 여러 문법 작성 규칙으로 분리합니다.
  • 몇가지의 경우, 일반적인 폰트 텍스트는 문법 작성 규칙의 오른쪽 설명에 사용됩니다.
  • 옵셔널 구문 카테고리(syntactic categories)와 리터럴(literal)은 서브스크립트의 끝에 표시됩니다. opt

예제에서처럼, getter-setter 블럭의 문법은 다음과 같이 정의됩니다.

getter-setter 블럭 문법
getter-setter-black → { getter-clause setter-clause opt } | { setter-clause getter-clause }

이 정의는 getter-setter 블럭이 중괄호({})로 묶어서, getter절 다음에 옵셔널로 setter절이 오거나, 중괄호({})로 묶어서 setter절 다음에 getter절이 오도록 구성할 수 있습니다. 위의 문법 작성은 다음에 오는 두개의 작성법과 동일하며, 대체하는 것은 맞춤법에 맞게 명시적으로 쓰여집니다.

getter-setter 블럭의 문법
getter-setter-black → { getter-clause setter-clause opt }
getter-setter-black → { setter-clause getter-clause }


반응형

'Swift > Language Reference' 카테고리의 다른 글

타입(Types)  (0) 2019.03.11
어휘 구조(Lexical Structure)  (0) 2019.03.08
Posted by 까칠코더
,