728x90
 

Tokens and character sets

Learn more about: Tokens and character sets

docs.microsoft.com

토근과 문자셋

c++ 프로그램 텍스트는 토큰과 공백으로 구성됩니다. 토큰은 컴파일러에게 의미 있는 c++ 프로그램의 가장 작은 요소입니다. C++ 분석기는 이러한 토큰 종류를 인식합니다.

 

- 키워드

- 식별자

- 숫자, 불, 포인터 리터럴

- 숫자, 캐릭터 리터럴

- 사용자 정이 리터럴

- 연산자

- 구두점

 

토큰은 보통 하나 또는 그 이상의 공백으로 구성됩니다.

- 공백

- 수평, 수직 탭

- 새로운 줄

- 양식 피드?

- 주석

 

기초적인 문자 집합 자료

C++ 표준은 기본적인 문자 집합셋을 소스파일에서 사용가능 하도록 합니다. 이 집합 밖에 있는 문자들을 표현하기 위해서는 추가적인 문자들은 유니버셜 캐릭터 네임을 사용해서 지정될 수 있습니다. MSVC 구현은 추가적인 문자들을 허용합니다. 기본 문자 집합 소스는 소스파일에서 사용될 96개의 문자들로 구성되어 있습니다. 이 집합은 공백 문자, 수직 탭, 수평탭, 양식 피드, 새로운 줄 제어문자, 그리고 그래픽문자까지 포함합니다.

 

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9

_ { } [ ] # ( ) < > % : ; . ? * + - / ^ & | ~ ! = , \ " '

 

마이크로소프트 관련

MSVC는 기본 문자 집합 소스로  $문자를 포함합니다. MSVC를 사용하면 파일 인코딩에 따라 소스파일에 추가 문자 집합을 사용할수 도 있습니다. 기본적으로 비주얼 스튜디오는 기본 코드페이지를 사용하여 소스파일을 저장합니다. 소스파일이 지역 로컬 코드페이지나 유니코드로 페이지를 사용하여 저장되면 MSVC는 당신에게 당신 소스코드의 코드 페이지에서 문자들을 사용하게 합니다. 기본 소스 문자집합에서 명시적으로 허락되지 않는 제어 코드를 제외하고요. 예를 들어 당신은 일본 코드페이지를 사용하여 파일을 저장하면 주석, 식별자, 문자열 리터럴에 일본 문자를 사용할 수 있습니다. MSVC는 적당한 멀티바이트로 번역되지 않거나 유니코드 코드 포인트로 전환된지 않는 문자열 순서를 허락하지 않습니다. 컴파일러 옵션에 따라 허용되는 일부 허용된 문자들이 식별자에 나타지 않을 수도 있다. 더많은 정보를 여길 보세요.

식별자

 

범용 문자 이름

C++ 프로그램은 기본 문자집합 소스에서 지정된 것들보다 더 많은 문자를 사용하기 때문에, 당신은 이러한 문자들을 범용 문자 이름을 사용하여 편리하게 지정할 수 있습니다. 범용 캐릭터 이름은 유니코드 포인트를 나타내는 문자들의 시퀀스로 구성된다. 두개의 형식을 갖는다. U+NNNNNNNN 형식의 유니코드 포인트를 나타내려면 \UNNNNNN을 사용해라. 여기서 NNNNNNN은 8진수, 18진수 코드 포인트 숫자이다. U+0000NNNN형식의 유니코드 포인트를 나타내려면 4진수 \uNNNN을 사용해라.

 

범용 문자 이름들은 식별자, 문자열, 문자 리터럴에 사용될 수 있다. 범용문자이름은 0xD800-0xDFFF 범위의 대리 코드 포인트를 나타내는데 사용되지 않습니다. 대신 희망하는 코드 포인트를 사용하세요. 컴파일러는 자동적으로 요구되는 대리품을 생성합니다. 추가적인 제한들은 식별자에 사용되는 범용 문자 이름에 적용됩니다. 더 많은 정보를 원하시면 여길 보세요. 식별자 그리고 문자열 과 문자 리터럴.

 

마이크로소프트 관련

마이크로소프트c++ 컴파일러는 범용 캐릭터와 리터럴 양식 교대로 다룹니다. 예를 들어 당신은 범용 문자 이름 양식을 사용한 식별자를 선언할 수 있고, 리터럴 양식 안에서 그것을 사용할 수 있습니다.

auto \u30AD = 42; // \u30AD is 'キ'
if (キ == 42) return true; // \u30AD and キ are the same to the compiler

윈도우 클림보드에 학장된 문자양식은 어플리케이션 로컬 세팅과 관련있습니다. 다른 어플리케이션으로 부터 당신에 코드에 이러한 문자열들을 자르고 붙여넣기하면 아마도 예기지치 못한 캐릭터 인코딩을 보여줄 것입니다. 이것은 당신 코드에서 보이지 않는 원인으로 분석 에러를 발생 시킬 것입니다. 우리는 확장된 문자들을 붙여놓기 하기전에 유니코드 코드 페이지에서 당신이 당신의 소스 파일 인코딩파일을 세팅하는 것을 추천합니다. 우리는 또 확장 문자들을 생성하는 문자맵 앱이나 IME를 사용하는 것을 권장합니다.

 

문자셋 실행

문자셋 실행은 컴파일된 프로그램에 나타날 수 있는 문자들이나 문자열를 나타나게 합니다. 이러한 문자셋은 소스파일에서 혀용된 모든 문자들과 alert, backspace,carriage return, null character를 나타내는 제어문자로 이루어져 있습니다. 문자셋 실행은 특정한 표현식을 갖고 있습니다.

 

 

728x90

+ Recent posts