[Coco] Converting ANSI-C to K&R(Microware) - Ansifront didn't work

Willard Goosey goosey at virgo.sdc.org
Sun Jan 9 17:09:43 EST 2011


On Sat, Jan 08, 2011 at 08:56:45PM -0800, Michael Furman wrote:

> I've noted that cc252 calls c.pass1 and c.pass2.  Is there any real
> difference between this and c.comp?  How do I switch them?

c.pass1 & c.pass2 are slower, c.comp uses more memory.  That's it.
You'll have to edit cc252.c and recompile if you want to use c.comp.

> c.prep [ used by cc1 ]
> c_prep19 [ Can replace c.prep ?, cc252 expects this to be named c_prep ]

Yeah, the stock c.prep can go away.  If you sometimes end up using cc1
you can make a copy of c_prep named c.prep.
> 
> rmxlab [ ? ]

Part of copt2, which I've never really used.  It removes unused local
labels from assembly.  I assume it would be run after copt2 to clear
out labels of code that had been removed.

> c.opt [ used by cc1, cc252 ]
> copt2 [ can replace c.opt ? ]

Again, I've never really used copt2.

> c.asm [ used by cc1 ]
> rma [ used by cc252 ]
> r63 [ cc252 -N ]

rma is a slightly newer version of c.asm.  The problem is that c.asm &
c.link can't handle rma & rlink's .r files.  This was a real problem
when Tandy shipped cgfx.l -- the C graphics library -- assembled with
rma and then didn't tell anybody.  See "What You Should Know About
Your C Compiler."

Gene's mentioned cnoy, which I don't use.  It makes the code smaller &
faster, but damages the position-independant nature of the code.  I
object philosophically. 

Also sometimes needful is lb_C_Lib_splitter.lzh for taking apart .l
files.

Another useful document is MWC_Bugs.lzh which will tell you why your
perfectly valid C straight out of K&R doesn't work. ;-)

Willard
-- 
Willard Goosey  goosey at sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
  -- R.E. Howard



More information about the Coco mailing list