  

<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">0003885</td>
<td class="print">Part 01: TTCN-3 Core Language</td>
<td class="print">Clarification</td>
<td class="print">public</td>
<td class="print">31-07-2008 13:19</td>
<td class="print">13-08-2008 16:19</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">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">won't fix</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.1.1 (published 2009-06)</td>
<td class="print-category">Fixed in Version</td>
<td class="print"></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, Value</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">0003885: Mistake in grammar rule
Value</td>
</tr>
<tr class="even print">
<td class="print-category">Description</td>
<td colspan="5" class="print">Grammar rule Value problem:<br />
<br />
458. Value ::= PredefinedValue | ReferencedValue<br />
<br />
<br />
459. PredefinedValue ::= BitStringValue |<br />
                         BooleanValue |<br />
                         CharStringValue |<br />
                         IntegerValue |<br />
                         OctetStringValue |<br />
                         HexStringValue |<br />
                         VerdictTypeValue |<br />
                         EnumeratedValue |<br />
                         FloatValue |<br />
                         AddressValue |<br />
                         OmitValue<br />
466. EnumeratedValue ::= EnumerationIdentifier<br />
47. EnumerationIdentifier ::= Identifier<br />
<br />
<br />
<br />
478. ReferencedValue ::= ValueReference [ExtendedFieldReference]<br />
479. ValueReference ::= [GlobalModuleId Dot]<br />
                        ( ConstIdentifier | ExtConstIdentifier |<br />
                          ModuleParIdentifier )<br />
                        | ValueParIdentifier | VarIdentifier<br />
93. ConstIdentifier ::= Identifier<br />
273. ExtConstIdentifier ::= Identifier<br />
280. ModuleParIdentifier ::= Identifier<br />
292. VarIdentifier ::= Identifier<br />
506. ValueParIdentifier ::= Identifier<br />
<br />
The order of the rule Value doesnâ€™t let access, with a simple
identifier, to the rule ReferencedValue, this could cause
confusion.<br />
<br />
This is because the rule EnumeratedValue of PredefinedValue matches with
all simple identifiers.<br />
<br />
With the identifiers that use dot notation there isnâ€™t problem because
it always matches with ValueReference.<br />
<br />
The solution for this could be to change the two rules like:<br />
<br />
Value ::= ReferencedValue | PredefinedValue<br />
<br />
 But with this solution, if you use a simple identifier, it never
matches with the rule EnumeratedValue. I think that itâ€™s logical
because the enumeration identifier is a simple identifier then it has to
match with ReferencedValue.<br />
<br />
Then we can delete the rule EnumeratedValue from PredefinedValue and add
the rule EnumerationIdentifier to ValueReference. This is the
solution:<br />
<br />
<br />
458. Value ::= ReferencedValue | PredefinedValue<br />
<br />
<br />
459. PredefinedValue ::= BitStringValue |<br />
                         BooleanValue |<br />
                         CharStringValue |<br />
                         IntegerValue |<br />
                         OctetStringValue |<br />
                         HexStringValue |<br />
                         VerdictTypeValue |<br />
                         EnumeratedValue |<br />
                         FloatValue |<br />
                         AddressValue |<br />
                         OmitValue<br />
466. EnumeratedValue ::= EnumerationIdentifier<br />
<br />
478. ReferencedValue ::= ValueReference [ExtendedFieldReference]<br />
479. ValueReference ::= [GlobalModuleId Dot]<br />
                        ( ConstIdentifier | ExtConstIdentifier |<br />
                          ModuleParIdentifier )<br />
                        | ValueParIdentifier | VarIdentifier<br />
                        | EnumerationIdentifier<br />
93. ConstIdentifier ::= Identifier<br />
273. ExtConstIdentifier ::= Identifier<br />
280. ModuleParIdentifier ::= Identifier<br />
292. VarIdentifier ::= Identifier<br />
506. ValueParIdentifier ::= Identifier<br />
47. EnumerationIdentifier ::= Identifier<br />
<br />
<br />
In fact, ValueReference itâ€™s only an Identifier Dot Identifier. I
mean, you only match a simple identifier with the first non optional
rule of the ValueReference.<br />
If you would like to do your grammar more efficient, you can change the
rule ValueReference like:<br />
<br />
ValueReference = [Identifier Dot] Identifier<br />
<br />
This kind of change could be made in more grammar rules. But it probably
needs a properly discussion.<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">31-07-2008 13:19</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">31-07-2008 13:19</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, Value</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">31-07-2008 13:19</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">11-08-2008 08:41</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">11-08-2008 08:41</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; assigned</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">13-08-2008 16:11</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="odd print">
<td class="print">13-08-2008 16:18</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: 0006516</td>
<td class="print"></td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">13-08-2008 16:19</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">assigned =&gt; closed</td>
<td></td>
<td></td>
</tr>
<tr class="odd print">
<td class="print">13-08-2008 16:19</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; won't fix</td>
<td></td>
<td></td>
</tr>
<tr class="even print">
<td class="print">13-08-2008 16:19</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">13-08-2008 16:19</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 4.1.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">(0006516)</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">13-08-2008 16:18   </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">This CR correctly points at the issue of handling
identifiers by the TTCN-3 BNF.<br />
<br />
However: the TTCN-3 BNF has been written in a human-readable form. One
cannot create a parser directly out of it. This was not the intend of
the BNF. Instead, readability was the goal. Therefore, one has to
resolve various issues in the BNF to get a parser for it - identifiers
are one of these issues.<br />
<br />
Hence, the maintenance team proposes not to fix this issue.</td>
</tr>
</tbody>
</table></td>
</tr>
</tbody>
</table>
