<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>Procedure.m3:</div><div><br></div><div>Do we need this?</div><div>I know it isn't much, but remove it?</div><div><br></div><div><br></div><div>    ELSIF (cur.token = TK.tSEMI) THEN</div><div>      t.body := NEW (Body, self := t);</div><div>      ProcBody.Push (t.body);</div><div>      (* try accepting the Modula-2 syntax *)</div><div>      Error.ID (id, "expecting \'=\' before procedure body");</div><div>      GetToken (); (* ; *)</div><div>      t.syms  := Scope.PushNew (TRUE, id);</div><div>      t.block := BlockStmt.Parse (FALSE);</div><div>      t.fails := BlockStmt.ExtractFails (t.block);</div><div>      t.end_origin := Scanner.offset;</div><div>      final_id := MatchID ();</div><div>      IF (final_id # id) THEN</div><div>        Error.ID (id, "Initial name doesn\'t match final name");</div><div>      END;</div><div>      Scope.PopNew ();</div><div>      ProcBody.Pop ();</div><div>    ELSE</div><div><br></div><div><br></div><div>It always errors?</div><div><br></div><div>But I guess it errors and checks nicer than it might otherwise?</div><div><br></div><div>Why am I looking here?</div><div><br></div><div>Tangential:</div><div><br></div><div>I'm looking for where/how to model counting TRYs per "procedure"</div><div>and doing the alloca at the start of a "procedure".</div><div><br></div><div><br></div><div>"procedure"'s definition for my context is being worked on.</div><div> It appears to be three things: </div><div>  1) Things called "PROCEDURE". </div><div>  2) FINALLY blocks, sometimes </div><div>  3) "Module main" </div><div> </div><div> </div><div><br></div><div> I was looking for what they have in common already,</div><div> and it looks like maybe "ProcBody.Push".</div><div><br></div><div> </div><div> So I was looking all of them.</div><div><br></div><div> </div><div> - Jay</div><br><br>                                        </div></body>
</html>