| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- linear regression
- 유니티
- 언리얼엔진
- listen server
- MAC
- UI
- Unreal Engine
- Multiplay
- CTF
- stride
- Aegis
- photon fusion2
- local prediction
- attribute
- unity
- gameplay ability system
- ability task
- gas
- widget
- 언리얼 엔진
- C++
- Replication
- 게임개발
- gameplay tag
- 보안
- os
- gameplay effect
- animation
- rpc
- 게임 개발
Archives
- Today
- Total
Replicated
모호한 문법의 사용과 에러 처리 루틴 본문
모호한 문법은 언어의 명세에서 매우 유용함
더 짧고, 더 자연스러운 명세를 제공하고 표현이 간단
그런데 모호한 문법을 가지고 파싱표를 작성 시 항상 이동-감축 충돌이나 감축-감축 충돌을 야기
이러한 충돌을 없애는 두가지 방법
1. 동등한 의미를 가지는 모호하지 않은 문법으로 변환
2. 모호한 문법으로 파싱표를 작성한 다음 충돌을 제거
충돌을 제거하는 두가지 방법
1. 연산자 우선순위와 결합 법칙
- 이동-감축 충돌의 경우 감축되는 생성 규칙과 입력 기호의 우선 순위를 비교하여 생성 규칙의 우선 순위가 높으면 감축, 아니면 이동을 선택,
- 같은 순서인 경우 결합 법칙을 이용 (좌측 결합 만족 시 감축, 우측 결합 만족 시 이동)
- 감축-감축 충돌은 생성 규칙 우선 순위를 비교하여 우선 순위가 높은 쪽으로 감축
2. 현수 else
에러 검출과 에러 처리
모호한 문법에 대해 LR 파싱표를 구성 및 에러 처리 시,
빈 칸에 대해 에러를 집어넣고 에러 처리 내용을 정하면 됨
ex. id + 로 문장이 끝나버리면 에러를 출력하고, 계속 진행 시 id를 강제로 집어넣고 대응하는 상태도 푸시한다
'학부 > 오토마타와 컴파일러' 카테고리의 다른 글
| 중간 언어 (0) | 2025.12.05 |
|---|---|
| 의미 분석(semantic analysis)과 형 검사 (0) | 2025.12.04 |
| 구문 분석 : 상향식 구문 분석 / LALR 구문 분석 (0) | 2025.11.30 |
| 구문 분석 : 상향식 구문 분석 / CLR 구문 분석 (0) | 2025.11.30 |
| 구문 분석 : 상향식 구문 분석 / SLR 구문 분석 (0) | 2025.11.30 |