dcw@doc.ic.ac.uk (Duncan C White) (04/07/87)
Hi there ! This is my first news article, so be kind :-) My name is Duncan White and I work [ and play ... ] at the Dept of Computing, Imperial College, London, England. I am supervising a Final Year Undergraduate project about : "Tool Support for Modula-2" The general idea of this project is that Modula-2, due to its emphasis on separate compilation units [ ie. defn & impln modules ], tends to breed large numbers of files which become difficult to handle with the usual kinds of tools provided with a system (specifically, editors) In particular, I find myself spending ludicrously large amounts of time and effort doing such (logically) simple things as : o changing a name throughout a multi-module "project" o changing the order/types/number of parameters o maintaining comment consistency between defn & impln modules o reformatting other people's code to my style [ plus, reformatting my "late night" code properly :-) ] o splitting/merging modules o cross referencing o checking for dead code [ and sundry optimizations ] It seems to me, at least, that a good way to enhance M-2 as a "programming system" - rather than a formal language - would be to design and implement a set of integrated M-2 tools, built around a central M-2 parser [ which would, however, keep such things as comments intact ] It seems reasonable to try to establish a simple classification of such tools. What I propose is a 3-way classification : 1). tools which perform some function on just one compilation-unit [ such as a reformatter ] 2). tools which process a defn-impn pair together [ such as a comment consistency checker/enforcer ] 3). tools which require knowledge of an entire "project" [ such as a "module splitter", a "makefile generator" or a "project-wide editor" ] Clearly, this classification is ordered in terms of tool complexity.. ----------------- now, the request ---------------- I would welcome any input whatsoever on this subject. In particular, o Do other M-2 programmers see the need for such tool support ? If so, are the kind of tools I propose appropriate ? Are there any other such requirements ? Is a central parser a good idea ? Is the 3-way classification adequate ? o Has anyone else done any relevent work ? o Are there any PD M-2 parsers / tools ? [ This info will probably be too late to be of practical interest : the parser is well underway.. ] Please reply either by e-mailing to me directly, or by posting news to this newsgroup. If there is enough interest, I could summarise any replies to the net... ecnavda ni sknahT [ well, people always say I'm backward :-) :-) ] ----------------------------------------------------------------------------- JANET address : dcw@uk.ac.ic | Snail Mail : Duncan White, --------------------------------| Dept of Computing, This space intentionally | Imperial College, | 180 Queen's Gate, left blank...... | South Kensington, | London SW7 ---------------------------------------------------------------------------- Tel: UK 01-589-5111 x 4991/4982 ----------------------------------------------------------------------------