jneug/typst-finite

Accepting State Styling Issue

chandler-barlow opened this issue · 3 comments

If you have a final state q10 but also another state q1 they both are marked final. It appears that this is due to the common "1" prefix on the number. This also occurs for initial.

Could you provide a minimal example to reproduce the issue?

#finite.automaton(
  (
    q0: (q1: "a"),
    q1: (q11: "b"),
    q11: (),
  )
)

q1 and q11 will be marked final. If you attempt to mark q11 final, both will still be marked final.

#finite.automaton(
  (
    q0: (q1: "a"),
    q1: (q11: "b"),
    q11: (),
  ),
 final: "q11"
)

Interestingly enough, marking q1 as final results in only q1 being marked final.

#finite.automaton(
  (
    q0: (q1: "a"),
    q1: (q11: "b"),
    q11: (),
  ),
 final: "q1"
)

Hopefully this is enough to work with. Let me know if you want more details. Also, thank you for your response :)

I just submitted version 0.3.2 with a fix for this issue.