<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><div>ps:</div><div><br></div><div>  foo.m3 => foo.mc => cm3cg => foo.ms => as => foo.mo  </div><div>  foo.i3 => foo.ic => cm3cg => foo.is => as => foo.io  </div><div><br></div><div> again, see cm3 -keep, err better yet, cm3 -keep -verbose </div><div> You can see it running cm3cg and as and rm.</div><div><br></div><div><br></div><div> - Jay<br><br><br></div><div><hr id="stopSpelling">From: jay.krell@cornell.edu<br>To: estellnb@elstel.org; m3devel@elegosoft.com<br>Date: Tue, 9 Jun 2015 20:12:51 +0000<br>Subject: Re: [M3devel] cm3: what are *.mc files<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
<div dir="ltr"><div> I believe before the m3cc backend existed, these were actually C code. <br>  (i.e. C backend used to be the one and only) <br></div><div><br></div><div>Then they morphed into the intermediate representation fed to cm3cg</div><div>which is what they are now.</div><div><br></div><div>See here:</div><div><br></div><div><br>https://github.com/modula3/cm3/tree/master/m3-sys/m3middle/src/M3CG_BinWr.m3<br>and m3-sys/m3cc/gcc/gcc/m3cg/parse.c</div><div><br></div><div>m3cgcat can dump the binary form into text.</div><div><br></div><div>_m3main.mc is the intermediate file that holds main.</div><div>There is a configuration option to use it, vs. _m3main.c.</div><div>I switched to _m3main.c. This is perhaps more portable if using C++ anywhere and</div><div>want to get the constructors/destructors run (though all modern implementations</div><div>don't care really).</div><div><br></div><div><br></div><div>Try cm3 -keep to see them all. i.e. normally they get deleted.</div><div><br></div><div><br> - Jay<br><br><br><br></div><div>> Date: Tue, 9 Jun 2015 22:02:45 +0200<br>> From: estellnb@elstel.org<br>> To: m3devel@elegosoft.com<br>> Subject: [M3devel] cm3: what are *.mc files<br>> <br>> What are *.mc - files?<br>> They appear in TARGET - directories;<br>> most of them are just called _m3main.mc but some of them have other names.<br>> <br>> I ask because I am writing a program which should recognize and clear <br>> object files.<br>> It does not seem to be sufficient to check for uppercase directories <br>> which are located together with an src directory.<br>> <br>> Usually files of a specific type start with a 32bit magic;<br>> however the mc files all have different starting sequences.<br>> <br>> Is there still a straight forward way to recognize an .mc file just by <br>> its binary content?<br>> <br></div>                                           </div></div>                                        </div></body>
</html>