Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!caip!seismo!rochester!ritcv!cci632!ccird1!rb From: rb@ccird1.UUCP (Rex Ballard) Newsgroups: net.arch,net.lang Subject: Re: C as an aid writing assembler Message-ID: <473@ccird1.UUCP> Date: Thu, 12-Jun-86 15:50:55 EDT Article-I.D.: ccird1.473 Posted: Thu Jun 12 15:50:55 1986 Date-Received: Tue, 17-Jun-86 07:18:04 EDT References: <201@pyuxv.UUCP> <3700003@uiucdcsp> <132@vaxb.calgary.UUCP> <1193@terak.UUCP> <438@ccird1.UUCP> <316@euroies.UUCP> Reply-To: rb@ccird1.UUCP (Rex Ballard) Organization: CCI Rochester Development, Rochester NY Lines: 43 Xref: watmath net.arch:3429 net.lang:2481 Summary: Two views, both valid. In article <316@euroies.UUCP> shepherd@euroies.UUCP (Roger Shepherd INMOS) writes: >In article <438@ccird1.UUCP> Rex Ballard writes: >> All High level languages do is attempt to organize the >> macros and subroutines that might otherwise be written in >> assembler. They also provide some convenient and well >> standardized procedures and parameter passing conventions. > >I disagree with view. A high level language should be more than a glorified >macro assembler. It is possible to design a high level language so that >it actually has a clean, coherent and useful semantics. It can then be used >as a way of describing algorithms mathematically. Such langauges can even >be compiled! In a sense, I agree with you. What you're describing is the human->compiler side of what a language should be. I am describing what the compiler->machine side should be. How good the interface between the two view is, is a good definition of the quality of a compiler. If restricitions are loose enough reguarding the nature of the variables, definitions, and operators, one could express algorythms in "structured english" (as opposed to the hodge-podge we normally atribute to the language), and have it compiled into a sequence of subroutines, macro expansions, and instructions which could be executed by a computer. On the other hand, "structured english" is a little tedious to type. Perhaps a "Decompiler" could translate 'C' code tokens into structured english :-). Not only could it be compiled into instructions, it could also be compiled into useful data bases, flow charts, structure charts, and even "design completers" which could find common primitives in complex systems, and express them in the same structured language. These 'design completers' are more commonly referred to as optimization, but often the input, as well as the assembler could be optimized by machine, leaving only the most commonly executed parts of the code to be "super-optimized" by hand, or even hardware. >Of course, very few existing HLLs have such a semantics. However, I have been >useing one that does and one which compiles effeciently onto a processor. Which language is this? >Roger Shepherd, INMOS Ltd, WHITEFRIARS, LEWINS MEAD, BRISTOL, UK Nice company, looking forward to seeing more info on your products.