컴파일러 이론 (칭화 대학 출판부) - 문법과 언어 - 형식적인 문법과 정의의 언어

규칙 (재 작성 규칙, 생산 또는 공식)

  • 폼  α → β 또는 α :: = β  의 (α, β)의 쌍, 지시 상기 알파 규칙의 왼쪽 부분의 우측, β- 알려진 규칙, 호출되는 경우 상기 심볼 → (:: =) 판독 " 로서 정의되는 "A는로 정의의"→ A, 예를 들어과 같이 "
  • 문법 G는 네 튜플로 정의된다 (V N, V T , P, S)
  • V 상기 N 비단 심볼 세트 (또는 가변 구문 엔티티) V T 종결 세트; P 규칙 (α → β)가 설정되고, AE (V N ∪V T는 ) *  , 및 적어도 하나의 비단 포함 , β∈ (V N∪ V T는 ) * , V N , V T 와 P는 유한 집합이다 비공
  • S 또는 식별자가 시작 심볼이라고 비 단말기 인, 대체로 최소한 발생 왼쪽
  • V N  및 V T는  공통 요소, 즉, V 포함하지 않는 N  ∩ V T  = Ø를
  • 일반적으로 V V로 표현 N  ∪ V T  , V G 문법라는 알파벳이나 단어

= 2.1 실시 예가 문법 G <V N , V T , P, S>, V N = {S} V T = {0,1}, {P = S → 0S1, S → 01}, 비 오직 하나의 원소를 함유하는 S 터미네이터 농축액, 종결 심볼은 두 요소로 구성 0,1 세트 두 제품이 있으며, 시작 심볼 S는

이 예제도 같이 쓸 수있다

G : S → 0S1

  S → 01

또는

G [S] : S → 0S1

           S → 01

실시 예 2.2이 문법 G = (V N , V T , P, S), 여기서 V N  = {식별자, 문자, 숫자} V T  = {A, B, C, ..., X, Y, Z , 0, 1, ..., 9}

P = {<식별자> → <문자>

    <식별자> → <식별자> <편지>

    <식별자> → <식별자> <번호>

         <편지> →

         <문자> → B

    ...

    <문자> → Z

    <번호> → 0

    <번호> → 1

    ...

    <번호> → 9

}

S는 <식별자> =

언어 정의는 문법에 의해 생성뿐만 아니라, 도입해야한다  파생  개념 V의 정의 *  심볼 간 관계가 직접 유래 => N (n≥1) 유래의 길이   및 N의 길이 (n≥0) 유도 

유도 / 직접 감소 정의

  • 문법 배치 α → β = G (V 인 N , V T , P, S)를 규정 (또는 P에서 제조)의, γ 및 δ는 V * 임의의 심볼
  • 심볼 스트링 V 경우 (ω) 만나, V = γαδ, ω = γβδ , 즉 V는 (→ β α 규칙 적용) 상기 직접 제조 (ω), 또는 (ω)가 V의 직접적인 파생이고 , 또는 환원에 직접 (ω) V는 , 함 위한 V => ω

예를 들어, 실시 예 2.1 문법 G를 들어, 일부 실시 예를들 수있다

  1. V = 0S1, ω = 0011, 직접 유도된다 : 0S1 => 0011 규칙 사용 : S → 01 여기서 γ = 0, δ = 1
  2. V = S, ω = 0S1 직접 유도 : S => 0S1 규칙 사용 : S → 0S1를 여기서 ε-= 감마], [델타 = ε-, 식별 소자 비슷 ε-기
  3. V = 0S1, ω = 00S11, 추론 직접 : 0S1 규칙을 사용하여 => 00S11, S → 0S1 여기서, γ = 0, δ = 1

실시 예 2.1 문법 G를 들어, 다음의 예는 직접 도출

  1. V = <식별자> (ω) = <식별자> <문자>가 직접 유래 <식별자> => <식별자> <문자> 규칙을 사용하여 <식별자> → <식별자> <문자> 여기서 γ = δ = ε
  2. V는 = <식별자> <문자> <번호> (ω)가 = <문자> <문자> <번호> 직접 유도 <식별자> <문자> <수> => <문자> <문자> <번호> 사용 규칙 : <식별자> → <편지> 여기서, γ = ε, δ = <편지> <숫자>
  3. V = ABC <번호>, ω = abc5 직접 추론 : ABC <번호> => abc5 규칙을 사용 : γ가 ABC를 = <번호> → 5, δ = ε

정의 순서는 추론

  • 서열의 존재가 직접 유래 경우 절 = (ω) 0  => (ω) . 1  => (ω) 2  => ... => (ω) N-  = (ω) (N-> 0)라고 V가 (생성) 유도 (ω) (길이 n의 유도) 같은라고도 ω는 V로 감소 , 표시 브이  ω
  • V 경우  (ω), 및 V = ω, V로 지칭된다  (ω) 예 문법 2.1 = S1 => 00S11 => V 추론 직접 시퀀스가 000S11 => 00001111 = ω, 즉 0S1   00001111는 또한 0S1이라  00,001,111
  • 예 문법 2.2, 직접 시퀀스 유추가 V = <식별자> => <식별자> <수> => <문자> <번호> => X <번호> => X1 = ω, 즉 <식별자>  X1

문장 (결과로부터 유추), 및 문장 (문장만을 단말 기호로 구성됨) 정의

  • 경우 생성 집합 G [S]는, 문법 인 심볼 열이 X 되는 식별 코드로부터 유도 즉 S가있다,   라는 X X 문법 G [S] 문장
  • 기호의 끝 X 경우, 즉, S는   X, x∈V * T  , X는 G [S] 문장이라고
  • 예를 들어, 실시 예에서는 2.1, S는 G 0S1,000111 문장 문장은 000,111이고, 실시 예 2.1의 문법 G이고
  • 실시 예 2.2 <식별자> <문자>, <문자> <번호>, 실시 예 2.2은 G A1 문장이고 A1 문장 문법 G이다

언어 정의 생성 문법 G

  • | {S 언어 문법 생성 X G의 집합으로 정의되어 S가 인식 문법 심볼이고 X 및 x∈V * T 세트를 나타낸다}의 가능한 L (G)

언어 문법 (전용 터미널 기호로 구성된 문장) 세트 문법 모든 문장을 설명합니다

S =>주고, 두 번째를 생성하는 제 1 유형을 생성하고, 다음 식을 사용하여 N-1 번을 사용하여, S → 0S1 및 S → 01 : 실시 예는 두 개의 제품 (규칙)이있다 문법 G 2.1 고려 0S1 => 00S11 => ... => 0 N-. -1- SL N--. 1 => 0 N- . 1 N-

L (G) = {0 , N 1 , N | n≥1}

예 2.3

집합 = G (V N , V T , P, S), V N은  = {S는, B, E}를, V T는  = {A는, B는, E}를, P는 다음의 조성식 생성

  1. S → aSBE
  2. S → 아베
  3. EB는 BE →
  4. AB → AB
  5. 중에 bB → BB
  6. BE → 수
  7. EE → EE

L (G1) = L (G2) 경우, G1 및 G2는 문법적인 등가라고

예 문법 G [A]의 경우 :

    • → 0R
    • → 01
    • R → A1

추천

출처www.cnblogs.com/YC-L/p/12175810.html