현재 Decaf (프로그래밍 언어) 문법의 일부를 구현 중입니다. 여기 들소 코드의 관련 단편이다 그럼에도 불구하고다음 감소 감소 오류 (LALR 구문 분석)를 해결할 수 없습니다.
type:
INT
| ID
| type LS RS
;
local_var_decl:
type ID SEMICOLON
;
name:
THIS
| ID
| name DOT ID
| name LS expression RS
;
, 최대한 빨리 이름 생산 규칙 작업을 시작으로, 내 파서 경고를-감소 줄이기 을 제공합니다. 이 (들소에 의해 생성)을 · 출력 파일 내부에 무엇이 여기
: 우리는 다음과 같은 입력 { abc[1] = abc; }
을 주면
State 84
23 type: ID .
61 name: ID .
ID reduce using rule 23 (type)
LS reduce using rule 23 (type)
LS [reduce using rule 61 (name)]
$default reduce using rule 61 (name)
그래서, 그 syntax error, unexpected NUMBER, expected RS
을 말한다. NUMBER은 여기 표현 규칙 (기본적으로 어떻게 구문 분석해야합니다)이지만, local_var_decl 규칙을 통해 구문 분석하려고 시도합니다.
이 문제를 해결하기 위해 무엇을 변경해야한다고 생각하십니까? 약 2 시간을 소비하고, 다른 것을 시도하고, 작동하지 않았습니다.
감사합니다.
추신. 여기 link이 전체 입니다 .y 소스 코드
감사합니다. 그것은 완벽하게 작동했습니다. – oneturkmen