Skip to content

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

@koniksedy

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    For:libraryThe issue is related to library (c++ implementation)Module:nftThe issue is related to Nondeterministic Finite TransducersPriority:normalWork on this sooner rather than later.Type: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