Skip to content

incorrect implementation of case statements #258

@Jens-G

Description

@Jens-G
var nr : Integer;
begin
  case nr of
    1 :  {statement};
    2 :  {statement};
  else
    {statement};
    {statement};
    ...
    {statement};
  end;
end;

PascalScript impl seems to assume that the else branch is also a single statement, which is wrong. The else branch of a switch actually forms already a code block: It can hold an arbitrary number of statements without the need of an extra begin/end pair.

It may look inconsistent but it actually is that way back to TurboPascal and earlier.

https://www.gnu-pascal.de/gpc/case.html

Found in InnoScript, if that is of any relevance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions