Как распечатать код Smalltalk из Pharo/Squeak?

Как лучше всего распечатать код из Pharo/Squeak на бумаге — синтаксически окрашенный и хорошо отформатированный?

1) Есть ли способ печатать прямо из Pharo/Squeak? (я использую его на macosx)
2) Есть ли способ экспортировать окрашенный синтаксис, хорошо отформатированный код из Pharo/Squak?
3) Существуют ли внешние инструменты для окрашивания и форматирования выгруженного фрагмента кода?


person Helene Bilbo    schedule 07.07.2010    source источник


Ответы (5)


Для приложения к моей магистерской диссертации я использовал Конвертер Pier CMS в LaTeX в пакете Pier-Documentation. Однако этот плагин принимает во внимание только комментарии к классам и методам, он не печатает исходный код. Pier также предоставляет пакет ShoutPier для подсветки синтаксиса кода Smalltalk, поэтому я думаю, что потребуется немного усилий, чтобы собрать их вместе. Вы можете найти упомянутые пакеты расширений в http://source.lukas-renggli.ch/pieraddons. HTML.

person Lukas Renggli    schedule 10.07.2010
comment
Спасибо. Я смог получить несколько хороших распечаток с помощью PRLatexBuilder. - person Helene Bilbo; 11.07.2010
comment
Тем не менее, я надеялся, что что-то подобное будет общей задачей и встроено в стандартную систему. Но, кажется, люди не так часто печатают код на бумаге? - person Helene Bilbo; 11.07.2010
comment
Более ранние версии Squeak (около версии 3.0) имели экспортер HTML, аналогичный механизму вывода файлов, существующему и сегодня. Я думаю, это могло бы сработать для печати. В какой-то момент его убрали, потому что им никто не пользовался, и со временем он сломался. - person Lukas Renggli; 11.07.2010

В браузерах Pharo используется подсветка синтаксиса.

Какие трудности возникают у вас при чтении кода Smalltalk с помощью браузеров и отправителей/исполнителей?

Изменить: что-то, что создает UML , даст обзор, который вы ищете ? На веб-сайте Dandelion показаны только загрузки старых версий Squeak. - Я не знаю, будут ли они работать с Фаро.

И, возможно, этот проект GSoC "Создание диаграмм UML из кода Smalltalk для Pharo" предлагает нет.

person igouy    schedule 09.07.2010
comment
Браузеры Pharo хороши. Просто мой стол намного больше моего экрана, поэтому я могу одновременно просматривать намного больше кода, и я думаю, что так легче получить «общую картину». На данный момент распечатываю скриншоты из браузера Pharo для каждого класса - это дает мне что-то в духе crc-карточек (c2.com/doc/crc/draw.html) - person Helene Bilbo; 10.07.2010
comment
@ roy-fleming - у меня никогда не было даже малейшего соблазна сделать это с помощью Smalltalk, поэтому для меня это довольно загадочно. - person igouy; 16.07.2010

Вот как я сделал это на своем Mac, я думаю, что это должно работать и на других платформах.

  1. Сохраняйте категории в локальную папку Monticello на своем диске — см. руководство Pharo, как это сделать: http://book.pharo-project.org/book/PharoTools/Monticello/?_s=hdGOLc_FXsvVY1iR&_k=YYH-Ln8f5mtWZ8z2&_n&148

  2. Перейдите в эту папку и разархивируйте файл .mcz.

  3. Вы увидите весь свой код в файле snapshot/source.st.

  4. Вам нужно будет немного отредактировать это, чтобы удалить ! символы, например, может быть инструмент для этого?

-Эрик.

person Eric Clack    schedule 08.02.2013
comment
Немного более простой метод: в Pharo вы можете использовать File Out для класса, и это создаст файл .st (на моем Mac мне нужно открыть содержимое пакета Pharo, чтобы найти этот файл), затем перейдите к шагу 4 выше. - person Eric Clack; 09.02.2013

Существует проект webdoc, который позволяет вам перемещаться по коду в веб-браузере: http://ss3.gemstone.com/ss/webdoc.html (и, конечно же, вы можете распечатать код из своего любимого веб-браузера).

person Igor Stasenko    schedule 16.02.2013

1) Установить крик с www.squeaksource.com

2) Я не знаю. Может быть, вы можете настроить крик.

3) В gnu-smalltalk есть режим smalltalk для emacs. Но я не уверен, что понимаю, что вы ищете.

person mathk    schedule 07.07.2010
comment
Я ищу способ читать код smalltalk. И я хотел распечатать его на бумаге (вопрос был не о «красивой печати» в smalltalk-браузере). - person Helene Bilbo; 08.07.2010