Delphi [델파이 문법] 문법 요소 #1
2012.09.17 19:03
델파이 문자 셋
델파이 언어는 유니코드(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)입니다. 엄밀히 말하면, 반드시 두 토큰 사이에 구분자를 두어야 하는 것은 아닙
니다. 예를 들어 다음의 코드는,
완벽하게 문법에 맞습니다. 하지만, 관례에 따르고 가독성을 높이기 위해 다음과 같이 코드
를 작성하시기 바랍니다.
토큰은 특수 기호(symbol), 식별자, 예약어, 지시어, 숫자, 레이블, 문자열로 분류됩니다. 구
분자는 토큰이 문자열인 경우에만 토큰의 일부가 될 수 있습니다. 인접한 식별자, 예약어, 숫
자, 레이블 사이에는 하나 이상의 구분자가 있어야 합니다.
# $ & ‘ ( ) * + , - . / : ; < = > @ [ ] ^ { }
다음 문자 쌍들도 역시 특수 기호입니다.
(* (. *) .) .. // := <= >= <>
다음의 표는 같은 의미를 가진 기호들을 나열합니다.
특수 기호
특수 기호는 문자나 숫자, 혹은 이들의 쌍이 아닌 문자들로서 고정된 의미를 가진 문자들입
니다. 다음 단일 문자들은 특수 기호입니다.
# $ & ‘ ( ) * + , - . / : ; < = > @ [ ] ^ { }
다음 문자 쌍들도 역시 특수 기호입니다.
(* (. *) .) .. // := <= >= <>
다음의 표는 같은 의미를 가진 기호들을 나열합니다.
왼쪽 대괄호 [는 왼쪽 괄호와 마침표의 쌍 (.과 같은 의미입니다.
오른쪽 대괄호]는 마침표와 오른쪽 괄호의 쌍.)과 같은 의미입니다.
왼쪽 중괄호 {는 왼쪽 괄호와 별표 (*와 같은 의미입니다.
오른쪽 중괄호 }는 별표와 오른쪽 괄호 *)와 같은 의미입니다.
식별자
식별자(identifier)는 상수, 변수, 필드, 타입, 속성, 프로시저, 함수, 프로그램, 유닛, 라이브러
리, 패키지를 표시합니다. 식별자의 길이는 아무런 제한이 없지만 처음 255개의 문자만 의미
를 가집니다. 식별자는 문자나 밑줄(_)로 시작해야 하고 공백을 포함할 수 없습니다. 첫 번째
문자 뒤에는 문자, 숫자 및 밑줄이 올 수 있습니다. 예약어는 식별자로 사용될 수 없습니다.
델파이 언어에서는 대소문자를 구분하지 않으므로 CalculateValue와 같은 식별자는 다음
중 어떤 방식으로도 쓸 수 있습니다.
유닛 이름은 파일 이름과 같기 때문에 대소문자가 일치하지 않으면 경우에 따라 컴파일에 문
제를일으킬수도있습니다. 더자세히알아보려면, “유닛참조와uses 절”을 참고하십시오.