파이썬 언어 서비스

파이썬 언어 서비스 (Python Language Services)

파이썬은 파이썬 언어 자체를 다루는 데 도움을 주는 여러 모듈을 제공해요. 이 모듈들은 토큰화(tokenizing), 파싱, 구문 분석, 바이트코드 역어셈블리 및 다양한 기타 기능을 지원해요.

출처: Python documentation

본문

이 장에서 다루는 모듈은 다음과 같아요:

  • ast — 추상 구문 트리. 추상 문법, 노드 클래스, 루트 노드, 리터럴, 변수, 표현식, 서브스크립팅, 컴프리헨션, 문, import, 제어 흐름, 패턴 매칭, 타입 어노테이션, 타입 파라미터, 함수·클래스 정의, async·await, ast 헬퍼, 컴파일러 플래그, 명령줄 사용.
  • symtable — 컴파일러의 심볼 테이블에 대한 접근. 심볼 테이블 생성, 검사, 명령줄 사용.
  • token — 파이썬 파스 트리와 함께 사용되는 상수.
  • keyword — 파이썬 키워드 테스트.
  • tokenize — 파이썬 소스를 위한 토크나이저. 입력 토크나이징, 명령줄 사용, 예시.
  • tabnanny — 모호한 들여쓰기 감지.
  • pyclbr — 파이썬 모듈 브라우저 지원. 함수 객체, 클래스 객체.
  • py_compile — 파이썬 소스 파일 컴파일. 명령줄 인터페이스.
  • compileall — 파이썬 라이브러리 바이트컴파일. 명령줄 사용, 공개 함수.
  • dis — 파이썬 바이트코드 역어셈블러. 명령줄 인터페이스, 바이트코드 분석, 분석 함수, 파이썬 바이트코드 명령, opcode 컬렉션.
  • pickletools — pickle 개발자를 위한 도구. 명령줄 사용, 명령줄 옵션, 프로그래밍 인터페이스.

이 모듈들은 소스 코드를 토큰으로 나누고(tokenize), 토큰을 추상 구문 트리로 조합하며(ast), 키워드 여부를 확인하고(keyword), 바이트코드를 역어셈블하는(dis) 등 파이썬 언어 처리 도구를 작성하는 기반이 돼요.

더 알아보기 (Learn more)