Prettyprint - Prettyprint

Довольно-полиграфический (или же красивая печать) - это применение любого из различных стилистических форматирование соглашения текстовые файлы, Такие как исходный код, разметка, и подобный контент. Эти соглашения о форматировании могут повлечь за собой соблюдение стиль отступа, используя другой цвет и шрифт для выделить синтаксические элементы исходного кода или регулировки размера, чтобы людям было легче читать и понимать контент. Довольно-принтеры для исходного кода иногда называют код украшения.

Красиво-печатная математика

Наборное математическое выражение

Симпатичная печать обычно относится к отображению математические выражения похожи на то, как они были бы наборный профессионально. Например, в системы компьютерной алгебры Такие как Максима или же Mathematica система может записывать вывод типа "х ^ 2 + 3 * х" в качестве "". Немного графические калькуляторы, такой как Casio 9860 серии, HP-49 серия, TI-84 Plus, ТИ-89, и TI-Nspire, то TI-83 Plus с PrettyPt[1] надстройка или TI-84 Plus с той же надстройкой или ОС с поддержкой "MathPrint" может выполнять красивую печать. Кроме того, ряд новейших научных калькуляторов оснащены матричными экранами, способными воспроизводить красивую печать, например, серия Casio FX-ES (Natural Display), Серия Sharp EL-W (WriteView), HP SmartCalc 300s, и TI-30XB.

Многие программы форматирования текста также могут выполнять набор математических задач: TeX разработан специально для качественной математической наборный.

Хорошая разметка и код на основе тегов

Исходный код HTML, красиво напечатанный, чтобы лучше показать иерархические отношения его элементов (называемых тегами)

Хорошая печать в экземплярах языка разметки обычно связана с отступ тегов и строковое содержимое для визуального определения иерархии и вложенности. Хотя синтаксические структуры языков на основе тегов существенно не различаются, отступы могут значительно отличаться из-за того, как интерпретируется язык разметки или из-за данных, которые он описывает.

В MathML, пробельные символы не отражают данные, значение или синтаксис выше того, что требуется XML синтаксис. В HTML, пробелы между тегами считаются текстом и анализируются как текстовые узлы в анализируемом результате.[2] Хотя отступы могут быть широко применены к документу MathML, необходимо проявлять дополнительную осторожность при красивой печати HTML-документа, чтобы гарантировать, что дополнительные текстовые узлы не будут созданы или уничтожены в непосредственной близости от содержимого или элементов тегов, отражающих содержимое. Эта разница в сложности нетривиальна с точки зрения автоматизированной операции красивого вывода, где не требуются специальные правила или крайние случаи, как в более простом примере MathML. В примере HTML может потребоваться ряд прогрессивных взаимосвязанных алгоритмов для учета различных шаблонов элементов тегов и содержимого, которые соответствуют единому стилю и согласованы в применении в различных случаях, о чем свидетельствует markup.ts[3] компонент приложения, используемый для улучшения HTML, XML и связанных технологий для Pretty Diff инструмент.

Форматирование программного кода

Программисты часто используют инструменты для форматирования язык программирования исходный код определенным образом. Правильное форматирование кода упрощает чтение и понимание. Разные программисты часто предпочитают разные стили форматирования, например использование кода. отступ и пробелы или расположение подтяжки. Средство форматирования кода преобразует исходный код из одного стиля формата в другой. Это относительно просто из-за однозначного синтаксиса языков программирования. Усовершенствование кода включает в себя анализ исходного кода на компонентные структуры, такие как операторы присваивания, если блоки петли и т. д. (см. также поток управления ) и форматирование их способом, указанным пользователем в файле конфигурации.

Средства улучшения кода существуют как отдельные приложения и встроены в текстовые редакторы и интегрированные среды разработки. Например, Emacs 'различные языковые режимы могут правильно отступ блоки кода привлекательно.[4]

HTML

Лисп красивый принтер

Ранним примером красивой печати был Билл Госпер "GRINDEF" (т.е. 'функция измельчения') программа (c. 1967), который использовал комбинаторный поиск с обрезкой до формата LISP программы. Ранние версии работали с исполняемой (структура списка) формой программы Lisp и не обращали внимания на особые значения различных функций. В более поздних версиях были специальные соглашения о чтении для включения неисполняемых комментариев, а также для сохранения читать макросы в нерасширенном виде. Они также разрешили специальные соглашения об отступах для специальных функций, таких как если.[5][6] Термин «измельчение» использовался в некоторых кругах Лиспа как синоним красивого шрифта.[7]

Правила стиля проекта

Многие проекты с открытым исходным кодом установили правила для макета кода. Наиболее типичным является форматирование GNU[8] и стиль BSD.[9] Самая большая разница между ними заключается в расположении фигурных скобок: в стиле GNU открывающая и закрывающая фигурные скобки находятся на отдельных строках с одинаковым отступом. В стиле BSD открывающая скобка помещается в конец предыдущей строки, а за закрывающей фигурной скобкой может следовать еще. Размер отступа и расположение пробелов также различаются.

Пример форматирования и украшения кода

В следующем примере показаны некоторые типичные структуры C и различные стиль отступа правила их форматируют. Без форматирования это выглядит так:

int фу(int k){если(k<1||k>2){printf("вне диапазона п");printf("для этой функции требуется значение 1 или 2 п");}еще{printf("Переключение п");выключатель(k){дело 1:printf("1 п");перемена;дело2:printf("2 п");перемена;}}}

В Программа отступов GNU выдает следующий результат, когда его просят сделать отступ в соответствии с Правила GNU:

intфу (int k){  если (k < 1 || k > 2)    {      printf ("вне диапазона п");      printf ("для этой функции требуется значение 1 или 2 п");    }  еще    {      printf ("Переключение п");      выключатель (k)        {        дело 1:          printf ("1 п");          перемена;        дело 2:          printf ("2 п");          перемена;        }    }}

Он производит такой вывод при форматировании в соответствии с правилами BSD:

intфу(int k) {	если (k < 1 || k > 2) {		printf("вне диапазона п");		printf("для этой функции требуется значение 1 или 2 п");	} еще {		printf("Переключение п");		выключатель (k) {		дело 1:			printf("1 п");			перемена;		дело 2:			printf("2 п");			перемена;		}	}}

Смотрите также

Связанные понятия

  • Эластичный таблит, функция некоторых редакторов исходного кода, которая обнаруживает и поддерживает выровненные отступы
  • Минификация, делая исходный код компактным, даже если людям становится труднее понять
  • Запутывание, намеренно затрудняющий понимание исходного кода людьми, даже если он становится несколько запутанным

Утилиты

  • Enscript, конвертер текста в PostScript с удобными функциями печати
  • отступ, симпатичный принтер для кода C и C ++, связанный с Unix
  • Pretty Diff, веб-приложение для сравнения данных с удобными функциями печати

Рекомендации

  1. ^ PrettyPt
  2. ^ Барон, Л. Давид. "Пробелы в DOM". Сеть разработчиков Mozilla. Получено 2012-08-27.
  3. ^ markup.ts
  4. ^ Столмен, Ричард М. «Отступы для программ». Руководство по GNU Emacs. Фонд свободного программного обеспечения. Получено 2011-10-20.
  5. ^ Ира Гольдштейн, «Красивая печать: преобразование списка в линейную структуру», Памятка по искусственному интеллекту 279, Массачусетский технологический институт, февраль 1973 г. полный текст
  6. ^ Ричард С. Уотерс, "Использование нового симпатичного принтера для Лиспа", ACM SIGPLAN Lisp-указатели 5: 2: 27-34, апрель – июнь 1992 г. полный текст
  7. ^ Файл жаргона, s.v. молоть
  8. ^ Стиль GNU
  9. ^ BSD стиль

внешняя ссылка