  

<table class="width100" style="width:100%;" data-cellspacing="1">
<colgroup>
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
<col style="width: 16%" />
</colgroup>
<tbody>
<tr class="odd">
<td colspan="6" class="form-title"><div class="center">
ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
</div></td>
</tr>
<tr class="even">
<td colspan="6" class="form-title">View Issue Details</td>
</tr>
<tr class="odd">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="even print-category">
<td class="print" width="16%">ID</td>
<td class="print" width="16%">Project</td>
<td class="print" width="16%">Category</td>
<td class="print" width="16%">View Status</td>
<td class="print" width="16%">Date Submitted</td>
<td class="print" width="16%">Last Update</td>
</tr>
<tr class="odd print">
<td class="print">0005601</td>
<td class="print">Part 01: TTCN-3 Core Language</td>
<td class="print">Clarification</td>
<td class="print">public</td>
<td class="print">12-07-2010 12:17</td>
<td class="print">15-12-2010 00:07</td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd print">
<td class="print-category">Reporter</td>
<td class="print">Gyorgy Rethy</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Assigned To</td>
<td class="print">Ina Schieferdecker</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="odd print">
<td class="print-category">Priority</td>
<td class="print">normal</td>
<td class="print-category">Severity</td>
<td class="print">minor</td>
<td class="print-category">Reproducibility</td>
<td class="print">have not tried</td>
</tr>
<tr class="even print">
<td class="print-category">Status</td>
<td class="print">closed</td>
<td class="print-category">Resolution</td>
<td class="print">fixed</td>
<td colspan="2" class="print"> </td>
</tr>
<tr class="odd print">
<td class="print-category">Platform</td>
<td class="print"></td>
<td class="print-category">OS</td>
<td class="print"></td>
<td class="print-category">OS Version</td>
<td class="print"></td>
</tr>
<tr class="even print">
<td class="print-category">Product Version</td>
<td class="print"></td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="odd">
<td class="print-category">Target Version</td>
<td class="print">v4.3.1 (published 2011-06)</td>
<td class="print-category">Fixed in Version</td>
<td class="print">v4.3.1 (published 2011-06)</td>
<td colspan="2" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Clause Reference(s)</td>
<td colspan="4" class="print">15.7.4</td>
<td></td>
</tr>
<tr class="odd print">
<td class="print-category">Source (company - Author)</td>
<td colspan="4" class="print">L.M.Ericsson</td>
<td></td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd print">
<td class="print-category">Summary</td>
<td colspan="5" class="print">0005601: Erroneous example on matching
attributes</td>
</tr>
<tr class="even print">
<td class="print-category">Description</td>
<td colspan="5" class="print">The example in $15.7.4:<br />
    type record R {<br />
        record of integer ri optional<br />
    }<br />
    template R r:=<br />
    {<br />
        ri := * length (1 .. 6) ifpresent // any value containing 1, 2,
3, 4,<br />
                                            // 5 or 6 provided it is
present<br />
    }<br />
<br />
is not correct:<br />
- according to the BNF length and ifpresent cannot be applied
together;<br />
- not the numbers 1..6 but lists of 1..6 elements are allowed;<br />
<br />
The example should be changed to:<br />
    template R r:=<br />
    {<br />
        ri := { * length (1 .. 6) } ifpresent // any value containing 1,
2, 3, 4, 5 or 6 elements, provided it is present<br />
    }<br />
<br />
</td>
</tr>
<tr class="odd print">
<td class="print-category">Steps To Reproduce</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="even print">
<td class="print-category">Additional Information</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="odd print">
<td class="print-category">Tags</td>
<td colspan="5" class="print">No tags attached.</td>
</tr>
<tr class="even print">
<td class="print-category">Relationships</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="odd print">
<td class="print-category">Attached Files</td>
<td colspan="5" class="print"></td>
</tr>
<tr class="even">
<td colspan="6" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="form-title">Issue History</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr class="even print-category">
<td class="row-category-history">Date Modified</td>
<td class="row-category-history">Username</td>
<td class="row-category-history">Field</td>
<td class="row-category-history">Change</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-07-2010 12:17</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">New Issue</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-07-2010 12:17</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Clause Reference(s)</td>
<td class="print">=&gt; 15.7.4</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-07-2010 12:17</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Source (company - Author)</td>
<td class="print">=&gt; L.M.Ericsson</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">12-07-2010 16:32</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Project</td>
<td class="print">TTCN-3 Change Requests =&gt; Part 01: TTCN-3 Core
Language</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">12-07-2010 16:33</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Target Version</td>
<td class="print">=&gt; Edition 4.3.1 (not yet published)</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">30-08-2010 11:51</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Status</td>
<td class="print">new =&gt; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">30-08-2010 11:51</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy
Rethy</a></td>
<td class="print">Assigned To</td>
<td class="print">=&gt; Benjamin Zeiss</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">31-08-2010 11:41</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Note Added: 0009662</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-09-2010 10:56</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Assigned To</td>
<td class="print">Benjamin Zeiss =&gt; Jacob Wieland - Spirent</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-09-2010 11:22</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a></td>
<td class="print">Note Added: 0009672</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-09-2010 17:07</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Note Added: 0009683</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-09-2010 17:08</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; resolved</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-09-2010 17:08</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Resolution</td>
<td class="print">open =&gt; fixed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-09-2010 17:09</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Assigned To</td>
<td class="print">Jacob Wieland - Spirent =&gt; Ina Schieferdecker</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-09-2010 17:09</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Status</td>
<td class="print">resolved =&gt; feedback</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-09-2010 17:09</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Resolution</td>
<td class="print">fixed =&gt; reopened</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">01-09-2010 17:10</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Status</td>
<td class="print">feedback =&gt; resolved</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">01-09-2010 17:10</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a></td>
<td class="print">Resolution</td>
<td class="print">reopened =&gt; fixed</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-12-2010 14:29</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Added: 0009964</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-12-2010 14:46</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Added: 0009965</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-12-2010 14:47</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Deleted: 0009965</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-12-2010 14:48</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Deleted: 0009964</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">15-12-2010 00:06</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Edited: 0009672</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">15-12-2010 00:07</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Note Added: 0009975</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">15-12-2010 00:07</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Status</td>
<td class="print">resolved =&gt; closed</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">15-12-2010 00:07</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Fixed in Version</td>
<td class="print">=&gt; Edition 4.3.1 (not yet published)</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>

  

<table class="width100" data-cellspacing="1">
<colgroup>
<col style="width: 50%" />
<col style="width: 50%" />
</colgroup>
<tbody>
<tr class="odd">
<td colspan="2" class="form-title">Notes</td>
</tr>
<tr class="even">
<td colspan="2" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="nopad" data-valign="top" width="20%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">(0009662)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a>   </td>
</tr>
<tr class="odd">
<td class="print">31-08-2010 11:41   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">Actually, I don't see why this example should be
erroneous. Taking the 4.2.2 EBNF as reference, the template definition
is derived from rule 93. TemplateDef. If we take<br />
<br />
    template R r:=<br />
    {<br />
        ri := * length (1 .. 6) ifpresent // any value containing 1, 2,
3, 4,<br />
                                            // 5 or 6 provided it is
present<br />
    }<br />
<br />
it can be derived as follows (skipping a few unimportant steps):<br />
<br />
TemplateDef -&gt;<br />
TemplateKeyword BaseTemplate AssignmentChar TemplateBody<br />
<br />
Let's concentrate on the TemplateBody.<br />
<br />
TemplateBody -&gt;<br />
FieldSpecList -&gt;<br />
"{" FieldSpec "}" -&gt;<br />
"{" FieldReference AssignmentChar TemplateBody "}"<br />
<br />
Let's concentrate on the right TemplateBody as FieldReference
AssignmentChar will derive to "ri := " - I think we can agree on
that.<br />
<br />
TemplateBody -&gt;<br />
SimpleSpec ExtraMatchingAttributes -&gt;<br />
SingleValueOrAttrib ExtraMatchingAttributes -&gt;<br />
MatchingSymbol ExtraMatchingAttributes -&gt;<br />
AnyOrOmit ExtraMatchingAttributes -&gt;<br />
"*" ExtraMatchingAttributes -&gt;<br />
"*" (LengthMatch IfPresentMatch) -&gt;<br />
"*" StringLength "ifpresent" -&gt;<br />
"*" "length" "(" SingleConstExpression [".." UpperBound] ")"
"ifpresent"<br />
-&gt; ...<br />
<br />
I think now it should be clear that the sentence is derivable if I did
not make any bad mistake. Just in case, I have tested the syntactical
snippet in the TRex parser and it accepts it as well.<br />
<br />
To summarize: length and ifpresent can be applied together, because the
third alternative in rule<br />
<br />
117. ExtraMatchingAttributes ::= LengthMatch | IfPresentMatch |
(LengthMatch IfPresentMatch)<br />
<br />
allows it in exactly the notation specified in the example.<br />
<br />
If the person reviewing this does not find a mistake here, I suggest to
close as resolved.</td>
</tr>
</tbody>
</table></td>
</tr>
<tr class="even">
<td colspan="2" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="nopad" data-valign="top" width="20%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">(0009672)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=508">Jacob
Wieland - Spirent</a>   </td>
</tr>
<tr class="odd">
<td class="print">01-09-2010 11:22   <br />
(edited on: 15-12-2010 00:06)</td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<colgroup>
<col style="width: 100%" />
</colgroup>
<tbody>
<tr class="odd">
<td class="print">You are correct, the BNF allows this.<br />
<br />
But, the example still should be changed as the comment does not
match<br />
the code:<br />
<br />
// any value containing 1, 2, 3, 4,<br />
// 5 or 6 provided it is present<br />
<br />
should be changed to<br />
<br />
// any value containing 1, 2, 3, 4,<br />
// 5 or 6 elements, provided it is present<br />
<br />
</td>
</tr>
</tbody>
</table></td>
</tr>
<tr class="even">
<td colspan="2" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="nopad" data-valign="top" width="20%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">(0009683)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=510">Benjamin
Zeiss</a>   </td>
</tr>
<tr class="odd">
<td class="print">01-09-2010 17:07   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">I agree. Changing to resolved and assigning to
Ina.</td>
</tr>
</tbody>
</table></td>
</tr>
<tr class="even">
<td colspan="2" class="print-spacer"><hr /></td>
</tr>
<tr class="odd">
<td class="nopad" data-valign="top" width="20%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">(0009975)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a>   </td>
</tr>
<tr class="odd">
<td class="print">15-12-2010 00:07   </td>
</tr>
</tbody>
</table></td>
<td class="nopad" data-valign="top" width="85%"><table class="hide"
data-cellspacing="1">
<tbody>
<tr class="odd">
<td class="print">Comment changed as proposed</td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
