<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Okay, I see now what you mean. According to the EBNF production -1 is not an Integer.<div><br><div>Alternatively, you could write this:</div><div><br><div><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">CASE String.Pos(ch, "ILTQX", 0)+1 OF<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">0: (* else case *)<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">| 1: (* inspect *)<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">| 2: (* load *)<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">| 3: (* transfer *)<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">| 4: (* quit *)<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">| 5:<br></span></font></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><font color="#000000"><span style="background-color: rgba(255, 255, 255, 0);">END</span></font></blockquote></blockquote></blockquote><div><br></div>Jörg<br><br><div><br>Am 15.02.2018 um 23:31 schrieb Jörg <<a href="mailto:joerg.straube@iaeth.ch">joerg.straube@iaeth.ch</a>>:<br><br></div><blockquote type="cite"><div><span>I don‘t understand your comment; where exactly do you see problems?</span><br><span>I know that the code below can not be compiled as ORP.Mod did not implement the numerical case (yet) but it is valid Oberon-07 code.</span><br><span>Jörg</span><br><span></span><br><span></span><br><blockquote type="cite"><span>Am 15.02.2018 um 22:42 schrieb Diego Sardina <<a href="mailto:dsar@eml.cc">dsar@eml.cc</a>>:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><blockquote type="cite"><span>On Thu, Feb 15, 2018, at 10:26 PM, Jörg Straube wrote:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>Based on Chris‘ example you could write</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>CASE String.Pos(ch, "ILTQX", 0) OF</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>-1: (* else case *)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>| 0: (* inspect *)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>| 1: (* load *)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>| 2: (* transfer *)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>| 3: (* quit *)</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>| 4:</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span>END</span><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><span></span><br></blockquote></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Chris didn't write that form because case labels in Oberon-07 are not ConstExpression anymore (a negative number is considered a form of expression). Only integers, single character strings or qualidents (for the typecase form).</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>This is a sort of simplification because there is no more a need for an offset</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--</span><br></blockquote><blockquote type="cite"><span><a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems</span><br></blockquote><blockquote type="cite"><span><a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a></span><br></blockquote><span></span><br><span>--</span><br><span><a href="mailto:Oberon@lists.inf.ethz.ch">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems</span><br><span><a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a></span><br></div></blockquote></div></div></div></body></html>