The proposal covers three phases: a DFA/NFA engine with closure operations and exports, a symbolic regex engine using Thompson's construction and GNFA state elimination, and a DSL parser that compiles set-builder notation directly into minimal DFAs.
Is the scope appropriate for a large (350 hour) project, or should it be reduced to medium (175 hours)?
Where should the module live in SymPy's codebase? I am currently thinking sympy/automata/ as a top-level module, but would welcome guidance on whether it belongs under sympy.combinatorics or elsewhere.
Are there any design decisions in the proposal that would conflict with SymPy's existing conventions?
My contributions so far are PR #29489 (LaTeX Lark parser fix), Issues #29488 and #29467, and PR #29539 (adds accepts()and validate() to StateMachine).
Draft proposal on the wiki:
proposal draft wikiThanks