|
From: | Ralf Hemmecke |
Subject: | Re: [Axiom-developer] Asq rewritten |
Date: | Thu, 01 Feb 2007 10:10:37 +0100 |
User-agent: | Thunderbird 2.0b2 (X11/20070116) |
I think I have to reply to Martin's mail.I don't have experience with the database, but slightly different from what Martin wants, my intensions would go into another direction (which are as a first approximation completely independent of ALLPROSE).
The Aldor compiler puts the ++ comments into the .ao files. Using aldor -fasy file.aoone basically gets all the information that is relevant, ie, code and ++ comments at the right place. Furthermore if one includes
-lalgebra -laldoron the above command line, the compiler extracts exports from the libraries and puts them into some place of domains in file.ao. That would give a list of *all* the exports of a domain/category in file.ao.
Anyway, an .asy file basically is a LISP file, if I am not completely wrong. So for a LISP expert that should be not too difficult to make sense of it.
My current plans (no time for actually writing some code) would be to take that .asy file and produce a .tex file which could be compiled into .html via tex4ht. Actually, I go only via .tex because ALLPROSE uses the convention to write a LaTeX-like syntax into the ++ comments.
Actually, ALLPROSE already contains the API, but not in an API-only form. And I would very much like that one could fold and unfold the *complete* list of exports of a domain and to have references from categories to domains that use that category.
Ralf On 02/01/2007 09:23 AM, Martin Rubey wrote:
Dear Waldek, Waldek Hebisch <address@hidden> writes:There were many plans to rewrite various parts of Axiom. I decided to actually rewrite one part: the asq program :).Did you see the mail where I set a price? Well, I repeat the relevant bit here anyway, slightly modified to make the intention clearer: (Modifications in [...]) **OLD MAIL********************************************************************* I think it's time to set a price again. I'll pay 100$ anyone who writes a new, or modifies an existing program, that displays [in a standard webbrowser] the documentation of a +++ environment (and only this bit of documentation) as generated by ALLPROSE, on demand, i.e., using a web interface similar to that Tim provided.
[snip]
It is a mystery to me how Ralf did the linking magic. Maybe he or the combinat.aux file can help...
Come on, Martin, there is no mystery. Since ALLPROSE introduced some conventions of how to write domain and category definitions, it is quite easy to extract their names from the code and put them into \addefinetype{...}. When you use \adtype{...} it links to the place where \addefinetype is. The definition of \addefinetype and \adtype basically use commands from the hyperref LaTeX package and add some indexing and color information. That is not too much magic.
Ralf
[Prev in Thread] | Current Thread | [Next in Thread] |