george@osu-eddie.UUCP (George Jones) (02/19/86)
Hi. I just recieved a flier in the mail telling me that I can purchase a BCPL compiler for my Amiga. I am interested looking at the language but have never seen one book on it, never seen one line of code in articals, etc. Could someone please point me to a good reference book on the language. Thanks ----------- George M. Jones cbosgd!osu-eddie!george (uucp) (614) 885-5102 (home) george@ohio-state.csnet (csnet) (614) 457-8600 (work) 70003,2443 (CompusServe) -- ----------- George M. Jones cbosgd!osu-eddie!george (uucp) (614) 885-5102 (home) george@ohio-state.csnet (csnet) (614) 457-8600 (work) 70003,2443 (CompusServe)
ken@rochester.UUCP (Ipse dixit) (02/21/86)
In article <1341@osu-eddie.UUCP> george@osu-eddie.UUCP (George Jones) writes: >Hi. I just recieved a flier in the mail telling me that I can purchase >a BCPL compiler for my Amiga. I am interested looking at the language >but have never seen one book on it, never seen one line of code in >articals, etc. Could someone please point me to a good reference >book on the language. The book that I like is the one written by the language designer Martin Richards and another person (?). I think it is "BCPL - the language and its compiler". Sorry if I got some of the details wrong - the book is in my office - but you will recognize the book as soon as you see it. Ken -- UUCP: ..!{allegra,decvax,seismo}!rochester!ken ARPA: ken@rochester.arpa Snail: Comp. of Disp. Sci., U. of Roch., NY 14627. Voice: Ken!
kim@mips.UUCP (Kim DeVaughn) (03/02/86)
> In article <1341@osu-eddie.UUCP> george@osu-eddie.UUCP (George Jones) writes: > >Hi. I just recieved a flier in the mail telling me that I can purchase > >a BCPL compiler for my Amiga. I am interested looking at the language > >but have never seen one book on it, never seen one line of code in > >articals, etc. Could someone please point me to a good reference > >book on the language. > > The book that I like is the one written by the language designer Martin > Richards and another person (?). I think it is "BCPL - the language and > its compiler". Sorry if I got some of the details wrong - the book is > in my office - but you will recognize the book as soon as you see it. Yes. Martin Richards and Colin Whitby-Strevens, Cambridge University Press, 1980. It's cover is two shades of blue, soft-bound. I got a copy ($20+) at "Computer Literacy" on Lawrence Expressway in Sunnyvale, CA. Their phone number is 408-730-9955; they take phone-orders, MC, Visa, etc. They only had the one copy, so be prepared for a Special-Order wait if you decide to call them. /kim -- UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!kim DDD: 408-720-1700 USPS: MIPS Computer Systems Inc, 930 Arques Av, Sunnyvale, CA 94086
elh@vu-vlsi.UUCP (Edward L. Hepler) (03/05/86)
In article <1341@osu-eddie.UUCP>, george@osu-eddie.UUCP (George Jones) writes: > Hi. I just recieved a flier in the mail telling me that I can purchase > a BCPL compiler for my Amiga. I am interested looking at the language > but have never seen one book on it, never seen one line of code in > articals, etc. Could someone please point me to a good reference > book on the language. > Try: BCPL - the language and its compiler by Martin Richards and Colin Whitby-Strevens Cambridge University Press 1979 ISBN 0 521 21965 5 Dr. Ed Hepler Adjunct Prof. Villanova Univ. ..!{psuvax1,pyrnj}!vu-vlsi!elh
oster@ucblapis.BERKELEY.EDU (David Phillip Oster) (03/12/86)
It is interesting that BCPL is rearing its ugly head again. According to histories of the C language I have seen published in Dr. Dobbs (interviews with the creator) C was invented because, among other reasons, nobody could figure out how to do a decent BCPL compiler for a byte addressable machine. You see: The BCPL model of reality is that the world is a giant array, so an integer is also an address. BCPL assumes that if you increment an integer you get the next slot in the world array, i.e. that your on a machine with word addressing (like a dec-10.) Since an value can be used as either an integer or an address, the best the BCPL compiler on the PDP-11 could do was shift the value one spot left (multiply by two) when it was actually being used as an address, and shift it back again immediately after. The designer of C hated all that shifting and unshifting. In C, you say whether a value is a pointer or an integer, and if a pointer, what it is a pointer to. Incrementing a pointer does NOT necessarily add one to the value, it adds enough to make the pointer point at the next one of whatever thet pointer points at. BCPL on the other hand forces incrementing by one. That was how things stood back when C was invented. Has BCPL changed? Is it still as inappropriate for byte addressable machines (like the Amiga with its 68000)? --- David Phillip Oster ----------------------- ``What do you look like when you aren't visualizing?'' Arpa: oster@lapis.berkeley.edu Uucp: ucbvax!ucblapis!oster
daveh@cbmvax.UUCP (03/21/86)
BCPL on the Amiga is pretty much what you'd expect from BCPL .. a pain in the #^%&^%@. I haven't actually used a BCPL compiler on the Amiga, but quite often C programs have to interface with BCPL code. BCPL pointers are pointers to 32-bit words, which means that to access them in C you've got to >>2 and <<2. They're always longword aligned pointers from C's point of view, once converted, and this is why a good deal of stuff on the Amiga, especially interfaces to AmigaDOS, must be allocated as longword-aligned, using the AllocMem function from C. My main point is that BCPL is still a DOG on byte-aligned systems. -Dave Haynie/Commodore Technology