<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
There is this thing I read, where the types of values/constants are known without context.<BR>
The left hand side does not change the type of the right.<BR>
That confuses me here. It would imply the right is an open array.<BR>
 <BR>
 - Jay<BR><BR> <BR>
<HR id=stopSpelling>
Subject: Re: [M3devel] release engineering 5.8: code generator error for IP address initializers<BR>From: hosking@cs.purdue.edu<BR>Date: Fri, 16 Apr 2010 11:04:49 -0400<BR>CC: wagner@elegosoft.com; m3devel@elegosoft.com<BR>To: jay.krell@cornell.edu<BR><BR><BASE>You are confusing open array types with array constructors.
<DIV><BR></DIV>
<DIV>
<DIV>
<DIV>
<DIV>On 16 Apr 2010, at 08:15, Jay K wrote:</DIV><BR class=ecxApple-interchange-newline>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage>(back to the topic :) )<BR> <BR>somewhat reduced case:<BR>MODULE Main;<BR>TYPE T1 = ARRAY [0..0] OF INTEGER;<BR>CONST const: T1 = ARRAY OF INTEGER{2};<BR></DIV></SPAN></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>This is an array constructor.</DIV>
<DIV><BR></DIV>
<DIV>I suspect this is the same issue as in my previous e-mail.  The following concise rewrite should work:</DIV>
<DIV><BR></DIV>
<DIV>CONST const = T1{2};</DIV><BR>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage>BEGIN<BR>END Main.<BR><BR>The problem is two global integers are overlapping.<BR>The open array size and its first element.<BR><BR>new source -> compiling Main.m3<BR>"..\Main.m3", line 5: warning: not used (const)<BR>m3front:cg:Init_int:NOT in_init: o: 32 s:32 value:2  <==<BR>m3front:cg:Init_int:NOT in_init: o: 32 s:32 value:1  <==<BR>m3front:cg:Init_int:NOT in_init: o: 384 s:32 value:3<BR>m3front:cg:Init_int:in_init: o: 32 s:32 value:1<BR>m3front:cg:Init_int:in_init: o: 32 s:32 value:2<BR> <BR>Are these syntaxes legal?<BR>This apparent mixing of open and fixed arrays?<BR><BR> - Jay<BR><BR> <BR>> Date: Fri, 16 Apr 2010 12:50:48 +0200<BR>> From:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</A><BR>> To:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</A><BR>> CC:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</A><BR>> Subject: RE: [M3devel] release engineering 5.8: code generator error for IP address initializers<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> I agree. Regular expressions in quake would be great for regression tests.<BR>> Perhaps for the next release?<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> Olaf<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> Quoting Jay K <<A href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</A>>:<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> > "aside":<BR>> ><BR>> ><SPAN class=ecxApple-converted-space> </SPAN><A href="http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/p206__ARRAY_constructors_in_var_decls_using_named_open_array_types/">http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/p206__ARRAY_constructors_in_var_decls_using_named_open_array_types/</A><BR>> ><BR>> ><SPAN class=ecxApple-converted-space> </SPAN><A href="http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/r004__negative_size_for_an_open_array/">http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/r004__negative_size_for_an_open_array/</A><BR>> ><BR>> ><BR>> > It'd be nice if in Quake we had something regular expression-ish, so<BR>> > that we could factor out the line numbers, such as e.g. to match<BR>> > any decimal number.<BR>> ><BR>> ><BR>> > Maybe just check for lines that start how we expect and cut them off<SPAN class=ecxApple-converted-space> </SPAN><BR>> > at some position.<BR>> > That might be doable with today's Quake.<BR>> ><BR>> ><BR>> ><BR>> > - Jay<BR>> ><BR>> ><BR>> ><BR>> >> Date: Fri, 16 Apr 2010 11:45:09 +0200<BR>> >> From:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</A><BR>> >> To:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</A><BR>> >> Subject: [M3devel] release engineering 5.8: code generator error<SPAN class=ecxApple-converted-space> </SPAN><BR>> >> for IP address initializers<BR>> >><BR>> >> We also have this error, which should perhaps not be ignored?<BR>> >><BR>> >><SPAN class=ecxApple-converted-space> </SPAN><A href="http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/p204__IP_address_initializers">http://hudson.modula3.com:8080/job/cm3-test-m3tests-AMD64_FREEBSD/lastBuild/testReport/(root)/m3tests/p204__IP_address_initializers</A><BR>> >><BR>> >> Olaf<BR>> >> --<BR>> >> Olaf Wagner -- elego Software Solutions GmbH<BR>> >> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> >> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>> >><SPAN class=ecxApple-converted-space> </SPAN><A href="http://www.elegosoft.com/">http://www.elegosoft.com</A><SPAN class=ecxApple-converted-space> </SPAN>| Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> >> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>> >><BR>> ><BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> --<SPAN class=ecxApple-converted-space> </SPAN><BR>> Olaf Wagner -- elego Software Solutions GmbH<BR>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>><SPAN class=ecxApple-converted-space> </SPAN><A href="http://www.elegosoft.com/">http://www.elegosoft.com</A><SPAN class=ecxApple-converted-space> </SPAN>| Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR></DIV></SPAN></BLOCKQUOTE></DIV><BR></DIV></DIV>                                      </body>
</html>