ChatDiagram
4 templates · State diagram

Thompson 구성 epsilon-NFA 상태도

Thompson 구성은 정규식을 epsilon-NFA(ε-NFA)로 변환하는 체계적인 방법입니다. 이 페이지에서는 간단한 토큰부터 복잡한 표현식까지 다양한 정규식 패턴을 Thompson 구성으로 만든 epsilon-NFA 예제를 모았습니다. 오토마톤 이론을 공부하거나 lexical analyzer를 설계하고, 직접 만든 구성을 검증할 때 시각적 참고 자료로 활용하세요.

Standard OMG UML 2.5.1 §14 + Harel (1987) statechartEngine schematex-stateExport SVG · PNG · PDF
How to

How to use a state diagram template.

  1. 01정규식 입력하기

    a|b, a*, (ab) 같은 표준 구문을 사용해 변환할 정규식을 입력하거나 붙여 넣습니다.

  2. 02Thompson 구성 적용하기

    도구가 구성 규칙을 자동으로 적용해 각 부분식에 필요한 상태와 전이를 만들고 epsilon-NFA를 생성합니다.

  3. 03생성된 다이어그램 검토하기

    모든 epsilon 전이를 포함해 상태도가 정규식을 올바르게 나타내는지 확인합니다.

  4. 04레이아웃과 라벨 조정하기

    오토마톤의 동작은 바꾸지 않고 상태를 드래그하거나 전이 경로를 변경하고 라벨을 편집해 가독성을 높입니다.

  5. 05ε-NFA 내보내기 또는 공유하기

    다이어그램을 이미지나 PDF로 다운로드하거나, 협업을 위해 실시간 링크를 공유합니다.

FAQ

Questions about state diagram templates

Thompson 구성이란 무엇인가요?

Thompson 구성은 정규식을 동등한 epsilon-NFA로 변환하는 알고리즘입니다. 정규식을 원자적 부분식으로 재귀적으로 나눈 뒤, 연결, 합집합, Kleene star 규칙으로 결합합니다.

Thompson 구성은 왜 epsilon 전이를 사용하나요?

Epsilon 전이를 사용하면 상태를 병합하거나 복잡한 전이를 만들지 않고 작은 오토마톤들을 결합할 수 있습니다. 전체 언어를 유지하면서 하위 오토마톤을 연결하는 접착제 역할을 합니다.

이 도구로 모든 정규식을 epsilon-NFA로 변환할 수 있나요?

예. 정규식이 표준 연산자(합집합, 연결, star, plus, optional, 문자 클래스)를 사용한다면 가능합니다. 이 도구는 전체 구문을 지원하며 해당하는 epsilon-NFA를 자동으로 생성합니다.

Thompson 구성은 다른 정규식-NFA 변환 방법과 어떻게 다른가요?

Thompson 구성은 단순하고 체계적이며, 정규식 길이의 최대 두 배에 해당하는 상태 수의 NFA를 생성합니다. Glushkov 구성 같은 다른 방법은 더 적은 상태를 만들 수 있지만 구현이 더 복잡합니다.

문서에 사용할 epsilon-NFA 다이어그램을 내보낼 수 있나요?

물론입니다. 다이어그램을 PNG, SVG, PDF로 내보낼 수 있어 보고서, 과제, 프레젠테이션에 넣을 수 있습니다.