jonathan@cs.pitt.edu (Jonathan Eunice) (01/14/91)
I need a program that supports a literate programming style for the
C language. It should allow me to enter pseudo-code such as
if <the device is not responding> {
<stop with device failure error>
}
then select individual pseudo-code expressions (here delimited by <>)
and edit them in native C. The ability to arbitrarily switch between
pseudo-expression and C representations is highly desirable, as is the
maintenance of the pseudo-expressions as comments in program listings.
This is to run on an IBM RS/6000 with AIX 3.1. An X Windows tool
preferred, but character-oriented or NextStep programs also
acceptable. Free programs preferred (of course!), but commercial
programs also acceptable. For "free" programs, I am willing to port
to the RS/6000 as the price of admission.
Please email me and I will summarize for the net.
jonathan@cs.pitt.edu (Jonathan Eunice) (01/16/91)
I recently asked for a literate programming tool for C. This is a preliminary summary of the responses, designed to get the information out while it's hot. The lines are still open, however. If I get significant new responses, I'll ammend the summary and post it in a week or so. See below for still-open issues. Thanks to all who responded. The request: | | >From: jonathan@cs.pitt.edu (Jonathan Eunice) | Subject: Literate programming interface for C | Message-ID: <9699@pitt.UUCP> | Date: 13 Jan 91 18:23:31 GMT | | I need a program that supports a literate programming style for the | C language. It should allow me to enter pseudo-code such as | | if <the device is not responding> { | <stop with device failure error> | } | | then select individual pseudo-code expressions (here delimited by <>) | and edit them in native C. The ability to arbitrarily switch between | pseudo-expression and C representations is highly desirable, as is the | maintenance of the pseudo-expressions as comments in program listings. | | This is to run on an IBM RS/6000 with AIX 3.1. An X Windows tool | preferred, but character-oriented or NextStep programs also | acceptable. Free programs preferred (of course!), but commercial | programs also acceptable. For "free" programs, I am willing to port | to the RS/6000 as the price of admission. | | Please email me and I will summarize for the net. The replies, edited: | From: Bob Desinger <bd@hpopd.pwd.hp.com> | | [Similar suggestion made by Raymond Chen <raymond@math.berkeley.edu>.] | | How about CWEB? It was (is?) distributed with Unix TeX, and is also | available under princeton.edu:~ftp/pub/cweb.tar.Z. [...] | Unfortunately, its author Silvio Levy doesn't have time to support it | any more. However, I just saw news of a new Stanford University report | on CWEB by Knuth himself! I don't have access to it here in England | (yet), so I don't know if Knuth is now supporting CWEB or if he wrote | his own from scratch. | | The drawback with CWEB is that it's not WYSIWYG: it's the old familiar | ``text-file + TeX'' model. To preview your output, you can get xdvi | from expo.lcs.mit.edu with the other X contrib stuff. But it's still | the old batch-mode interface, not a whizzy windows version. | | There was an attempt at UCB to make TeX interactive and window-smart; | the project was called VorTeX, but that was a few years ago and I | don't know if anything came out of it. | | A company in Turin, Italy, named LPS sells an editor called KeyOne | that is more WYSIWIG and window-smart. It's not CWEB; it stores the | files in its own annotated (but still plain ASCII) format. The | version I saw would never win any awards for speed, but their new | version is probably a better X client than the old version I saw. | LPS's CEO is Luigi Petrone, a professor at the University of Turin. | Send me mail if you can't discover a local distributor; I can reply | with their phone and Fax numbers in Italy. I'm not sure I'm willing to brave WEB/CWEB files that combine the independent, already worrisome complexities of C notation, application logic, and TeX formatting into one hideously complex file. My goal is hiding complexity, not exposing/causing more of it. Even so, I do intend to check out CWEB first hand. Mabye its not such a bad solution if you resign yourself to the ugliness of the interface. VorTeX might make CWEB somewhat more palatable, but not being a TeX user, I haven't even heard of VorTeX, much less know about its availability. Further info appreciated. KeyOne also seems a possibility worth looking into. |--------------------------------------------------------------------- | | | From: Frank Glandorf <sdrc!gefrank@uunet.UU.NET> | | You may want to check this month's Sigplan Notices (jan 91, vol. 26 #1). | There's an anotated bibliography of literate programming. Aha! You've caught me neglecting my SIGPLAN Notices again. I checked the references, but alas, only a few references mention interactive tools. The rest relate to WEB and similar solutions. These site M. Brown, our next respondent. |--------------------------------------------------------------------- | | | From: Marcus Brown <marcus@fred.cs.ua.edu> | | I am in the middle (well, actually, a grad student is) of porting | the tool I built for Literate Programming using SunView to | X Windows. The current model is built on top of Levy's CWEB, tho | it could be used with any other CWEB I know of. I am currently | working on IBM RT (AIX 2.2.1), but we will be getting RS/6000s | "Real Soon Now". I'm not sure when to promise results, but sometime | this semester we should have a working model. | | For a description of the whole environment (not all functions are | implemented yet), see my article in "Structured Programming, 11,p.11-25", | Jan. 1990. | | Be sure to let me know if you get any other similar offers. | | Marcus Brown | CS Dept. | Univ. of Alabama | Box 870290 | Tuscaloosa, AL 35487-0290 | (205) 348-7373 Sounds good to me, though not yet available. |--------------------------------------------------------------------- | | | From: Bob Bagwill <bagwill@swe.ncsl.nist.gov> | | Probably the fastest/cheapest/easiest way to get this is to see if there | are similar GNU EMACS templates available, and change them. This was an interesting suggestion. Unfortunately, I am not a GNU EMACS user, so I don't know where to look for such templates, or how hard it would be to write/modify templates to do what I'm asking. An extensible editor would be the perfect place to implement my desired tool, and I know of language-sensitive macros for EMACS. I am following up on this suggestion. Further comments appreciated. |--------------------------------------------------------------------- | | | From: Paul C George <pcg@spl27.spl.loral.com> | | You might consider the Grammatech LSE (aka the Cornell Program Synthesizer). | This tool comes prepopulated with C, and you could extend the grammer for | your specific needs. It is a general purpose LSE building tool. Any grammer | you can specify can be implemented. | | Our contact is: | Tim Teitelbaum (607)273-7340 | | I should warn you that dealing with them can be a pain if you want | major modifications to the tool, as they are (understandably) worried about | the technology getting out. We had major headaches formulating a contract. | If you just want to extend C grammar, there should be less of a problem. | Hope the product helps. Again, thanks to all who replied. If significant new information comes to me, I will amend this summary to include it. In particular, the following issues are open: 1. Are there any other interactive LP tools out there? 2. How easily/effectively can GNU EMACS be turned to the problem? 3. Is VorTeX a reality? What is its availability? 4. How usable is the combination of CWEB, TeX, and a DVI previewer in real life?
Dan_Jacobson@ATT.COM (02/08/91)
>>>>> On 16 Jan 91 02:02:39 GMT, jonathan@cs.pitt.edu (Jonathan Eunice) said:
J> | Probably the fastest/cheapest/easiest way to get this is to see if there
J> | are similar GNU EMACS templates available, and change them.
J> This was an interesting suggestion. Unfortunately, I am not a GNU
J> EMACS user,
Never fear, gnu emacs probably has an emulation for whatever editor you are
presently using. it's either in the offical stuff, or an obtainable
add-on. See gnu.emacs.help newsgroup mostly.
--
Dan_Jacobson@ATT.COM Naperville IL USA +1 708-979-6364