<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'>I propose the following changed to m3front, TInt, TFloat.<br>It does kind of "infact" the front/middle end with the "intent" of a specific backend.<BR><br> <BR>When a TInt or TFloat is initialized from text, that text is remembered.<br>When such a TInt/TFloat is added/subtracted/multiplied/divided by another,<br>the obvious text is built up in the target.<BR> <BR><br>Initialization of TInt with constants could/should also maintain the textual representation.<BR> <BR> <BR>The implication is multi part:<BR><br> <BR>1) init_float in a C-or-such backend can just output the textual expression.<br>No need to worry about roundtripping it.<BR> <BR> <BR>2) Longer term, TInt "constant expressions" could contain like "sizeof(INTEGER)"<br>(preceded by a typedef for INTEGER in the larger context)..thereby factoring<br>out the target from the generated C.<BR> <BR> <BR>3) This provides some hypothetical portability when host/target<br>don't use the "same" sort of floating point. Ignoring rounding details however.<br>And TFloat does seem to round correctly at compile-time, assuming host/target<br>are about the same -- and they all are.<br>(What does the language definition say here anyway? I'll have to check..)<BR> <BR> <BR>Reasonable?<BR> <BR> <BR>For now I'll probably punt.<br> I can just use TFloat.ToChars and munge it slightly.<br>But this is probably a good direction.<br>In the short term I'm trying hard to make do w/o m3front/m3middle changes.<BR> <BR> <BR>You know..implementing another backend, you tend to visit more of the system,<br>gradually understand it..think of what you how one might prefer it to be..esp.<br>for the task at hand. :)<BR> <BR> <BR>Obviously this is somewhat of a hack, in that...what should the syntax of the expressions be?<BR>If/when I make the change, I'll probably use C. It will be almost identical to Modula-3 anyway.<BR> <BR> <BR> - Jay<br><br><BR>                                    </div></body>
</html>