# `token` — 파이썬 구문 분석 트리에 사용되는 상수

소스 코드: Lib/token.py

This module provides constants which represent the numeric values of leaf nodes of the parse tree (terminal tokens). Refer to the file `Grammar/Tokens` in the Python distribution for the definitions of the names in the context of the language grammar. The specific numeric values which the names map to may change between Python versions.

이 모듈은 숫자 코드에서 이름으로의 매핑과 몇몇 함수도 제공합니다. 이 함수는 파이썬 C 헤더 파일의 정의를 반영합니다.

token.tok_name

  이 모듈에 정의된 상수의 숫자 값을 다시 이름 문자열로 매핑하여 사람이 읽을 수 있는 구문 분석 트리 표현을 생성할 수 있도록 하는 딕셔너리.

token.ISTERMINAL(x)

  터미널 토큰값이면 `True`를 반환합니다.

token.ISNONTERMINAL(x)

  비 터미널 토큰값이면 `True`를 반환합니다.

token.ISEOF(x)

  x가 입력의 마지막을 나타내는 표시면 `True`를 반환합니다.

토큰 상수는 다음과 같습니다:

token.ENDMARKER

token.NAME

token.NUMBER

token.STRING

token.NEWLINE

token.INDENT

token.DEDENT

token.LPAR

  `"("`의 토큰값.

token.RPAR

  `")"`의 토큰값.

token.LSQB

  `"["`의 토큰값.

token.RSQB

  `"]"`의 토큰값.

token.COLON

  `":"`의 토큰값.

token.COMMA

  `","`의 토큰값.

token.SEMI

  `";"`의 토큰값.

token.PLUS

  `"+"`의 토큰값.

token.MINUS

  `"-"`의 토큰값.

token.STAR

  `"*"`의 토큰값.

token.SLASH

  `"/"`의 토큰값.

token.VBAR

  `"|"`의 토큰값.

token.AMPER

  `"&"`의 토큰값.

token.LESS

  `"<"`의 토큰값.

token.GREATER

  `">"`의 토큰값.

token.EQUAL

  `"="`의 토큰값.

token.DOT

  `"."`의 토큰값.

token.PERCENT

  `"%"`의 토큰값.

token.LBRACE

  `"{"`의 토큰값.

token.RBRACE

  `"}"`의 토큰값.

token.EQEQUAL

  `"=="`의 토큰값.

token.NOTEQUAL

  `"!="`의 토큰값.

token.LESSEQUAL

  `"<="`의 토큰값.

token.GREATEREQUAL

  `">="`의 토큰값.

token.TILDE

  `"~"`의 토큰값.

token.CIRCUMFLEX

  `"^"`의 토큰값.

token.LEFTSHIFT

  `"<<"`의 토큰값.

token.RIGHTSHIFT

  `">>"`의 토큰값.

token.DOUBLESTAR

  `"**"`의 토큰값.

token.PLUSEQUAL

  `"+="`의 토큰값.

token.MINEQUAL

  `"-="`의 토큰값.

token.STAREQUAL

  `"*="`의 토큰값.

token.SLASHEQUAL

  `"/="`의 토큰값.

token.PERCENTEQUAL

  `"%="`의 토큰값.

token.AMPEREQUAL

  `"&="`의 토큰값.

token.VBAREQUAL

  `"|="`의 토큰값.

token.CIRCUMFLEXEQUAL

  `"^="`의 토큰값.

token.LEFTSHIFTEQUAL

  `"<<="`의 토큰값.

token.RIGHTSHIFTEQUAL

  `">>="`의 토큰값.

token.DOUBLESTAREQUAL

  `"**="`의 토큰값.

token.DOUBLESLASH

  `"//"`의 토큰값.

token.DOUBLESLASHEQUAL

  `"//="`의 토큰값.

token.AT

  `"@"`의 토큰값.

token.ATEQUAL

  `"@="`의 토큰값.

token.RARROW

  `"->"`의 토큰값.

token.ELLIPSIS

  `"..."`의 토큰값.

token.COLONEQUAL

  `":="`의 토큰값.

token.OP

token.AWAIT

token.ASYNC

token.TYPE_IGNORE

token.TYPE_COMMENT

token.SOFT_KEYWORD

token.ERRORTOKEN

token.N_TOKENS

token.NT_OFFSET

다음 토큰 유형 값은 C 토크나이저가 사용하지 않지만 `tokenize` 모듈에 필요합니다.

token.COMMENT

  주석을 나타내는 데 사용되는 토큰값.

token.NL

  비종결 줄넘김을 나타내는데 사용되는 토큰값. `NEWLINE` 토큰은 파이썬 코드의 논리적 줄의 끝을 나타냅니다; `NL` 토큰은 코드의 논리적 줄이 여러 물리적 줄로 이어질 때 생성됩니다.

token.ENCODING

  소스 바이트열을 텍스트로 디코딩하는 데 사용되는 인코딩을 나타내는 토큰값. `tokenize.tokenize()`에 의해 반환되는 첫 번째 토큰은 항상 `ENCODING` 토큰입니다.

token.TYPE_COMMENT

  형 주석이 인식되었음을 나타내는 토큰값. 이러한 토큰은 `ast.parse()`가 `type_comments=True`로 호출될 때만 생성됩니다.

버전 3.5에서 변경: `AWAIT` 와 `ASYNC` 토큰이 추가되었습니다.

버전 3.7에서 변경: `COMMENT`, `NL` 및 `ENCODING` 토큰이 추가되었습니다.

버전 3.7에서 변경: `AWAIT` 와 `ASYNC` 토큰이 제거되었습니다. “async”와 “await”는 이제 `NAME` 토큰으로 토큰화됩니다.

버전 3.8에서 변경: `TYPE_COMMENT`, `TYPE_IGNORE`, `COLONEQUAL`이 추가되었습니다. `AWAIT`와 `ASYNC` 토큰을 다시 추가했습니다 (`feature_version`을 6 이하로 설정하여 `ast.parse()`로 구형 파이썬 버전의 구문 분석을 지원하는 데 필요합니다).