파이썬 언어 서비스
파이썬 언어 서비스 (Python Language Services)
파이썬은 파이썬 언어 자체를 다루는 데 도움을 주는 여러 모듈을 제공해요. 이 모듈들은 토큰화(tokenizing), 파싱, 구문 분석, 바이트코드 역어셈블리 및 다양한 기타 기능을 지원해요.
본문
이 장에서 다루는 모듈은 다음과 같아요:
ast— 추상 구문 트리. 추상 문법, 노드 클래스, 루트 노드, 리터럴, 변수, 표현식, 서브스크립팅, 컴프리헨션, 문, import, 제어 흐름, 패턴 매칭, 타입 어노테이션, 타입 파라미터, 함수·클래스 정의, async·await,ast헬퍼, 컴파일러 플래그, 명령줄 사용.symtable— 컴파일러의 심볼 테이블에 대한 접근. 심볼 테이블 생성, 검사, 명령줄 사용.token— 파이썬 파스 트리와 함께 사용되는 상수.keyword— 파이썬 키워드 테스트.tokenize— 파이썬 소스를 위한 토크나이저. 입력 토크나이징, 명령줄 사용, 예시.tabnanny— 모호한 들여쓰기 감지.pyclbr— 파이썬 모듈 브라우저 지원. 함수 객체, 클래스 객체.py_compile— 파이썬 소스 파일 컴파일. 명령줄 인터페이스.compileall— 파이썬 라이브러리 바이트컴파일. 명령줄 사용, 공개 함수.dis— 파이썬 바이트코드 역어셈블러. 명령줄 인터페이스, 바이트코드 분석, 분석 함수, 파이썬 바이트코드 명령, opcode 컬렉션.pickletools— pickle 개발자를 위한 도구. 명령줄 사용, 명령줄 옵션, 프로그래밍 인터페이스.
이 모듈들은 소스 코드를 토큰으로 나누고(tokenize), 토큰을 추상 구문 트리로 조합하며(ast), 키워드 여부를 확인하고(keyword), 바이트코드를 역어셈블하는(dis) 등 파이썬 언어 처리 도구를 작성하는 기반이 돼요.