Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!clyde!cbosgd!ihnp4!homxb!whuts!mtune!rutgers!ukma!uunet!mcvax!enea!sommar From: sommar@enea.UUCP Newsgroups: comp.software-eng Subject: Re: User-modified compilers Message-ID: <2427@enea.UUCP> Date: Fri, 30-Oct-87 18:10:46 EST Article-I.D.: enea.2427 Posted: Fri Oct 30 18:10:46 1987 Date-Received: Tue, 3-Nov-87 02:17:50 EST References: <326@moncsbruce.oz> Reply-To: sommar@enea.UUCP(Erland Sommarskog) Followup-To: comp.software-eng Organization: ENEA DATA Svenska AB, Sweden Lines: 40 conybear@moncsbruce.oz (Roland Conybeare) writes: > For example, suppose I want to allocate space on the stack, but I don't >know how much space will be required until runtime (this is very important >if I want to implement function calls efficiently in an interpreter, or >write a B-tree where the user provides the size of the elements to be stored >in each B-tree). > How do I proceed? If the language does not provide this facility and >gives me no way around its restrictions, then I must find another >solution within the language, and this may be a high price to pay If this is important to you, use a language which helps you do this. Assembler if you can live without range checking. Perhaps you can do it in C. (I don't speak C, so I don't know) If you prefer programming in a controlled way, languages like Simula and Ada premit declaring arrays with the size set at run-time. Whether you will get an efficient program, using these languages depends on the *compiler*, not the language itself. > I also propose that our compilers should be extensible. My ideal compiler >would look like one of today's compilers, but decomposed into a set of modules >with explicit interfaces. Some modules would describe how to compile builtin >types. If I did not like the compiler's code generation for floating point >numbers, I could reimplement the appropriate module. If I felt that complex >numbers were essential, I could implement them. While much of this >can be done using user-defined types and functions, the important thing is >that if I have control over my types' compilation then I also control their >implementation. Seems like some people have all time in the world. But if you are that lucky, why don't you write your own compiler? The notion of a user- modifyable compiler just gives me headaches having to read the manual for it. And must say that I believe that we programmers would be more productive than all wasting our time modifying the same compiler. -- Erland Sommarskog ENEA Data, Stockholm sommar@enea.UUCP It could have been worse; it could have been Pepsi.