  

<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">0003476</td>
<td class="print">Part 01: TTCN-3 Core Language</td>
<td class="print">Clarification</td>
<td class="print">public</td>
<td class="print">30-05-2008 13:33</td>
<td class="print">14-08-2008 05:40</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">Elena de Vega</td>
<td colspan="4" class="print"> </td>
</tr>
<tr class="even print">
<td class="print-category">Assigned To</td>
<td class="print">Thomas DeiÃŸ</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">always</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">v3.4.1 (published 2008-09)</td>
<td class="print-category">Fixed in Version</td>
<td class="print">v3.4.1 (published 2008-09)</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">Grammar, templateBody</td>
<td></td>
</tr>
<tr class="odd print">
<td class="print-category">Source (company - Author)</td>
<td colspan="4" class="print"> Elena de Vega - MTP</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">0003476: Mistake in grammar rule
TemplateBody</td>
</tr>
<tr class="even print">
<td class="print-category">Description</td>
<td colspan="5" class="print">I have analyzed the TTCN-3 grammar and I
think there is a mistake.<br />
<br />
This mistake is in the rule 102, its name is TemplateBody:<br />
<br />
102. TemplateBody ::= (SimpleSpec | FieldSpecList | ArrayValueOrAttrib)
| [ExtraMatchingAttributes]<br />
<br />
This rule is called from these other rules:<br />
<br />
94.- TemplateDef::= TemplateKeyword BaseTemplate [DerivedDef]
AssignmentChar TemplateBody<br />
105.- FieldSpec::= FieldReference AssignmentChar TemplateBody<br />
115.- ArrayElementSpec::= NotUsedSymbol | PermutationMatch |
TemplateBody<br />
136.- PermutationList::= "(" TemplateBody { "," TemplateBody } ")"<br />
139.- ValueOrAttribList::= "(" TemplateBody {"," TemplateBody }+
")"<br />
150.- InLineTemplate::= [(Type | Signature) Colon]
[DerivedRefWithParList AssignmentChar] TemplateBody<br />
294.- TempVarInitialValue::= TemplateBody<br />
578.- Assignment::= VariableRef AssignmentChar (Expression |
TemplateBody)<br />
<br />
For example, the rule TemplateDef will match with â€œnothingâ€? after
AssignmentChar because you have the alternative
[ExtraMatchingAttributes] in the rule TemplateBody, which is actually
optional.<br />
<br />
For example the grammar matches:<br />
<br />
template MyMessageType MyTemplate:= ;<br />
<br />
or<br />
<br />
template MyMessageType MyTemplate:= length(8);<br />
<br />
<br />
The solution could be:<br />
<br />
TemplateBody ::= (SimpleSpec | FieldSpecList | ArrayValueOrAttrib)
[ExtraMatchingAttributes]<br />
<br />
Itâ€™s the same rule without â€œ|â€?. In this way the grammar will not
match the template â€œtemplate MyMessageType MyTemplate:= ;â€? or
template MyMessageType MyTemplate:= length(8);<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">30-05-2008 13:33</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=374">Elena
de Vega</a></td>
<td class="print">New Issue</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">30-05-2008 13:33</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=374">Elena
de Vega</a></td>
<td class="print">Clause Reference(s)</td>
<td class="print">=&gt; Grammar, templateBody</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">30-05-2008 13:33</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=374">Elena
de Vega</a></td>
<td class="print">Source (company - Author)</td>
<td class="print">=&gt; Elena de Vega - MTP</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-07-2008 12:28</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Assigned To</td>
<td class="print">=&gt; Ina Schieferdecker</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-07-2008 12:28</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">new =&gt; resolved</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-07-2008 12:28</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Resolution</td>
<td class="print">open =&gt; fixed</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-07-2008 12:28</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</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="even print">
<td class="print">14-07-2008 12:28</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Category</td>
<td class="print">TTCN-3 Core Language =&gt; Clarification</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-07-2008 12:28</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 3.4.1 (not yet published)</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-07-2008 12:28</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=81">Ina
Schieferdecker</a></td>
<td class="print">Target Version</td>
<td class="print">=&gt; Edition 3.4.1 (not yet published)</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-07-2008 14: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; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-07-2008 14: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">Assigned To</td>
<td class="print">Ina Schieferdecker =&gt; Thomas DeiÃŸ</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">15-07-2008 09:19</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Note Added: 0006267</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">15-07-2008 09:21</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Note Added: 0006268</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">28-07-2008 11:49</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=374">Elena
de Vega</a></td>
<td class="print">Note Added: 0006391</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">14-08-2008 05:40</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Note Added: 0006517</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">14-08-2008 05:40</td>
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a></td>
<td class="print">Status</td>
<td class="print">assigned =&gt; closed</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">(0006267)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a>   </td>
</tr>
<tr class="odd">
<td class="print">15-07-2008 09:19   </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">The change to rule TemplateBody is ok.<br />
<br />
What is not ok is the rule for IfPresentMatch:<br />
142. IfPresentKeyword ::= IfKeyword PresentKeyword<br />
143. PresentKeyword ::= "present"<br />
<br />
This will allow to put a blank between 'if' and 'present'.<br />
The rule for IfPresentKeyword should be changed to<br />
142. IfPresentKeyword ::= "ifpresent"<br />
<br />
PresentKeyword is still needed (for template restriction) and has to be
added to the table of keywords in clause A.</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">(0006268)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a>   </td>
</tr>
<tr class="odd">
<td class="print">15-07-2008 09:21   </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">In edition 3.2 the rule for IfPresentKeyword was
ok,<br />
in edition 3.3 this was changed to "if present", which is incorrect.
Note that there is a blank in the keyword.<br />
This incorrect keyword was continued in edition 3.4<br />
(This is just for information)</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">(0006391)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=374">Elena
de Vega</a>   </td>
</tr>
<tr class="odd">
<td class="print">28-07-2008 11:49   </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">I have checked the IfPresentKeyword rule in v3.2.1 and
it's ok, but in the v3.3.2 there are the mistake that you have
commented. This mistake is:<br />
<br />
141. IfPresentMatch ::= IfPresentKeyword<br />
142. IfPresentKeyword ::= "if present"<br />
<br />
In the rule 142 the two words are separated.</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">(0006517)</td>
</tr>
<tr class="even">
<td class="print"><a
href="http://oldforge.etsi.org/mantis/view_user_page.php?id=112">Thomas
DeiÃŸ</a>   </td>
</tr>
<tr class="odd">
<td class="print">14-08-2008 05:40   </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">the subsequent issue on the split ifpresent will also
be corrected in edition 3.4.1.</td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
