<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>please if this description helps you understand the problem is to communicate with a C C to Modula-3 process:<br>http://groups.yahoo.com/group/rmiug-jobs/message/54928<br><br>Thanks in advance<br><br>--- El <b>lun, 6/8/12, Dragiša Durić <i><dragisha@m3w.org></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Dragiša Durić <dragisha@m3w.org><br>Asunto: Re: [M3commit] CVS Update: cm3<br>Para: "Daniel Alejandro Benavides D." <dabenavidesd@yahoo.es><br>CC: "Jay" <jay.krell@cornell.edu>, m3commit@elegosoft.com<br>Fecha: lunes, 6 de agosto, 2012 02:08<br><br><div id="yiv950880987"><div>Daniel,<div><br></div><div>It's very hard to understand you, from time to time :). I am not a Grammar Nazi, but grammar is problem here. Lots of us are not native English
 speakers (it is my fourth language, for example) but we need some (as much as possible) common language to communicate with each other.</div><div><br></div><div>Thus said, m3cg is IR -> O, no C there. As far as I know (I may be wrong, of course) there is no C in current compile process anywhere. m3cg is written in C, some libraries are C, but we have no C in compile process. Yet you write about C like it's done thing, not something to be done, just something to make better, more logical, …</div><div><br></div><div>Also, I don't get this "m3cg machine" thing. m3cg is a translator, not interpreter or anything like it. There is no machine, just a compile-time process. And that process is not "running in C", it is written in C. It is ad(o|a)pted gcc code. But, being written in C is it's compile-time property and has (more or less) nothing with us using it.</div><div><br></div><div>"use IR directly as real IR" - another puzzle. As you mention JIT later,
 you probably mean "IR as bytecode"? If so, then - not every IR is bytecode, and vice versa. Bytecode is more like object code, final product for some (maybe vemulated) CPU.</div><div><br></div><div>And so on. If I was an English major (like my son whom I consulted whie reading/writing in this thread) I could have written more extensive piece on grammar aspects here, but I think I got at least most important Modula-3 ones :).</div><div><br></div><div>Have a nice time!</div><div><br></div><div><div><div>On Aug 6, 2012, at 4:37 AM, Daniel Alejandro Benavides D. wrote:</div><br class="yiv950880987Apple-interchange-newline"><blockquote type="cite"><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top"><div id="yiv950880987"><table
 id="yiv950880987bodyDrftID" class="yiv950880987" border="0" cellpadding="0" cellspacing="0"><tbody><tr><td id="yiv950880987drftMsgContent" style="font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit; font-family: arial; font-size: 10pt;">Hi all:<br>
yes, I'm into to do actually getting  some, but meanwhile if you are 
deleting every other type information of C sources, more and more,  
won't we need another representation of Modula-3 code, we would have 
just 3 different compilers 1)<br>
 M3←↓→ IR , IR ←↓→ O , C←↓→ O but better M3 ← ↓ → C , C ←↓→ O ,  S ←↓→O <br>    M3cg                C               S                                  C                 S                  O<br>
<br>
Question is if M3cg machine is running in C why we needed  C for it ? 
Instead use IR directly as real IR?  Why waste time on coding it, Code that isn't running?<br>
The real thing is we need to communicate M3cg with C one way of another as it actually is partly from Modula-3 to C. Don't you think?<br>If not is better to go through the right side scheme for our JIT target.<br>
Thanks in advance<br><br>--- El <b>dom, 5/8/12, Jay <i><<a rel="nofollow" ymailto="mailto:jay.krell@cornell.edu" target="_blank" href="/mc/compose?to=jay.krell@cornell.edu">jay.krell@cornell.edu</a>></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay <<a rel="nofollow" ymailto="mailto:jay.krell@cornell.edu" target="_blank" href="/mc/compose?to=jay.krell@cornell.edu">jay.krell@cornell.edu</a>><br>Asunto: Re: [M3commit] CVS Update: cm3<br>Para: "Daniel Alejandro Benavides D." <<a rel="nofollow" ymailto="mailto:dabenavidesd@yahoo.es" target="_blank" href="/mc/compose?to=dabenavidesd@yahoo.es">dabenavidesd@yahoo.es</a>><br>CC: "<<a rel="nofollow" ymailto="mailto:m3commit@elegosoft.com" target="_blank" href="/mc/compose?to=m3commit@elegosoft.com">m3commit@elegosoft.com</a>>" <<a rel="nofollow" ymailto="mailto:m3commit@elegosoft.com" target="_blank"
 href="/mc/compose?to=m3commit@elegosoft.com">m3commit@elegosoft.com</a>>, "<<a rel="nofollow" ymailto="mailto:jkrell@elego.de" target="_blank" href="/mc/compose?to=jkrell@elego.de">jkrell@elego.de</a>>"
 <<a rel="nofollow" ymailto="mailto:jkrell@elego.de" target="_blank" href="/mc/compose?to=jkrell@elego.de">jkrell@elego.de</a>><br>Fecha: domingo, 5 de agosto, 2012 19:53<br><br><div id="yiv950880987"><div><div>Daniel, your question doesn't quite make sense to me. Do you have some actual code? If you translate Modula-3 to C then you don't need m3cc. m3cc is a backend that integrates with cm3.</div><div><br> - Jay (briefly/pocket-sized-computer-aka-phone)</div><div><br>On Aug 5, 2012, at 11:22 AM, "Daniel Alejandro Benavides D." <<a rel="nofollow">dabenavidesd@yahoo.es</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td style="font-family: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-size-adjust: inherit; font-stretch: inherit;" valign="top">Hi all:<br>Jay, if I produce a target
 dependent translator to C Do I need to make it to talk with  m3gcc to use Modula-3 compiler code (M3 code)?<br>For instance CM3 -> C  →m3gcc← .is <br>Or is there  
 any  tool than gcc to talk with C in AIX can I use to talk with Modula-3?<br>This is  to recover type information lost in translation  to  C before is lost.<br>Thanks in advance<br><br>--- El <b>dom, 5/8/12, Jay Krell <i><<a rel="nofollow">jkrell@elego.de</a>></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Jay Krell <<a rel="nofollow">jkrell@elego.de</a>><br>Asunto: [M3commit] CVS Update: cm3<br>Para: <a rel="nofollow"></a><a rel="nofollow">m3commit@elegosoft.com</a><br>Fecha:
 domingo, 5 de agosto, 2012 13:55<br><br><div class="yiv950880987plainMail">CVSROOT:    /usr/cvs<br>Changes by:   
 jkrell@birch.    12/08/05 18:55:19<br><br>Modified files:<br>    cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c <br>    ./: parse.c <br>    cm3/m3-sys/m3cc/gcc-4.7/: Makefile.def Makefile.in Makefile.tpl <br>                              configure <br>    ./: Makefile.def Makefile.in Makefile.tpl configure <br>    cm3/m3-sys/m3cc/gcc-4.7/gcc/: Makefile.in builtins.c configure <br>                                  configure.ac double-int.c <br>                                  double-int.h expr.c fold-const.c <br>                           
       lto-compress.c lto-section-out.c <br>                                  passes.c real.c toplev.c <br>                                  tree-pass.h tree-ssa-loop-niter.c <br>                                  tree-vrp.c tree.c tree.h <br>    ./: Makefile.in builtins.c configure configure.ac double-int.c <br>        double-int.h expr.c fold-const.c lto-compress.c <br>        lto-section-out.c passes.c real.c toplev.c tree-pass.h <br>        tree-ssa-loop-niter.c tree-vrp.c tree.c tree.h <br>    cm3/m3-sys/m3cc/src/: clean_marker.txt m3makefile <br>Removed
 files:<br>    cm3/m3-sys/m3cc/gcc-4.7/gcc/: collect2-aix.c collect2-aix.h <br>                                  collect2.c collect2.h gcc-ar.c <br>                                  genmultilib realmpfr.h <br>    ./: collect2-aix.c collect2-aix.h collect2.c collect2.h gcc-ar.c <br>        genmultilib realmpfr.h <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/: FAQ INDEX Makefile.am Makefile.in <br>                                   README acinclude.m4 aclocal.m4 <br>                                   adler32.c algorithm.txt
 <br>                                   compress.c configure configure.ac <br>                                   crc32.c crc32.h deflate.c <br>                                   deflate.h example.c gzio.c <br>                                   infback.c inffast.c inffast.h <br>                                   inffixed.h inflate.c inflate.h <br>                               
    inftrees.c inftrees.h <br>                                   make_vms.com minigzip.c trees.c <br>                                   trees.h uncompr.c zconf.h <br>                                   zconf.in.h zlib.3 zlib.h zutil.c <br>                                   zutil.h <br>    ./: FAQ INDEX Makefile.am Makefile.in README acinclude.m4 <br>        aclocal.m4 adler32.c algorithm.txt compress.c configure <br>        configure.ac crc32.c crc32.h deflate.c deflate.h example.c
 <br>        gzio.c infback.c inffast.c inffast.h inffixed.h inflate.c <br>        inflate.h inftrees.c inftrees.h make_vms.com minigzip.c <br>        trees.c trees.h uncompr.c zconf.h zconf.in.h zlib.3 zlib.h <br>        zutil.c zutil.h <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/amiga/: Makefile.pup Makefile.sas <br>    ./: Makefile.pup Makefile.sas <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/as400/: bndsrc compile.clp <br>                                         readme.txt zlib.inc <br>    ./: bndsrc compile.clp readme.txt zlib.inc <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/examples/: README.examples fitblk.c <br>                   
                         gun.c gzappend.c <br>                                            gzjoin.c gzlog.c gzlog.h <br>                                            zlib_how.html zpipe.c <br>                                            zran.c <br>    ./: README.examples fitblk.c gun.c gzappend.c gzjoin.c gzlog.c <br>        gzlog.h zlib_how.html zpipe.c zran.c <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/msdos/: Makefile.bor Makefile.dj2 <br>                 
                        Makefile.emx Makefile.msc <br>                                         Makefile.tc <br>    ./: Makefile.bor Makefile.dj2 Makefile.emx Makefile.msc <br>        Makefile.tc <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/old/: Makefile.riscos README <br>                                       descrip.mms visual-basic.txt <br>                                       zlib.html <br>    ./: Makefile.riscos README descrip.mms visual-basic.txt <br>        zlib.html
 <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/old/os2/: Makefile.os2 zlib.def <br>    ./: Makefile.os2 zlib.def <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/projects/: README.projects <br>    ./: README.projects <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/projects/visualc6/: README.txt <br>                                                     example.dsp <br>                                                     minigzip.dsp <br>                                                 
    zlib.dsp <br>                                                     zlib.dsw <br>    ./: README.txt example.dsp minigzip.dsp zlib.dsp zlib.dsw <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/qnx/: package.qpg <br>    ./: package.qpg <br>    cm3/m3-sys/m3cc/gcc-4.7/zlib/win32/: DLL_FAQ.txt Makefile.bor <br>                                         Makefile.emx Makefile.gcc <br>                                         Makefile.msc VisualC.txt <br>                   
                      zlib.def zlib1.rc <br>    ./: DLL_FAQ.txt Makefile.bor Makefile.emx Makefile.gcc <br>        Makefile.msc VisualC.txt zlib.def zlib1.rc <br><br>Log message:<br>    remove use of gmp and zlib<br>    removal of gmp does have a little collateral damage in lost<br>    optimizations -- value range propagation (vrp) and some loop<br>    optimizations (gmp used in calculating how many times<br>    loops run)<br>    zlib is only for LTO, which we don't use anyway<br>    remove some dead stuff wrt collect, ppl, cloog<br><br></div></blockquote></td></tr></tbody></table></div></blockquote></div></div></blockquote></td></tr></tbody></table></div></td></tr></tbody></table></blockquote></div><br></div></div></div></blockquote></td></tr></table>