Delphi [델파이 문법] 문법 요소 #1

2012.09.17 19:03

관리자 조회 수:7685

델파이 문자 셋

델파이 언어는 유니코드(Unicode) 문자셋(character set)을 사용하며, 여기에는 유니코드
문자들과 영숫자 및 밑줄이 포함됩니다. 대/소문자는 구분하지 않습니다. 스페이스 문자와
ASCII 제어 문자들(리턴 혹은 개행 문자인 ASCII 13을 포함, ASCII 0부터 31까지)은 공백
(blank)이라고 부릅니다.

RAD 스튜디오 컴파일러는 파일에 BOM(byte order mark) 헤더가 있을 경우 UCS-2 혹은
UCS-4 인코딩된 파일을 허용합니다. 하지만 UTF-8 이외의 포맷을 사용할 경우 컴파일 속
도가 느려질 수 있습니다. UCS-4로 인코딩된 소스 파일의 모든 문자들은 UCS-2에서 서로
게이트 페어(surrogate pair) 없이 표현 가능해야 합니다. 서로게이트 페어를 가진 UCS-2
인코딩(GB18030 포함)은 codepage 컴파일러 옵션이 지정된 경우에만 허용됩니다.

기본 문법 요소들은 토큰이라고 불리며, 조합되어 표현식, 선언 및 문장을 구성합니다. 문장
은 프로그램 내에서 실행될 수 있는 알고리즘 동작을 기술합니다. 표현식은 문장에서 나타나
는 문법 단위로서 값을 나타냅니다. 선언은 표현식과 문장에서 사용할 수 있는 식별자(함수
나 변수의 이름 등)를정의하고, 적절한 경우 식별자를 위한 메모리를 할당합니다.


기본적인 문법

가장 단순하게 보자면, 프로그램은 구분자(separator)로 단락지어지는 연속된 토큰들입니
다. 토큰은 프로그램에서 의미를 가진 텍스트의 최소 단위입니다. 구분자는 공백이거나 주석
(comment)입니다. 엄밀히 말하면, 반드시 두 토큰 사이에 구분자를 두어야 하는 것은 아닙
니다. 예를 들어 다음의 코드는,

1.png

완벽하게 문법에 맞습니다. 하지만, 관례에 따르고 가독성을 높이기 위해 다음과 같이 코드
를 작성하시기 바랍니다.

2.png

토큰은 특수 기호(symbol), 식별자, 예약어, 지시어, 숫자, 레이블, 문자열로 분류됩니다. 구
분자는 토큰이 문자열인 경우에만 토큰의 일부가 될 수 있습니다. 인접한 식별자, 예약어, 숫
자, 레이블 사이에는 하나 이상의 구분자가 있어야 합니다.


특수 기호

특수 기호는 문자나 숫자, 혹은 이들의 쌍이 아닌 문자들로서 고정된 의미를 가진 문자들입
니다. 다음 단일 문자들은 특수 기호입니다.

# $ & ‘ ( ) * + , - . / : ; < = > @ [ ] ^ { }

다음 문자 쌍들도 역시 특수 기호입니다.

(* (. *) .) .. // := <= >= <>

다음의 표는 같은 의미를 가진 기호들을 나열합니다.

3.png

왼쪽 대괄호 [는 왼쪽 괄호와 마침표의 쌍 (.과 같은 의미입니다.
오른쪽 대괄호]는 마침표와 오른쪽 괄호의 쌍.)과 같은 의미입니다.
왼쪽 중괄호 {는 왼쪽 괄호와 별표 (*와 같은 의미입니다.
오른쪽 중괄호 }는 별표와 오른쪽 괄호 *)와 같은 의미입니다.


식별자

식별자(identifier)는 상수, 변수, 필드, 타입, 속성, 프로시저, 함수, 프로그램, 유닛, 라이브러
리, 패키지를 표시합니다. 식별자의 길이는 아무런 제한이 없지만 처음 255개의 문자만 의미
를 가집니다. 식별자는 문자나 밑줄(_)로 시작해야 하고 공백을 포함할 수 없습니다. 첫 번째
문자 뒤에는 문자, 숫자 및 밑줄이 올 수 있습니다. 예약어는 식별자로 사용될 수 없습니다.
델파이 언어에서는 대소문자를 구분하지 않으므로 CalculateValue와 같은 식별자는 다음
중 어떤 방식으로도 쓸 수 있습니다.

4.png

유닛 이름은 파일 이름과 같기 때문에 대소문자가 일치하지 않으면 경우에 따라 컴파일에 문
제를일으킬수도있습니다. 더자세히알아보려면, “유닛참조와uses 절”을 참고하십시오.

번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 22420
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20943
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 23014
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28794
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29998
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 25347
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 46295
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 182123
1397 N 윈도우와 맥 개발 시작을 위한 파이어몽키 코스북: 무료 다운로드 제공(385페이지) 관리자 2013.04.05 152367
1396 ComPort(시리얼 통신) 컴포넌트 설치안내 [11] file 험프리 2013.12.04 112476
1395 [REST API] REST 기반 파일 업로드와 다운로드 구현하기 험프리 2020.08.31 84590
1394 델파이 튜토리얼 자습서 이용 안내 관리자 2014.09.01 71985
1393 이 달의 기술자료 - 2014년 11월 험프리 2014.10.13 54173
1392 이 달의 기술자료 - 2014년 6월 file 험프리 2014.06.05 50404
1391 Find the O/S Language Type c2design 2014.07.30 48380
1390 RAD Studio Resource Center 박병일 2012.01.26 46623
1389 CD-ROM 열고 닫기 박병일 2011.12.22 44783
1388 [Android] 폰번호 가져오기 [1] 타락천사 2014.09.05 38628
1387 이 달의 기술자료 - 2014년 12월 file 험프리 2014.11.26 32512
1386 RAD Studio XE6 Update1 발표 [1] Humphery 2014.06.20 29499
1385 델파이XE2 파이어몽키 기반 아이폰앱 개발에서 제스춰를 인식시키는 방법 박병일 2012.01.25 23330
1384 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 23173