Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add TDFA determinization; Update lexer's tag to final register map using TDFA. #91

Open
wants to merge 705 commits into
base: main
Choose a base branch
from

Conversation

SharafMohamed
Copy link
Contributor

@SharafMohamed SharafMohamed commented Feb 3, 2025

References

git fetch upstream pull/92/head:pr-92
git fetch upstream pull/91/head:pr-91
git diff pr-92 pr-91

Description

  • Add TDFA determinization.
  • Add a generate() function called by the constructor.
  • Separate existing determinizations steps into several functions.
  • Lexer now updates its tag to final register map using the TDFA's output.

Validation performed

  • Update dfa-test.cpp to test tagged DFA.

Summary by CodeRabbit

  • New Features

    • Introduced enhanced capture management and unique identifier generation that improve state serialisation and error feedback.
  • Refactor

    • Migrated from legacy tag-based processing to capture-based logic across regular expressions, lexing, and automata, resulting in clearer error handling and a more consistent API.
  • Tests

    • Expanded test coverage for DFA, NFA, lexer, capture, and register functionalities to ensure robust performance and reliability.

SharafMohamed and others added 30 commits January 7, 2025 07:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant