Skip to content

Add a Support for Long Jump Transitions for Nft::post() and Nft::is_in_lang() #509

Description

@koniksedy

It is necessary to add long jump support for all jump modes (RepeatSymbol, AppendDontCares) within the Nft::post() and Nft::is_in_lang() methods, as well as any other methods that may be affected.

Currently, these methods rely on the Nfa implementation, which cannot handle jump transitions.

Suppose we have a source state, a symbol, and two transitions:

  • A standard transition: source ----symbol----> tgt1 (length 1)
  • A jump transition: source ---symbol---> tgt2 (length 5)

Since post() does not account for jump transitions, it will provide both tgt1 and tgt2 as states reached using the symbol. However, this is incorrect. It is crucial to provide a way to track the depth within the jump transition, as there are still four more symbols to process before reaching tgt2.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    For:libraryThe issue is related to library (c++ implementation)Module:nftThe issue is related to Nondeterministic Finite Transducerstype:requiredA required implementation/change necessary in near future

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions