[squeak-dev] HelpSystem & Class comments
Igor Stasenko
siguctua at gmail.com
Wed Feb 24 07:54:38 UTC 2010
On 24 February 2010 06:25, keith <keith_hodges at yahoo.co.uk> wrote:
> Sorry but I didnt understand much of this. All I really know about pragma's
> is that you can put
> <blah: #symbol>
> at the top of some code. Where do you put the documentation in this scheme?
< documentation: '
blah blah blah
blah blah blah
blah blah blah
blah blah blah
blah blah blah
'>
> Keith
>
>
> On Tue, Feb 23, 2010 at 5:57 PM, keith <keith_hodges at yahoo.co.uk> wrote:
>>
>> In Sake we have a special Compiler Hack called SakeCompiler.
>>
>> This uses """""" (6 quotes) to mark the end of the method, from then on
>> you can put any content you like in the method.
>>
>> There are accessors docAt: selector
>
> Using a pragma is a better way. The pragma can include any number of
> strings, and literal strings can^H^H^Hshould be able to contain any
> characters. One can add additional keywords top define additional metadata.
> There is already a protocol for accessing pragmas and arguments from
> methods. One can have multiple pragmas, etc. If the pragma is
> well-designed one can perform the pragma to output the documentation. i.e.
> the pragma message is also understood by a formatter/generator, and so by
> browsing implementors of the pragma you get immediately to the code that can
> process said pragma. There's a wrinkle in that the generator needs to be
> parameterised by the class and selector of the method before it performs the
> pragma, but that aside, it is quite neat.
> e.g.
> Documentor new
> outputTo: aStream;
> documentFrom: aSubClass to: aSuperClass
> documentFrom: aSubClass to: aSuperClass
> (Pragma allNamed: self documentationPragma from: aSubClass to:
> aSuperClass) do:
> [:p|
> currentClass := p class.
> currentSelector := p selector.
> p message sendTo: self]
>
>
>>
>> Keith
>>
>
>
>
>
>
>
>
--
Best regards,
Igor Stasenko AKA sig.
More information about the Squeak-dev
mailing list
|