Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 개선 제안 한국어 번역

PEP 306 – Python 문법을 바꾸는 방법

Author:
Michael Hudson <mwh at python.net>, Jack Diederich <jackdied at gmail.com>, Alyssa Coghlan <ncoghlan at gmail.com>, Benjamin Peterson <benjamin at python.org>
Status:
Withdrawn
Type:
Informational
Created:
29-Jan-2003
Post-History:
30-Jan-2003

Table of Contents

번역·라이선스 안내

이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판

참고

이 PEP는 Python 개발 가이드로 이전되었습니다 [1].

초록

Python의 문법을 바꾸는 일은 Grammar/GrammarPython/compile.c를 편집하는 것 이상입니다. 이 PEP는 함께 고쳐야 하는 곳들의 점검 목록이 되는 것을 목표로 합니다.

아마도 불완전할 것입니다. 누락된 부분이 보이면 할 수 있는 한 직접 추가하십시오 – 저자의 소유 의식을 건드리는 일이 아닙니다. 그렇지 않으면 버그나 패치를 제출하여 mwh에게 배정하십시오.

이 PEP는 몇 가지 이유로 Python 문법 해킹에 대한 사용 설명서로 의도된 것이 아닙니다.

근거

사람들은 항상 이 부분에서 실수를 저지릅니다. 나눗셈 연산자(//)를 추가하는 것이 parser 모듈을 망가뜨렸다는 것을 누군가 알아차리기까지 1년이 훌쩍 넘게 걸렸습니다 [2].

점검 목록

  • Grammar/Grammar: 좋습니다, 아마 이건 이미 알아내셨을 것입니다 :)
  • Parser/Python.asdlGrammar에 맞추어 변경이 필요할 수 있습니다. make를 실행하여 Include/Python-ast.hPython/Python-ast.c를 재생성하십시오.
  • Python/ast.cGrammar 변경과 관련된 AST 객체를 만들기 위해 변경이 필요합니다. Lib/compiler/ast.py도 순수 Python AST 객체에 맞추어 변경이 필요합니다.
  • Parser/pgen을 다시 실행하여 Include/graminit.hPython/graminit.c를 재생성해야 합니다. (make가 이를 대신 처리해 줄 것입니다.)
  • Python/symbtable.c: 이는 컴파일 단계 직전에 일어나는 심볼 수집 단계를 처리합니다.
  • Python/compile.c: 여러분의 생성 규칙에 대한 옵코드를 생성하기 위해 compiler_* 함수를 만들거나 수정해야 합니다.
  • Lib/symbol.py, Lib/token.py, Lib/keyword.py중 하나 이상을 재생성해야 할 수 있습니다.
  • parser 모듈. 새 문법 일부를 test_parser에 추가하고, 통과할 때까지 Modules/parsermodule.c를 두드려 보십시오.
  • 새 문법의 사용 예를 test_grammar.py에 추가하십시오.
  • compiler 패키지. 좋은 테스트 방법은 compiler 패키지로 표준 라이브러리와 테스트 스위트를 컴파일한 다음 그것이 실행되는지 확인하는 것입니다. 이는 Python 2.x에서만 필요하다는 점에 유의하십시오.
  • Python의 토큰 구조를 바꿀 정도로 나아갔다면, Lib/tokenizer.py 라이브러리 모듈도 변경해야 합니다.
  • 어떤 변경들은 라이브러리 모듈 pyclbr에 대한 조정이 필요할 수 있습니다.
  • 문서를 작성해야 합니다!
  • 모든 것을 커밋한 후에는 Python/Python-ast.c에 새로운 변경 사항이 생긴 것을 보게 될 가능성이 높습니다. 이는 이 (생성된) 파일이 자신이 생성된 소스의 SVN 버전을 담고 있기 때문입니다. 이를 피할 방법은 없으며, 이 파일은 별도로 제출해야 합니다.

참고 자료