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

소스 코드: Lib/token.py

이 모듈은 구문 분석 트리의 말단 노드의 숫자 값을 나타내는 상수를 제공합니다 (터미널 토큰). 언어 문법의 문맥에서 이름의 정의는 파이썬 배포판의 `Grammar/Grammar` 파일을 참조하십시오. 이름이 매핑되는 특정 숫자 값은 파이썬 버전 간에 변경될 수 있습니다.

이 모듈은 숫자 코드에서 이름으로의 매핑과 몇몇 함수도 제공합니다. 이 함수는 파이썬 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.``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()`로 구형 파이썬 버전의 구문 분석을 지원하는 데 필요합니다).