R 3 s1 codes1 codee3 COPY AX Me3

  • Slides: 27
Download presentation

意味論規則(2) 構文 R 3: <s>1 意味 code(<s>1) = code(<e>3) COPY AX, M(<e>3) COPY M(<i>2),

意味論規則(2) 構文 R 3: <s>1 意味 code(<s>1) = code(<e>3) COPY AX, M(<e>3) COPY M(<i>2), AX 構文 R 3: <s>k 意味 code(<s>k) = code(<e>i) COPY AX, M(<e>i) COPY M(<i>j), AX <i>2 : = <e>3 <i>j : = <e>i

意味論規則の適用 code(<s>1) = code(<e>3) COPY AX, M(<e>3) COPY M(<i>2), AX M(<i>2) = X M(<e>3)

意味論規則の適用 code(<s>1) = code(<e>3) COPY AX, M(<e>3) COPY M(<i>2), AX M(<i>2) = X M(<e>3) = M(<i>4) code(<e>3) = 空 M(<i>4) = Y code(<s>31) code(<e> COPY AX, M(<i> AX, M(<e>43) COPY X, AX M(<i>2), AX

意味論規則(R 1, R 2, R 3) 構文 R 1: <i>j 意味 M(<i>j) = abcde

意味論規則(R 1, R 2, R 3) 構文 R 1: <i>j 意味 M(<i>j) = abcde 構文 R 2: <e>i 意味 M(<e>i) = M(<i>j) code(<e>i) = 空 構文 意味 R 3: <s>k abcde <i>j : = <e>i code(<s>k) = code(<e>i) COPY AX, M(<e>i) COPY M(<i>j), AX

意味論規則(R 4) 構文 意味 R 4: <e>i (<e>j + <e>k) M(<e>i) = createname code(<e>i)

意味論規則(R 4) 構文 意味 R 4: <e>i (<e>j + <e>k) M(<e>i) = createname code(<e>i) = code(<e>j) code(<e>k) COPY AX, M(<e>j) ADD AX, M(<e>k) COPY M(<e>i), AX

createnameは変数名を新しく作り出す. M(<e>7) = createname. . . M(<e>9) = createname M(<e>7) = CN 1. .

createnameは変数名を新しく作り出す. M(<e>7) = createname. . . M(<e>9) = createname M(<e>7) = CN 1. . . M(<e>9) = CN 2

意味論規則(R 5) 構文 意味 R 5: <e>i (<e>j * <e>k) M(<e>i) = createname code(<e>i)

意味論規則(R 5) 構文 意味 R 5: <e>i (<e>j * <e>k) M(<e>i) = createname code(<e>i) = code(<e>j) code(<e>k) COPY AX, M(<e>j) MUL AX, M(<e>k) COPY M(<e>i), AX

意味論規則の適用(2) 構文 R 1: <i>2 意味 M(<i>2) = Z code(<e>3) COPY AX, M(<e>3) COPY

意味論規則の適用(2) 構文 R 1: <i>2 意味 M(<i>2) = Z code(<e>3) COPY AX, M(<e>3) COPY M(<i>2), AX Z = code(<e>3) COPY AX, M(<e>3) COPY Z, AX

意味論規則の適用(3) 構文 R 4: <e>3 意味 M(<e>3) = createname code(<e>3) = code(<e>4) code(<e>5) COPY

意味論規則の適用(3) 構文 R 4: <e>3 意味 M(<e>3) = createname code(<e>3) = code(<e>4) code(<e>5) COPY AX, M(<e>4) ADD AX, M(<e>5) COPY M(<e>3), AX code(<e>3) COPY AX, M(<e>3) COPY Z, AX (<e>4 + <e>5) = code(<e>4) code(<e>5) COPY AX, M(<e>4) ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX

意味論規則の適用(4) 構文 R 2: <e>4 意味 M(<e>4) = M(<i>6) code(<e>4) = 空 code(<e>4) code(<e>5)

意味論規則の適用(4) 構文 R 2: <e>4 意味 M(<e>4) = M(<i>6) code(<e>4) = 空 code(<e>4) code(<e>5) COPY AX, M(<e>4) ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX <i>6 = code(<e>5) COPY AX, M(<i>6) ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX

意味論規則の適用(5) 構文 意味 R 1: <i>6 X M(<i>6) = X code(<e>5) COPY AX, M(<i>6)

意味論規則の適用(5) 構文 意味 R 1: <i>6 X M(<i>6) = X code(<e>5) COPY AX, M(<i>6) ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX = code(<e>5) COPY AX, X ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX

意味論規則の適用(6) 構文 R 2: <e>5 意味 M(<e>5) = M(<i>7) code(<e>5) = 空 code(<e>5) COPY

意味論規則の適用(6) 構文 R 2: <e>5 意味 M(<e>5) = M(<i>7) code(<e>5) = 空 code(<e>5) COPY AX, X ADD AX, M(<e>5) COPY CN 1, AX COPY AX, CN 1 COPY Z, AX <i>7 = COPY ADD COPY AX, X AX, M(<i>7) CN 1, AX AX, CN 1 Z, AX

意味論規則の適用(7) 構文 R 1: <i>7 意味 M(<i>7) = Y COPY ADD COPY AX, X

意味論規則の適用(7) 構文 R 1: <i>7 意味 M(<i>7) = Y COPY ADD COPY AX, X AX, M(<i>7) CN 1, AX AX, CN 1 Z, AX Y = COPY ADD COPY AX, X AX, Y CN 1, AX AX, CN 1 Z, AX