문법 규칙 실험실

문법 규칙 실험실

BNF형 부분집합 · 전체 문자열 파싱 · 로컬 메모리 전용. PEG 또는 완전한 파서 생성기가 아닙니다.

1. 생성 규칙과 테스트 문자열

한 줄에 Name ::= 표현식 규칙 하나를 적으세요. 따옴표 리터럴·규칙 참조·|·단독 ε를 지원합니다. #은 한 줄 전체 주석입니다. 정규식·반복 연산자·PEG 슬래시·의미 동작은 지원하지 않습니다. 최대 16규칙·48대안·대안당 12기호·입력 80자·깊이 2~20입니다.

테스트 문자열을 비워 두면 ε 유도를 확인합니다. 깊이 상한에 걸리면 완전한 판정이 어려울 수 있습니다.

문법과 테스트 문자열을 입력하세요.

댓글과 질문

문법 규칙 실험실

한 줄에 한 개의 ::= 생성 규칙을 적고 따옴표 문자열·규칙 참조·| 대안·명시적 ε를 사용합니다. 테스트 문자열을 파싱해 최대 두 개의 서로 다른 유도 트리와 좌측 유도 단계를 보여 주며 짧은 문자열을 생성합니다. 직접·간접 좌재귀, 지원하지 않는 PEG/EBNF 연산자, 한도를 넘는 입력은 잘못된 판정을 하지 않고 명시 오류로 알립니다.

주요 기능

  • 따옴표 리터럴을 사용해 최대 16개 규칙·48개 대안을 편집
  • 전체 문자열을 파싱하고 두 유도 트리의 규칙·리터럴 범위 확인
  • 파싱 실패 시 가장 멀리 진행한 위치와 기대한 리터럴 표시
  • 파싱 전 직접·간접·빈 접두부 좌재귀 검사
  • 짧은 고유 문자열 최대 20개 생성 후 클릭하여 재검사

사용 방법

  1. 한 줄에 Name ::= 표현식 규칙을 적거나 우재귀 예제를 불러옵니다.
  2. 테스트 문자열과 제한된 규칙 확장 깊이를 선택합니다.
  3. 파서를 실행해 수락·실패 위치 또는 두 모호성 증거를 확인합니다.
  4. 트리를 열고 시작 규칙에서 리터럴까지의 좌측 유도 과정을 따라갑니다.
  5. 생성 예제를 클릭해 파싱하거나 전체 로컬 JSON 보고서를 저장합니다.

활용 예시

  • 우재귀 생성 규칙이 문자열을 만드는 과정 학습
  • 모호한 입력에 대한 두 파스 트리 비교
  • 하향식 파서를 만들기 전 간접 좌재귀 순환 찾기

자주 묻는 질문

BNF·EBNF·PEG 전체 문법을 지원하나요?

아니요. 따옴표 문자열, 규칙 이름, |, 명시적 ε만 지원하는 BNF형 부분집합입니다. 반복 연산자·술어·정규식 토큰·PEG 우선 선택은 허용하지 않습니다. |는 PEG 우선순위가 없는 문법 대안입니다.

좌재귀를 입력하면 어떻게 되나요?

직접·간접·빈 접두부 좌재귀 순환을 찾아 경로를 알려 줍니다. 이 범위가 정해진 하향식 파서는 해당 문법을 몰래 바꾸거나 지원하지 않습니다. Bison 같은 파서 생성기는 다른 알고리즘을 씁니다.

트리가 한 개면 문법의 모호성이 없다는 뜻인가요?

아니요. 선택한 깊이 안에서 해당 입력의 유도를 최대 두 개 보여 줍니다. 두 트리는 그 입력의 모호성을 증명하지만, 하나만 발견했다고 모든 입력이나 더 깊은 유도에 모호성이 없다고 증명하지는 않습니다.

생성 예제가 언어 전체인가요?

아니요. 너비 우선 탐색으로 일부 고유 예제를 보여 줍니다. 최대 20개, 출력 24자와 단계 상한이 있고 한도로 멈추면 잘림을 표시합니다.

빈 문자열도 문법에 넣을 수 있나요?

네. List ::= "a" List | ε처럼 ε를 대안 전체로 적으세요. 빈 따옴표나 비어 있는 대안은 의도를 명확히 하도록 거부합니다.

개인정보 안내

문법과 테스트 문자열은 브라우저 메모리에만 남습니다. 사용자 코드를 실행하거나 업로드하지 않으며 선택한 JSON 다운로드에는 원본 문법과 입력이 포함됩니다.

참고 자료

관련 도구

정규식 테스터정규 언어 동치 검사기구문 트리 질의 실험실Word 스타일 검사기참고문헌 작성·관리기로컬 문서 검색 색인기서명 PDF 검증기PDF 보존 형식 검사기인쇄 파일 사전 점검기검색 가능한 스캔 PDF 만들기전자 출판 접근성 검사기연구 근거 정리표PDF 양식 설계기PDF 검토 주석PDF 내부 객체 탐색기PDF 목차 편집기EPUB 전자책 작성기문서 버전 비교기소책자 인쇄 배치기민감 문장 가림 처리기한자 독음·문맥 탐색기대사 대본 편집기문서 색인 작성기번역문 대응 검사기문자 도형 편집기ANSI 색상 문자 편집기메일 스레드 탐색기PDF 영구 가림 편집기리치 텍스트 정리기고정폭 레코드 설계기발표 연습 작업대문장 분할 실험실3방향 텍스트 병합기한국어·영어 점자 변환텍스트 음성변환타자 속도 측정한국어 표기·공백 후보 검토맞춤법 퀴즈폰트 미리보기·비교HTML → Markdown 변환글자 깨짐 복구텍스트 줄 정렬문자열 찾기·바꾸기텍스트 역순 변환로마 숫자 변환한글 자모 분리·결합초성 추출기줄 번호 추가·제거숫자 한글 변환기모스 부호 변환기ROT13·시저 암호 변환기URL 슬러그 생성기HTML 태그 제거기이모지 모음글자수 세기단위 변환기파일 크기 변환기색상 코드 변환기텍스트 비교기PDF 합치기/분리영업일 계산기캘린더 반복 규칙 실험실주소록 파일 편집기JPG PDF 변환한글이름 영문변환PDF 페이지 편집인스타 폰트 변환기색상 대비 검사기컬러 팔레트 생성기PDF JPG 변환로렘입숨 생성기문서 템플릿 실행기한영타 변환기줄바꿈·공백 제거온라인 메모장워드클라우드 생성기PDF 비밀번호 해제영문주소 변환기PDF 압축 (용량 줄이기)
텍스트/변환 도구 전체 보기 →이미지/미디어 →생활/재미 →개발 도구 →