프리티프린트

Prettyprint

예쁜 인쇄(또는 예쁜 인쇄)는 소스 코드, 마크업 및 유사한 종류의 컨텐츠와 같은 다양한 스타일 형식 지정 규칙을 텍스트 파일에 적용하는 것입니다.이러한 형식 지정 규칙에서는 다른 색상과 서체를 사용하여 소스 코드의 구문 요소를 강조 표시하거나 사용자가 내용을 읽고 이해하기 쉽게 크기를 조정하는 들여쓰기 스타일을 고수해야 할 수 있습니다.소스 코드의 프린터는 코드 포맷터 또는 뷰티어불리기도 합니다.

예쁜 인쇄 수학

조판식

예쁜 인쇄는 일반적으로 전문적으로 조판되는 방식과 유사한 수학 식을 표시하는 것을 말합니다.예를 들어, 맥시마 또는 매스매티카 같은 컴퓨터 대수 시스템의 시스템"x2+3){\displaystyle x^{2}+3x}"로")^ 2+3*)" 같은 결과물은 카시오 9860 시리즈, HP-49 시리즈, TI-84 게다가, TI-89, TI-Nspire, TI-83 게다가 PrettyPt[1]추가 기능과 함께, 또는 TI-84 게다가 고객과 같은 일부는 도표 계산기를 쓸 것이다.같은 추가하거나"MathPrint" 지원 OS는 예쁜 인쇄를 수행할 수 있습니다.또한 Casio FX-ES 시리즈(내추럴 디스플레이), Sharp EL-W 시리즈(WriteView), HP SmartCalc 300s, TI-30XB, Numworks 등 최신 과학 계산기에는 예쁜 인쇄가 가능한 도트 매트릭스 화면이 다수 탑재되어 있습니다.

많은 텍스트 형식 지정 프로그램에서도 수학을 타이핑할 수 있습니다.TeX는 고품질의 수학 조판용으로 특별히 개발되었습니다.

예쁜 인쇄 마크업 및 태그 기반 코드

HTML 소스 코드, 요소의 계층적 관계를 보다 잘 표시하기 위해 인쇄된 것(태그라고 함)

마크업 언어 인스턴스의 예쁜 인쇄는 일반적으로 태그 및 문자열 내용을 들여쓰기하여 계층 및 중첩을 시각적으로 결정합니다.태그 기반 언어의 구문 구조는 크게 다르지 않지만, 들여쓰기 부분은 마크업 언어가 해석되는 방법이나 기술되는 데이터에 따라 크게 달라질 수 있습니다.

MathML에서 공백 문자는 XML 구문에 필요한 데이터, 의미 또는 구문을 반영하지 않습니다.HTML에서 태그 사이의 공백 문자는 텍스트로 간주되며 구문 분석된 [2]결과에 텍스트 노드로 구문 분석됩니다.MathML 문서에 기꺼이 들여쓰기를 적용할 수 있지만 HTML 문서를 예쁘게 인쇄할 때 콘텐츠 또는 콘텐츠 반사 태그 요소에 일반적으로 근접하여 추가 텍스트 노드가 생성되거나 파괴되지 않도록 충분한 주의를 기울여야 합니다.이러한 복잡성의 차이는 MathML의 예시와 같이 특별한 규칙이나 엣지 케이스가 필요하지 않은 자동화된 인쇄 작업 관점에서는 중요하지 않습니다.그 HTML예로 markup.ts[3]응용 프로그램 구성 요소 HTML, XML을 미화시키기 사용되고 Prett에 관련 기술이 입증하는 진보적인 상호 관련된 알고리즘의 일련 태그 요소와 콘텐츠의 교복을 입는 스타일과 다양한 인스턴스를 가로질러 응용 프로그램에서 일치하고 있는 준수하는 다양한 패턴을 고려하도록 요구할 것이다.y Diff

프로그래밍 코드 포맷

프로그래머는 종종 도구를 사용하여 프로그래밍 언어 소스 코드를 특정 방식으로 포맷합니다.올바른 코드 포맷을 사용하면 읽고 이해하기 쉬워집니다.프로그래머마다 코드 들여쓰기 및 공백 사용 또는 중괄호 배치와 같은 다른 형식의 포맷을 선호하는 경우가 많습니다.코드 포맷터는 소스 코드를 하나의 포맷 스타일에서 다른 포맷 스타일로 변환한다.프로그래밍 언어의 명확한 구문 때문에 이것은 비교적 간단합니다.코드 미화에는 블록, 루프 의 경우 할당문 등의 컴포넌트 구조로 소스 코드를 해석하고(컨트롤 플로우 참조), 사용자가 설정 파일에서 지정한 방식으로 포맷하는 작업이 포함됩니다.

코드 미화자는 독립 실행형 애플리케이션으로 존재하며 텍스트 편집기와 통합 개발 환경내장되어 있습니다.를 들어 Emacs의 다양한 언어 모드는 코드 블록을 [4]매력적으로 올바르게 들여쓸 수 있습니다.

HTML

리스프 프리터

예쁜 인쇄의 초기 예는 Bill Gosper의 "GRINDEF"(즉, "grind function") 프로그램(c. 1967년)으로, LISP 프로그램을 포맷하기 위해 가지치기와 조합 검색을 사용했다.초기 버전은 리스프 프로그램의 실행 파일(리스트 구조) 형태로 작동하며 다양한 기능의 특별한 의미를 인식하지 못했습니다.이후 버전에서는 실행 불가능한 주석을 포함시키고 확장되지 않은 형태로 읽기 매크로를 보존하기 위한 특별한 읽기 규칙이 있었습니다.그들은 또한 다음과 같은 특수 기능에 대한 특별한 들여쓰기 규칙을 허용했다.if일부 리스프 서클에서는 '그린드'라는 용어가 예쁜 인쇄의 [7]대명사로 사용되기도 했다.[5][6]

프로젝트 스타일 규칙

많은 오픈 소스 프로젝트에는 코드 레이아웃에 대한 규칙이 확립되어 있습니다.가장 일반적인 것은 GNU 포맷[8] BSD [9]스타일입니다.이 두 가지 중 가장 큰 차이는 괄호의 위치입니다.GNU 스타일에서는 여는 괄호와 닫는 괄호는 같은 들여쓰기로 각각 줄에 있습니다.BSD 스타일은 앞줄 끝에 여는 가새, 닫는 가새 뒤에 다른 가새도 있습니다.들여쓰기 크기와 공백 위치도 다릅니다.

코드 포맷 및 미화 예시

다음 예제에서는 일반적인 C 구조와 다양한 들여쓰기 스타일 규칙의 형식을 보여 줍니다.포맷을 전혀 하지 않으면 다음과 같이 됩니다.

인트 후우(인트 k){한다면(k< >1  k>2){인쇄물(범위를 벗어났다.\n"); 인쇄물("이 함수는 1 또는 2의 값이 필요합니다.\n");}또 다른{ 인쇄물(「스위칭\n");전환하다(k){사례. 1:인쇄물("1\n");브레이크.;사례. 2:인쇄물("2\n");브레이크.;}}} 

GNU 들여쓰기 프로그램GNU 규칙에 따라 들여쓰기를 요청하면 다음과 같은 출력을 생성합니다.

인트 후우 (인트 k) {   한다면 (k < > 1    k > 2)     {       인쇄물 (범위를 벗어났다.\n");       인쇄물 ("이 함수는 1 또는 2의 값이 필요합니다.\n");     }   또 다른     {       인쇄물 (「스위칭\n");       전환하다 (k)         {         사례. 1:           인쇄물 ("1\n");           브레이크.;         사례. 2:           인쇄물 ("2\n");           브레이크.;         }     } } 

BSD 규칙에 따라 포맷하면 다음 출력이 생성됩니다.

인트 후우(인트 k) {  한다면 (k < > 1    k > 2) {   인쇄물(범위를 벗어났다.\n");   인쇄물("이 함수는 1 또는 2의 값이 필요합니다.\n");  } 또 다른 {   인쇄물(「스위칭\n");   전환하다 (k) {   사례. 1:    인쇄물("1\n");    브레이크.;   사례. 2:    인쇄물("2\n");    브레이크.;   }  } } 

「 」를 참조해 주세요.

관련 개념

  • 정렬된 인텐트를 감지하고 유지하는 많은 소스 코드 편집기의 기능인 Elastic Tabstop
  • 최소화, 소스코드 콤팩트화, 인간이 이해하기 어려워지더라도
  • 난독화, 소스코드가 다소 복잡해지더라도 의도적으로 인간이 이해하기 어렵게 만든다.

유틸리티

  • enscript, 예쁜 인쇄 기능을 갖춘 텍스트/PostScript 변환기

레퍼런스

  1. ^ "PrettyPrint - ticalc.org". www.ticalc.org. Retrieved 2022-04-13.
  2. ^ Baron, L. David. "Whitespace in the DOM". Mozilla Developer Network. Retrieved 2012-08-27.
  3. ^ 마크업.ts
  4. ^ Stallman, Richard M. "Indentation for Programs". GNU Emacs Manual. Free Software Foundation. Retrieved 2011-10-20.
  5. ^ Ira Goldstein, "Pretty Printing: Converting List to Linear Structure", 인공지능 메모 279, Massachusetts Institute of Technology, 1973년 2월 전문.
  6. ^ 리처드 C.워터스, "새로운 공통 리스프 예쁜 프린터 사용", ACM SIGPLAN 리스프 포인터 5:2:27-34, 1992년 4월~6월전문
  7. ^ 전문용어 파일, s.v. 그라인드
  8. ^ GNU 스타일
  9. ^ BSD 스타일

외부 링크