Logo etsi

ETSI's Bug Tracker

Notice: information submitted on the ETSI issue Tracker may be incorporated in ETSI publication(s) and therefore subject to the ETSI IPR policy.

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008153Part 01: TTCN-3 Core LanguageNew Featurepublic11-12-2022 19:2126-01-2024 16:27
ReporterMatthias Simon 
Assigned ToJens Grabowski 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0008153: Extend usage of break and continue statements
Description* Allow break statements in select statements.
* Allow optional label to break/continue from nested loops
TagsNo tags attached.
Clause Reference(s)19.2, 19.3
Source (company - Author)Nokia - Matthias Simon
Attached Filesdocx file icon CR8153.docx [^] (114,777 bytes) 11-12-2022 20:07

- Relationships

-  Notes
(0016441)
Jens Grabowski (manager)
20-12-2022 12:49

Additional idea: Add label to loop header.

TTF discussion: To be discussed in the scope of the next TTF. Proposal cannot be implemented as proposed for select case statement. It would lead to a backwards incompatible change.
(0016542)
Jens Grabowski (manager)
07-11-2023 17:01

TTF discussion: Break and Continue shall be analysed in the scope of the major release. Additional ideas include the deprecation of Goto as well as introduction of breaks/continue across several scope units.
(0016570)
Gusztáv Adamis (developer)
09-11-2023 21:15

After diiscussions within TTF:

Possible solution can be "named cycles"
while (...) {
   while (...){
      break w1; //or continue w1;
      }
   } : w1

break w1; will terminate both cycles, execution continues with the next instruction after w1.
continue w1; will terminate the innermost cycle and takes the next iteration of the "w1" cycle.

Similar construct can be applied for nested alt instructions with break/repeat "named alt").

alt {
  [] ...{
          alt {
            [] ... {break a1;}
            ...
          }
        ...
  [] ....
        }
}: a1;

"altlabels" and "cyclelabels" can be mixed, until they do not "jump" out of the scope.

alt {
[] ... { while (...) { break a2;}}
...
}: a2

If this construct is implemented it may cause to deprecate the goto/label.
(0016581)
Gusztáv Adamis (developer)
10-11-2023 12:03

The resolution of the ticket shall be postponed to the next major revision.
(0016608)
Olivier Genoud (administrator)
26-01-2024 16:27

It seems to be another flavour of "goto", so we do not see the benefit. On the other hand, it is increasing the complexity of the language allowing further flavours of code writing. Also, we are not aware that code cannot be written using existing means.

- Issue History
Date Modified Username Field Change
11-12-2022 19:21 Matthias Simon New Issue
11-12-2022 20:07 Matthias Simon Summary Add optional label to break and continue => Extend usage of break and continue statements
11-12-2022 20:07 Matthias Simon Description Updated View Revisions
11-12-2022 20:07 Matthias Simon File Added: CR8153.docx
20-12-2022 12:49 Jens Grabowski Note Added: 0016441
20-12-2022 12:49 Jens Grabowski Assigned To => Jens Grabowski
20-12-2022 12:49 Jens Grabowski Status new => assigned
07-11-2023 17:01 Jens Grabowski Note Added: 0016542
09-11-2023 21:15 Gusztáv Adamis Note Added: 0016570
10-11-2023 12:03 Gusztáv Adamis Note Added: 0016581
26-01-2024 16:27 Olivier Genoud Note Added: 0016608


MantisBT 1.2.14 [^]
Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker