컴파일 원리의 거슬러 올라가지 않는 귀속 서브루틴

1696 단어 컴파일링 원리
문법 G1: S -> a | | (T) T -> T, S | S
(1) G1의 좌귀속을 제거한다.S -> a | ∩ | (T) T -> ST’ T -> ,ST’ | ε
(2) 거슬러 올라가지 않는 귀속 서브루틴 쓰기
PROCEDURE S;
BEGIN 
    IF SYM = 'a' OR SYM = '∩' 
    THEN 
    BEGIN
        ADVANCE; 
    END
    ELSE IF SYM = '('
    THEN 
    BEGIN
        ADVANCE; 
        T;
        IF SYM = ')' THEN ADVANCE
        ELSE ERROR
    END
END

PROCEDURE T;
BEGIN
    S;T'
END

PROCEDURE T';
BEGIN
    IF SYM = ',' THEN
    BEGIN
        ADVANCE;
        S;T'
    END
END 

좋은 웹페이지 즐겨찾기