ETSI's Bug Tracker - Part 01: TTCN-3 Core Language
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0006169 | Part 01: TTCN-3 Core Language | Technical | public | 10-07-2012 18:01 | 21-12-2012 10:46

Reporter | Ina Schieferdecker |
Assigned To | Ina Schieferdecker |
Priority | normal | Severity | minor | Reproducibility | have not tried
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version | v4.5.1 (published 2013-04) | Fixed in Version | v4.5.1 (published 2013-04) |
Clause Reference(s) | A1.6 rules 112-122
Source (company - Author) | Ina Schieferdecker, FOKUS

Summary | 0006169: The pattern char grammar has been mixed up

Description

In the current grammar, the new PatternClassChar is not yet used:
112. CharStringMatch ::= PatternKeyword PatternParticle {"&" PatternParticle}
113. PatternParticle ::= Pattern | ReferencedValue
114. PatternKeyword ::= "pattern"
115. Pattern ::= """ {PatternElement} """
116. PatternElement ::= ("\" ("?" | "*" | "\" | "[" | "]" | "{" | "}" |
""" | "|" | "(" | ")" | "#" | "+" | "d" |
"w" | "t" | "n" | "r" | "s" | "b"
)) | ("?" | "*" | "\" | "|" | "+"
) | ("[" ["^"] [{PatternChar ["-" PatternChar]}]
"]") |
("{" ReferencedValue "}") |
("\" "N" "{" (ReferencedValue | Type) "}") |
(""" """) |
("(" PatternElement ")") |
("#" (Num |
("(" Num "," [Num] ")") | ("(" "," Num ")")
)) |
PatternChar
117. PatternChar ::= NonSpecialPatternChar | PatternQuadruple
118. NonSpecialPatternChar ::= Char
/* STATIC SEMANTICS: NonSpecialPatternChar shall not be one of the following characters: "\", "?", "*", "|", "+", "[", "{", """, "(", "#" */
119. PatternClassChar ::= NonSpecialPatternClassChar |
PatternQuadruple |
"\" EscapedPatternClassChar
120. NonSpecialPatternClassChar ::= Char
/* STATIC SEMANTICS: NonSpecialPatternClassChar shall not be one of the following characters: "-", "^", "]" */
121. EscapedPatternClassChar ::= Char
/* STATIC SEMANTICS: EscapedPatternClassChar shall not be one of the following characters: "q" */
122. PatternQuadruple ::= "\" "q" "(" Number "," Number "," Number ","
Number ")"

Steps To Reproduce |
Additional Information |
Tags | No tags attached.

Relationships

related to | 0005805 | closed | Ina Schieferdecker | BNF rule for PatternElement is ambiguous, Example is wrong
related to | 0006009 | closed | Ina Schieferdecker | Charstring Pattern Reference Parts should not be allowed
related to | 0006014 | closed | Ina Schieferdecker | Simplifications request for escaping chars inside the string pattern

Attached Files

CR6169_CharStringMatch.docx (15,545) 10-07-2012 18:14
http://oldforge.etsi.org/mantis/file_download.php?file_id=2660&type=bug
CR6169_CharStringMatch_v2.docx (19,047) 12-12-2012 10:48
http://oldforge.etsi.org/mantis/file_download.php?file_id=2769&type=bug
CR6169_CharStringMatch_v3.docx (18,301) 12-12-2012 17:32
http://oldforge.etsi.org/mantis/file_download.php?file_id=2774&type=bug
CR6169_CharStringMatch_v4.docx (18,759) 20-12-2012 14:18
http://oldforge.etsi.org/mantis/file_download.php?file_id=2791&type=bug

Issue History
Date Modified | Username | Field | Change
10-07-2012 18:01 | Ina Schieferdecker | New Issue |
10-07-2012 18:01 | Ina Schieferdecker | Status | new => assigned
10-07-2012 18:01 | Ina Schieferdecker | Assigned To | => Ina Schieferdecker
10-07-2012 18:01 | Ina Schieferdecker | Clause Reference(s) | => A1.6 rules 112-121
10-07-2012 18:01 | Ina Schieferdecker | Source (company - Author) | => Ina Schieferdecker, FOKUS
10-07-2012 18:01 | Ina Schieferdecker | Relationship added | related to 0005805
10-07-2012 18:07 | Ina Schieferdecker | Clause Reference(s) | A1.6 rules 112-121 => A1.6 rules 112-122
10-07-2012 18:07 | Ina Schieferdecker | Target Version | => Edition 4.5.1
10-07-2012 18:07 | Ina Schieferdecker | Summary | The pattern Char grammar has been mixed up => The pattern char grammar has been mixed up
10-07-2012 18:07 | Ina Schieferdecker | Description Updated |
10-07-2012 18:14 | Ina Schieferdecker | File Added: CR6169_CharStringMatch.docx |
10-07-2012 18:14 | Ina Schieferdecker | Note Added: 0010774 |
10-07-2012 18:15 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Tomas Urban
11-07-2012 16:41 | Tomas Urban | Note Added: 0010846 |
11-07-2012 16:41 | Tomas Urban | Assigned To | Tomas Urban => Ina Schieferdecker
13-07-2012 14:20 | Gyorgy Rethy | Note Added: 0010928 |
13-07-2012 14:21 | Gyorgy Rethy | Note Edited: 0010928 |
13-07-2012 14:22 | Gyorgy Rethy | Note Deleted: 0010928 |
13-07-2012 14:33 | Gyorgy Rethy | Note Added: 0010931 |
13-07-2012 16:23 | Gyorgy Rethy | Note Edited: 0010931 |
12-12-2012 10:17 | Ina Schieferdecker | File Added: CR6169_CharStringMatch_v2.docx |
12-12-2012 10:24 | Ina Schieferdecker | File Deleted: CR6169_CharStringMatch_v2.docx |
12-12-2012 10:48 | Ina Schieferdecker | File Added: CR6169_CharStringMatch_v2.docx |
12-12-2012 10:49 | Ina Schieferdecker | Note Added: 0011239 |
12-12-2012 10:49 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Tomas Urban
12-12-2012 10:49 | Ina Schieferdecker | Relationship added | related to 0006009
12-12-2012 17:32 | Ina Schieferdecker | File Added: CR6169_CharStringMatch_v3.docx |
12-12-2012 17:33 | Ina Schieferdecker | Note Added: 0011249 |
14-12-2012 11:17 | Tomas Urban | Relationship added | related to 0006014
14-12-2012 12:17 | Tomas Urban | Note Added: 0011274 |
14-12-2012 12:17 | Tomas Urban | Assigned To | Tomas Urban => Ina Schieferdecker
20-12-2012 14:09 | Ina Schieferdecker | Note Added: 0011298 |
20-12-2012 14:18 | Ina Schieferdecker | File Added: CR6169_CharStringMatch_v4.docx |
20-12-2012 14:18 | Ina Schieferdecker | Assigned To | Ina Schieferdecker => Tomas Urban
20-12-2012 14:19 | Ina Schieferdecker | Note Added: 0011299 |
20-12-2012 14:29 | Tomas Urban | Note Added: 0011300 |
20-12-2012 14:29 | Tomas Urban | Assigned To | Tomas Urban => Ina Schieferdecker
21-12-2012 10:46 | Ina Schieferdecker | Note Added: 0011305 |
21-12-2012 10:46 | Ina Schieferdecker | Status | assigned => closed
21-12-2012 10:46 | Ina Schieferdecker | Resolution | open => fixed
21-12-2012 10:46 | Ina Schieferdecker | Fixed in Version | => Edition 4.5.1

Notes

(0010774)
Ina Schieferdecker
10-07-2012 18:14

Please check.

(0010846)
Tomas Urban
11-07-2012 16:41

I think the modification is correct and can be added to the standard.

(0010931)
Gyorgy Rethy
13-07-2012 14:33 (edited on: 13-07-2012 16:23)

PatternChar is not corect, because it
- would not allow single "{" without escaping it that would be a non-backward compatible change and refused in CR6009.
- would not allow "?", "*", "|", "+", "[", "{", """, "(", "#" within set expressions, where these characters not only allowed but explicitly defined that has a literal character meaning.
But in general I don't understand why we need the whole PatternElement production at all, when finaly NonSpecialPatternChar has to be restricted by a human-readable static semantic rule. This just complicates the BNF, makes it unreadable and useless. Users will look at the pattern rules in clause B.1.5 anyway and tools will check the content during semantic checking anyway (due to possible references they have to).

(0011239)
Ina Schieferdecker
12-12-2012 10:49

Please check.

(0011249)
Ina Schieferdecker
12-12-2012 17:33

Revised the static semantic rules to have a strict and weak interpretation of the patterns.

(0011274)
Tomas Urban
14-12-2012 12:17

As a result of a discussion on patterns, it was suggested to remove the static semantics from the BNF. I would also recommend to have just one rule for escaped characters in the BNF to simplify the grammar. The rule would include all explicitly specified escape characters (listed in table B.1) and \ + any character.

(0011298)
Ina Schieferdecker
20-12-2012 14:09

The final discussion was to keep the BNF structure, but to have special character semantics only when they follow the specific syntax - otherwise they are interpreted like any other character - see v4

(0011299)
Ina Schieferdecker
20-12-2012 14:19

Please check.

(0011300)
Tomas Urban
20-12-2012 14:29

I am generally fine with the solution. Only if the escaped reference is added as a part of 6014, it will have to appear in the BNF as well.

(0011305)
Ina Schieferdecker
21-12-2012 10:46

Implemented.