Skip to content

Backtracking Not Working After "in" Keyword #216

Open
@viper-admin

Description

@viper-admin

Created by bitbucket user nilsbecker_ on 2017-09-06 22:14
Last updated on 2019-07-31 09:29

in can either be parsed as a set operation or as part of a let, unfolding or applying expression in Viper. The rule for applying is defined as

#!scala

keyword("applying") ~/ "(" ~ magicWandExp ~ ")" ~ "in" ~ exp

Without the parentheses, in is parsed as a set operation and the in of the applying expression cannot be found. The parser should at that point backtrack and parse the expression correctly. This does not work.

A similar issue occurs for let expressions. As a work around parentheses are inserted as shown above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions