* Pretty printing the pretty print. @ 2013-09-25 10:36 Mike H 2013-09-25 11:14 ` Georg Bauhaus ` (4 more replies) 0 siblings, 5 replies; 13+ messages in thread From: Mike H @ 2013-09-25 10:36 UTC (permalink / raw) For the first time ever, I have needed to print some code fragments. The default print file command in the GNAT studio produced black and white plain text. Is there something that will produce a more "illuminated" output? -- "Why," said Ford squatting down beside him and shivering, "are you lying face down in the dust?" "It's a very effective way of being wretched," said Marvin. Mike ;-( ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 10:36 Pretty printing the pretty print Mike H @ 2013-09-25 11:14 ` Georg Bauhaus 2013-09-25 14:27 ` Britt ` (3 subsequent siblings) 4 siblings, 0 replies; 13+ messages in thread From: Georg Bauhaus @ 2013-09-25 11:14 UTC (permalink / raw) On 25.09.13 12:36, Mike H wrote: > For the first time ever, I have needed to print some code fragments. The default print file command in the GNAT studio produced black and white plain text. Is there something that will produce a more "illuminated" output? > Emacs has customizable highlighting; buffers can be printed. Thomas Wolf's AdaBrowse, if it helps in this case, http://home.datacomm.ch/t_wolf/tw/ada95/adabrowse/index.html And, shameless plug: http://home.arcor.de/bauhaus/Tools/ASnip/ But the latter hasn't been updated for some time... ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 10:36 Pretty printing the pretty print Mike H 2013-09-25 11:14 ` Georg Bauhaus @ 2013-09-25 14:27 ` Britt 2013-09-25 14:48 ` Mike H 2013-09-25 14:47 ` Felix Krause ` (2 subsequent siblings) 4 siblings, 1 reply; 13+ messages in thread From: Britt @ 2013-09-25 14:27 UTC (permalink / raw) On Wednesday, September 25, 2013 6:36:52 AM UTC-4, Mike H wrote: > For the first time ever, I have needed to print some code fragments. The default print file command in the GNAT studio produced black and white plain text. Is there something that will produce a more "illuminated" output? Which platform? On Linux GPS printes using a2ps. I use the a2ps "--prologue=color" switch to print the color syntax highlighting. For example, I have the following in my GPS->Preferences->External Command->Print command string: a2ps --prologue=color --rows=1 --columns=1 --sides=duplex --major=rows --chars-per-line=140 --line-numbers=5 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 14:27 ` Britt @ 2013-09-25 14:48 ` Mike H 2013-09-25 15:16 ` gautier_niouzes 2013-09-29 21:38 ` Stephen Leake 0 siblings, 2 replies; 13+ messages in thread From: Mike H @ 2013-09-25 14:48 UTC (permalink / raw) In message <a0ec7acb-416a-4962-b653-dd2adf70dfd6@googlegroups.com>, Britt <britt.snodgrass@gmail.com> writes >Which platform? Please don't laugh but it is MS Windows XP. When I last wrote Ada for a living, Ada95 was still the very latest thing! Now I am in my 9th decade and dabble for my own amusement. -- Mike "Homo sum, humani nihil a me alienum puto" = "I am human, (so) I (should) judge nothing of humanity to be strange." Publius Terentius (195/185–159 BC) ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 14:48 ` Mike H @ 2013-09-25 15:16 ` gautier_niouzes 2013-09-26 4:30 ` Per Sandberg 2013-09-27 13:25 ` Mike H 2013-09-29 21:38 ` Stephen Leake 1 sibling, 2 replies; 13+ messages in thread From: gautier_niouzes @ 2013-09-25 15:16 UTC (permalink / raw) Le mercredi 25 septembre 2013 16:48:04 UTC+2, Mike H a écrit : > Please don't laugh but it is MS Windows XP. Then consider: http://notepad-plus-plus.org/ It does a real pretty print - an not only to the printer, but to the clipboard too, so you can paste "pretty-printed" into Word, e-mails. etc. XP is not a bad vintage at all, should not be laughed at... _________________________ Gautier's Ada programming http://sf.net/users/gdemont ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 15:16 ` gautier_niouzes @ 2013-09-26 4:30 ` Per Sandberg 2013-09-27 13:25 ` Mike H 1 sibling, 0 replies; 13+ messages in thread From: Per Sandberg @ 2013-09-26 4:30 UTC (permalink / raw) But there is cygwin ! And if you want all good stuff follow the recipe: 1) Have all your stuff including the compiler o the same "drive". 2) Make the following mounts: Windows Cygwin C:\(GNAT|GNATPRPO) /(GNAT/GNATPRO) C:\mydevelroot /mydevelroot 3) Update ${PATH} to be C:\(GNAT|GNATPRPO)\bin;C:\cygwin\bin;......... And the tools are there. /Per On Wed, 25 Sep 2013 08:16:35 -0700 (PDT) gautier_niouzes@hotmail.com wrote: > Le mercredi 25 septembre 2013 16:48:04 UTC+2, Mike H a écrit : > > > Please don't laugh but it is MS Windows XP. > > Then consider: http://notepad-plus-plus.org/ > It does a real pretty print - an not only to the printer, but to the > clipboard too, so you can paste "pretty-printed" into Word, e-mails. > etc. > > XP is not a bad vintage at all, should not be laughed at... > _________________________ > Gautier's Ada programming > http://sf.net/users/gdemont ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 15:16 ` gautier_niouzes 2013-09-26 4:30 ` Per Sandberg @ 2013-09-27 13:25 ` Mike H 2014-01-04 11:13 ` Oliver Kleinke 1 sibling, 1 reply; 13+ messages in thread From: Mike H @ 2013-09-27 13:25 UTC (permalink / raw) In message <da27e87a-7341-4b83-89f7-f017bb74de18@googlegroups.com>, gautier_niouzes@hotmail.com writes >Then consider: http://notepad-plus-plus.org/ >It does a real pretty print Agreed! However, I was unable to persuade the site to download a copy onto my PC. Not that it mattered because the on-line demonstration allowed me to do all that I wanted to do for my immediate purposes. That purpose was to print some code fragments in order to explain what is meant, in Ada, by array slices, sliding and unbounded declarations. A C++ man working for a blue-chip organisation, he was impressed and also opined that Ada "seems to have a sweet syntax". During the same conversation he asked me to write some Ada code to perform an exercise question he routinely sets when interviewing programmer candidates. Thinking on the hoof I wrote some code that in hind-sight was not good Ada and certainly not what I would have written if I had time to think the matter through. I seemed to fall straight into the trap that he had set. But I say "seemed" because as soon as he pointed out the error, and we discussed it, it became obvious that the trap was a situation that, in Ada, would possibly not have compiled and if it had would certainly have had potential for raising a constraint error. I refrained from pointing out that it could be argued that it was a specification error in that the specification did not admit that the difference between two indices is not an index, it is an offset. -- Knowledge is knowing a tomato is a fruit Wisdom in knowing not to put it in the fruit salad. Mike ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-27 13:25 ` Mike H @ 2014-01-04 11:13 ` Oliver Kleinke 2014-01-06 16:37 ` Mike H 0 siblings, 1 reply; 13+ messages in thread From: Oliver Kleinke @ 2014-01-04 11:13 UTC (permalink / raw) > A C++ man working for a blue-chip organisation, he was impressed and > also opined that Ada "seems to have a sweet syntax". > > During the same conversation he asked me to write some Ada code to > perform an exercise question he routinely sets when interviewing > programmer candidates. Thinking on the hoof I wrote some code that in > hind-sight was not good Ada and certainly not what I would have > written if I had time to think the matter through. I seemed to fall > straight into the trap that he had set. But I say "seemed" because as > soon as he pointed out the error, and we discussed it, it became > obvious that the trap was a situation that, in Ada, would possibly > not have compiled and if it had would certainly have had potential > for raising a constraint error. I refrained from pointing out that it > could be argued that it was a specification error in that the > specification did not admit that the difference between two indices > is not an index, it is an offset. > Do you by chance remember the task? I coded 4 solutions[1] to the fizzbuzz exercise that is supposedly used by interviewers a lot. -- [1] - https://github.com/oliver117/fizzbuzz ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2014-01-04 11:13 ` Oliver Kleinke @ 2014-01-06 16:37 ` Mike H 0 siblings, 0 replies; 13+ messages in thread From: Mike H @ 2014-01-06 16:37 UTC (permalink / raw) In message <20140104121332.22310cd2@vostro>, Oliver Kleinke <oliver.kleinke@c-01a.de> writes >Do you by chance remember the task? As far as I remember the original "specification" was a requirement to split an array at an arbitrary point and re-join the two parts (first and last) in the reverse order (last then first). Spotting that what was actually required was a circular shift changed the game somewhat. By some odd coincidence, before Christmas I stumbled across the following (see below). It seems to fit the bill. I also seem to remember that turning it into a generic was not as sweet and clean as I expected. function Shift_right_circular (A : in Array_type; Places : in Natural) return Array_type is P : Natural := Places rem A'LENGTH; -- Array will be split into two slices (I1 .. I2) & (I3 .. I4) and -- re-made as (I3 .. I4) & (I1 .. I2). The values of I2 and I3 are -- derived from their position numbers, P2 and P3. P1 : Natural := Index_type'POS (A'FIRST); -- position number of I1 P2 : Natural := P1 + P - 1; -- position number of I2 P3 : Natural := P1 + P; -- position number of I3 -- -- I1 is A'FIRST I2 : Index_type := Index_type'VAL(P2); I3 : Index_type := Index_type'VAL(P3); -- I4 is A'LAST begin if Places = 0 then -- no shifting to be done return A; else return A (I3 .. A'LAST) & A (A'FIRST .. I2); end if; end Shift_right_circular; -- Mike Swim? Naturally at Severn Vale <http://www.severnvalesc.org/> ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 14:48 ` Mike H 2013-09-25 15:16 ` gautier_niouzes @ 2013-09-29 21:38 ` Stephen Leake 1 sibling, 0 replies; 13+ messages in thread From: Stephen Leake @ 2013-09-29 21:38 UTC (permalink / raw) Mike H <postmaster@ada-augusta.demon.co.uk> writes: > In message <a0ec7acb-416a-4962-b653-dd2adf70dfd6@googlegroups.com>, > Britt <britt.snodgrass@gmail.com> writes >>Which platform? > Please don't laugh but it is MS Windows XP. Install Cygwin, use a2ps, then ps2pdf, then windows print. -- -- Stephe ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 10:36 Pretty printing the pretty print Mike H 2013-09-25 11:14 ` Georg Bauhaus 2013-09-25 14:27 ` Britt @ 2013-09-25 14:47 ` Felix Krause 2013-09-26 18:38 ` Manuel Gomez 2013-09-30 12:20 ` Stefan.Lucks 4 siblings, 0 replies; 13+ messages in thread From: Felix Krause @ 2013-09-25 14:47 UTC (permalink / raw) On 2013-09-25 10:36:52 +0000, Mike H said: > For the first time ever, I have needed to print some code fragments. > The default print file command in the GNAT studio produced black and > white plain text. Is there something that will produce a more > "illuminated" output? There's also GNU enscript which supports Ada syntax highlighting: http://www.gnu.org/software/enscript/ -- Felix Krause http://flyx.org/ ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 10:36 Pretty printing the pretty print Mike H ` (2 preceding siblings ...) 2013-09-25 14:47 ` Felix Krause @ 2013-09-26 18:38 ` Manuel Gomez 2013-09-30 12:20 ` Stefan.Lucks 4 siblings, 0 replies; 13+ messages in thread From: Manuel Gomez @ 2013-09-26 18:38 UTC (permalink / raw) El 25/09/13 12:36, Mike H escribió: > For the first time ever, I have needed to print some code fragments. The > default print file command in the GNAT studio produced black and white > plain text. Is there something that will produce a more "illuminated" > output? > The Emacs editor has three printing outputs: plain text, rich format and b/w rich format. Try using the menu entry File -> Postscript Print Buffer, which invokes this Emacs command: > > ps-print-buffer-with-faces is an interactive compiled Lisp function in > `ps-print.el'. > > It is bound to <menu-bar> <file> <ps-print-buffer-faces>. > > (ps-print-buffer-with-faces &optional FILENAME) > > Generate and print a PostScript image of the buffer. > Like `ps-print-buffer', but includes font, color, and underline information in > the generated image. This command works only if you are using a window system, > so it has a way to determine color values. -- Manuel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Pretty printing the pretty print. 2013-09-25 10:36 Pretty printing the pretty print Mike H ` (3 preceding siblings ...) 2013-09-26 18:38 ` Manuel Gomez @ 2013-09-30 12:20 ` Stefan.Lucks 4 siblings, 0 replies; 13+ messages in thread From: Stefan.Lucks @ 2013-09-30 12:20 UTC (permalink / raw) [-- Attachment #1: Type: TEXT/PLAIN, Size: 2523 bytes --] On Wed, 25 Sep 2013, Mike H wrote: > For the first time ever, I have needed to print some code fragments. The > default print file command in the GNAT studio produced black and white plain > text. Is there something that will produce a more "illuminated" output? If you really need syntax highlighting, rather than reformatting, then highlight is a really good choice: <http://www.andre-simon.de/doku/highlight/en/highlight.html> The minor issue is that the Ada support of highlight is at the Ada 95 level -- since then, a few new keywords have been added, we have got the precondition-postcondition-type_invariant aspects, ect. I have recently revised the language definition to handle Ada 2012, see below. <revised "ada.lang" from highlight> Description="ADA2012" Keywords={ { Id=1, List={"abort", "else", "new", "return", "abs", "elsif", "not", "reverse", "abstract", "end", "null", "accept", "entry", "select", "access", "exception", "", "separate", "", "aliased", "exit", "of", "", "subtype", "", "all", "or", "", "and", "", "for", "", "others", "tagged", "", "array", "function", "out", "task", "", "at", "terminate", "generic", "package", "then", "", "begin", "goto", "pragma", "type", "", "body", "private", "if", "procedure", "case", "in", "protected", "", "", "until", "", "constant", "is", "", "use", "raise", "declare", "", "", "range", "when", "", "delay", "limited", "record", "while", "", "delta", "loop", "rem", "", "with", "digits", "renames", "do", "mod", "", "requeue", "xor", "interface", "overriding", "synchronized", "some"}, }, { Id=2, List={"pre", "post", "type_invariant", "dynamic_predicate", "static_predicate"}, }, { Id=4, Regex=[[''']], }, { Id=4, List={"true", "false"}, }, { Id=4, Regex=[[ [\w\)]+('\w+) ]], } } -- Workaround: distinguish string delimiters and event markers -- (same eymbol: ') --workaround for special string ''' Strings={ Delimiter=[["|']], Escape = [[ \\[^'] ]] } IgnoreCase=true Comments={ { Block=false, Delimiter= { [[\-\-]] }, }, } Operators=[[\(|\)|\[|\]|\{|\}|\,|\;|\:|\&|\<|\>|\!|\=|\/|\*|\%|\+|\-|\.]] </revised "ada.lang" from highlight> ------ I love the taste of Cryptanalysis in the morning! ------ <http://www.uni-weimar.de/cms/medien/mediensicherheit/home.html> --Stefan.Lucks (at) uni-weimar.de, Bauhaus-Universität Weimar, Germany-- ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-01-06 16:37 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-09-25 10:36 Pretty printing the pretty print Mike H 2013-09-25 11:14 ` Georg Bauhaus 2013-09-25 14:27 ` Britt 2013-09-25 14:48 ` Mike H 2013-09-25 15:16 ` gautier_niouzes 2013-09-26 4:30 ` Per Sandberg 2013-09-27 13:25 ` Mike H 2014-01-04 11:13 ` Oliver Kleinke 2014-01-06 16:37 ` Mike H 2013-09-29 21:38 ` Stephen Leake 2013-09-25 14:47 ` Felix Krause 2013-09-26 18:38 ` Manuel Gomez 2013-09-30 12:20 ` Stefan.Lucks
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox