1. Trang chủ
  2. » Thể loại khác

CHƯƠNG TRÌNH DỊCH ĐHBK ĐÀ NẴNG

213 122 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 213
Dung lượng 1,74 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung giáo trìnhCHƢƠNG 1. NHẬP MÔN CHƢƠNG TRÌNH DỊCHCHƢƠNG 2. PHÂN TÍCH TỪ VỰNGCHƢƠNG 3. CÁC VẤN ĐỀ CƠ BẢN VỀ PHÂN TÍCH CÚ PHÁP CHƢƠNG 4. CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP CHƢƠNG 5. PHÂN TÍCH NGỮ NGHĨA CHƢƠNG 6. XỬ LÝ LỖI VÀ SINH MÃCác khái niệm cơ bản1.1. Sự phát triển của ngôn ngữ lập trình1.2. Khái niệm chƣơng trình dịch1.3. Phân loại chương trình dịch1.4. Các ứng dụng khác của kỹ thuật dịchCác khái niệm cơ bản1.4. Các ứng dụng khác của kỹ thuật dịchTrong các hệ thống: phần giao tiếp giữa ngƣời và máy thông qua các câu lệnh.Hệ thống xử lý NN tự nhiên: dịch thuật, tóm tắt văn bản.Các qui tắc từ vựng và cú pháp3.1. Bản chữ cáiGồm những ký hiệu đƣợc phép sử dụng để viết chƣơng trìnhSố lƣợng, ý nghĩa sử dụng của các ký tự trong bản chữ cái của các NN là khác nhau.Nhìn chung bản chữ cái của các NNLT:52 chữ cái: A Z, az10 chữ số: 0 9Các qui tắc từ vựng và cú pháp 3.2. Từ tố (Token)Từ tố là đơn vị nhỏ nhất có nghĩaTừ tố đƣợc xây dựng từ bản chữ cáiVí dụ: hằng, biến, từ khoá, các phép toán,…

Trang 1

Giáo trình Kiến trúc máy tính và Hệ

1

CHƯƠNG TRÌNH DỊCH

Trang 2

Giáo trình Kiến trúc máy tính và Hệ

Trang 3

Giáo trình Kiến trúc máy tính và Hệ

CHƯƠNG 5 PHÂN TÍCH NGỮ NGHĨA

CHƯƠNG 6 XỬ LÝ LỖI VÀ SINH MÃ

Trang 4

Giáo trình Kiến trúc máy tính và Hệ

4

1 Các khái niệm cơ bản

2 Đặc trƣng của ngôn ngữ lập trình (NNLT) bậc cao

3 Các qui tắc từ vựng và cú pháp

4 Các chức năng của một trình biên dịch

Chương 2

Trang 5

Giáo trình Kiến trúc máy tính và Hệ

5

1.1 Sự phát triển của ngôn ngữ lập trình

1.2 Khái niệm chương trình dịch

1.3 Phân loại chương trình dịch

1.4 Các ứng dụng khác của kỹ thuật dịch

Chương 2

Trang 6

Giáo trình Kiến trúc máy tính và Hệ

6

1.1 Sự phát triển của ngôn ngữ lập trình

Chương 2

NN máy (machine language)

Hợp ngữ (Assembly)

NNLT bậc cao (Higher _level language)

Trang 7

Giáo trình Kiến trúc máy tính và Hệ

7

1.2 Khái niệm chương trình dịch

Chương trình dịch là chương trình dùng để dịch một chương trình (CT nguồn) viết trên NNLT nào đó (NN nguồn) sang một chương trình tương đương (CT đích) trên một NN khác (NN đích)

Chương 2

Trang 8

Giáo trình Kiến trúc máy tính và Hệ

8

1.3 Phân loại chương trình dịch

Trình biên dịch

CT nguồn Trình biên

dịch CT đích

Máy tính thực thi Kết quả

Thời gian dịch

Dữ liệu

Thời gian thực thi

Trang 9

Giáo trình Kiến trúc máy tính và Hệ

9

1.3 Phân loại chương trình dịch

Trình thông dịch

CT nguồn Trình thông

dịch Kết quả

Dữ liệu

Trang 10

Giáo trình Kiến trúc máy tính và Hệ

10

1.4 Các ứng dụng khác của kỹ thuật dịch

- Trong các hệ thống: phần giao tiếp giữa

người và máy thông qua các câu lệnh.

- Hệ thống xử lý NN tự nhiên: dịch thuật,

tóm tắt văn bản.

Chương 2

Trang 11

Giáo trình Kiến trúc máy tính và Hệ

Trang 12

Giáo trình Kiến trúc máy tính và Hệ

chữ cái của các NN là khác nhau.

+ 52 chữ cái: A Z, az

+ 10 chữ số: 0 9

+ Các ký hiệu khác:*, /, +, -, …

Trang 13

Giáo trình Kiến trúc máy tính và Hệ

Trang 14

Giáo trình Kiến trúc máy tính và Hệ

14

3.3 Phạm trù cú pháp

theo một qui luật nào đó

+ BNF(Backus Naus Form):

<lệnhgán>::=<tên biến>:=<biểu thức>

Trang 15

Giáo trình Kiến trúc máy tính và Hệ

nghĩa được khái niệm chương trình đến mức

độ tự có

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 16

Giáo trình Kiến trúc máy tính và Hệ

16

3.4 Các qui tắc từ vựng thông dụng

- Cách sử dụng khoảng trống(dấu trắng), dấu

tab(‘\t’), dấu sang dòng(‘\n’)

- Đối với liên kết tự do, có thể sử dụng nhiều

khoảng trống thay vì một khoảng trống

Trang 17

Giáo trình Kiến trúc máy tính và Hệ

- Khoảng trống không bắt buộc: số và các

phép toán, tên biến và các phép toán

Ví dụ: x:=x+3*3;

- Cách sử dụng chú thích và xâu ký tự

Trang 18

Giáo trình Kiến trúc máy tính và Hệ

- Sinh mã trung gian

- Tối ƣu mã trung gian

- Sinh mã đối tƣợng

Trang 19

Giáo trình Kiến trúc máy tính và Hệ

Trang 20

Giáo trình Kiến trúc máy tính và Hệ

- Phân tích xem các Token có tuân theo qui tắc

cú pháp của ngôn ngữ không

Trang 21

Giáo trình Kiến trúc máy tính và Hệ

Trang 22

Giáo trình Kiến trúc máy tính và Hệ

22

4.4 Xử lý lỗi

- CT nguồn vẫn có thể xảy ra lỗi

- Phần xử lý lỗi sẽ thông báo lỗi cho NSD

- Lỗi ở phần nào báo ở phần đó

Trang 23

Giáo trình Kiến trúc máy tính và Hệ

23

4.4 Xử lý lỗi

- Có các loại lỗi:

Lỗi từ vựng (trong Pascal sử dụng biến mà

chƣa khai báo)

Lỗi cú pháp ((a+5; lỗi thiếu dấu ‘)’ )

Lỗi ngữ nghĩa (x=3.5; nhƣng khai báo int x)

Lỗi thực hiện (phép chia 0)

Trang 24

Giáo trình Kiến trúc máy tính và Hệ

24

4.5 sinh mã trung gian

- Sau giai đoạn phân tích ngữ nghĩa

- Mã trung gian là một dạng trung gian của CT

nguồn có 2 đặc điểm:

Dễ đƣợc sinh ra

Dễ dịch sang ngôn ngữ đích

Trang 25

Giáo trình Kiến trúc máy tính và Hệ

25

4.6 Tối ƣu mã trung gian

- Bỏ bớt các lệnh thừa.

- Cải tiến lại mã trung gian để khi sinh mã đối

tƣợng thì thời gian thực thi mã đối tƣợng sẽ ngắn hơn

Trang 26

Giáo trình Kiến trúc máy tính và Hệ

4.7 Sinh mã đối tƣợng

- Giai đoạn cuối của trình biên dịch.

- Mã đối tƣợng có thể là mã máy, hợp ngữ hay

một ngôn ngữ khác ngôn ngữ nguồn.

Các pha (giai đoạn) có thể thực hiện song hành

Một vài pha có thể ghép lại thành lƣợt (chuyến)

Một lƣợt sẽ đọc toàn bộ CT nguồn hay một

dạng trung gian của CT nguồn, sau đó ghi kết quả để lƣợt sau đọc và xử lý tiếp.

Trang 27

Giáo trình Kiến trúc máy tính và Hệ

V í dụ:

a:=(b+c)*6 5

Bộ PTTV id1:=(id2+id3)*Num4

Bộ PTCP n1 id1 := n2

* n3

id2

Num4 id3

+

Bộ PTNN n1 id1 := n2

* n3 Intoreal(65)

Bộ sinh mã trung gian

Temp1:=intoreal(65) Temp2:=id2+id3 Temp3:=temp2*temp1 Id1:=temp3

Bộ tối ưu sinh mã trung gian

Temp1:=id2+id3 Id1:=temp1*65.0

Bộ sinh mã đối tượng

MovF id2, R1 MovF id3, R2 Add R2, R1 Mult #65.0, R1

Trang 28

Giáo trình Kiến trúc máy tính và Hệ

Trang 29

Giáo trình Kiến trúc máy tính và Hệ

Sử dụng một lƣợt cho việc phân tích từ

vựng  dãy các token phân tích cú pháp.

Phân tích từ vựng dùng chung một lƣợt

với phân tích cú pháp Một lần chỉ phát hiện 1 token gọi là từ tố tiếp đến

Trang 30

Giáo trình Kiến trúc máy tính và Hệ

- Đọc xâu vào từng ký tự một  gom lại

thành token đến khi gặp ký tự không thể kết hợp thành token.

- Luôn luôn đọc trước một ký tự.

- Loại bỏ các ký tự trống và chú thích.

- Chuyển những thông tin của những từ tố

(văn bản, mã phân loại) vừa phát hiện cho

bộ phân tích cú pháp.

- Phát hiện lỗi.

Trang 31

Giáo trình Kiến trúc máy tính và Hệ

Bộ phân tích

từ vựng

Gửi token Bộ

phân tích

cú pháp Yêu cầu token

Bảng danh biểu

Trang 32

Giáo trình Kiến trúc máy tính và Hệ

3.1 Định nghĩa: M(Σ, Q, δ, q0, F)

Σ: bộ chữ vào Q: tập hữu hạn các trạng thái q0 Q: trạng thái đầu

Trang 33

Giáo trình Kiến trúc máy tính và Hệ

33

3.2 Biểu diễn các hàm chuyển trạng thái

Dùng bảng: sử dụng ma trận δ có:

- Chỉ số hàng: trạng thái

- Chỉ số cột: ký hiệu vào

- Giá trị tại hàng q, cột a là trạng thái p,

sao cho δ(q,a)=p

Trang 34

Giáo trình Kiến trúc máy tính và Hệ

34

3.2 Biểu diễn các hàm chuyển trạng thái

Trang 35

Giáo trình Kiến trúc máy tính và Hệ

3.2 Biểu diễn các hàm chuyển trạng thái

- Các cung nối từ trạng thái q sang trạng thái p

có mang các nhãn aΣ, có nghĩa δ(q,a)=p

Trang 36

Giáo trình Kiến trúc máy tính và Hệ

36

3.2 Biểu diễn các hàm chuyển trạng thái

Trang 37

Giáo trình Kiến trúc máy tính và Hệ

3.2 Biểu diễn các hàm chuyển trạng thái

Nhận xét:

- Biểu diễn hàm chuyển trạng thái bằng

hình vẽ có ƣu điểm hơn Trong hình vẽ ta xác định đầy đủ tất cả các thành phần

của Otomat.

- Biểu diễn bằng bảng xác định hàm

chuyển trạng thái, tập các trạng thái, bộ chữ vào nhƣng không phân biệt đƣợc trạng thái bắt đầu và trạng thái kết thúc.

Trang 38

Giáo trình Kiến trúc máy tính và Hệ

38

3.3 Hoạt động của Otomat

- Đọc các ký hiệu của xâu vào từ trái sang phải,

bắt đầu từ trạng thái q0.

- Mỗi bước đọc một ký hiệu thì chuyển sang

trạng thái theo δ Có thể đọc xong hay không đọc xong xâu vào.

Trang 39

Giáo trình Kiến trúc máy tính và Hệ

39

3.3 Hoạt động của Otomat

- Đọc xong xâu vào đến một trạng thái pF

thì xâu vào đƣợc đoán nhận (xâu đúng).

- Đọc xong xâu vào mà rơi vào trạng thái pF

thì xâu vào không đƣợc đoán nhận.

- Không đọc xong xâu vào (do δ rơi vào điểm

không xác định) thì xâu vào không đƣợc

đoán nhận.

Trang 40

Giáo trình Kiến trúc máy tính và Hệ

40

3.4 Ví dụ: Xác định Otomat đoán nhận số nhị phân M(Σ, Q, δ, q0, F)

Trang 41

Giáo trình Kiến trúc máy tính và Hệ

41

3.4 Ví dụ: Xác định Otomat đoán nhận số nhị phân

0 trắng

2

Trang 42

Giáo trình Kiến trúc máy tính và Hệ

Trang 43

Giáo trình Kiến trúc máy tính và Hệ

Trang 44

Giáo trình Kiến trúc máy tính và Hệ

Procedure Dockytu(var c:char);

…{Đọc ký tự tiếp, ký tự này luôn luôn được

đọc trước}

Function LoaiKT(c:char):Loaikytu;

…{Cho biết loại của ký tự c}

Procedure Baoloi;

…{Cho một thông báo lỗi}

Procedure Tuvung(var ma:Loaituto;var x:xau); Var i:0 max;

Begin For i:=1 to max do x[i]:=’’;

I:=0;

While loaikytu(kytutiep)=trang do

Dockytu(kytutiep);

Case loaikytu(kytutiep) of Conso: Begin

Repeat I:=i+1;

x[i]:=kytutiep;

Dockytu(kytutiep);

Until Loaikytu(kytutiep)<>conso;

Trang 45

Giáo trình Kiến trúc máy tính và Hệ

Ccai: begin

Repeat

If i<max then Begin I:=i+1;

x[i]:=kytutiep;

end;

Dockytu(kytutiep);

Until (loaikytu(kytutiep)<>Ccai) and (loaikytu(kytutiep)<>conso);

Ma:=danhbieu;

End;

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 46

Giáo trình Kiến trúc máy tính và Hệ

46

4.1 Phương pháp điều khiển bằng bảng

Var bangchuyen: array[1 6,loaikytu] of 0 6;

Mảng này được nạp dữ liệu như sau:

trang Conso Cham Ttu Ccai

Trang 47

Giáo trình Kiến trúc máy tính và Hệ

4.1 Phương pháp điều khiển bằng bảng

Procedure Tuvung(var ma:loaituto; var x:xau);

Trang 48

Giáo trình Kiến trúc máy tính và Hệ

48

Gồm các token và các thuộc tính của token

Chỉ số Token Trị từ vựng Các thuộc tính khác 01

Trang 49

Giáo trình Kiến trúc máy tính và Hệ

49

- Tổ chức tuần tự: mảng, danh sách liên kết,

danh sách móc nối

- Tổ chức cây tìm kiếm nhị phân

Trang 50

Giáo trình Kiến trúc máy tính và Hệ

Trang 51

Giáo trình Kiến trúc máy tính và Hệ

Trang 52

Giáo trình Kiến trúc máy tính và Hệ

- Độ dài xâu là số các ký hiệu trong xâu

Ký hiệu: độ dài xâu x là |x|

Ví dụ: |01110|=5

Trang 53

Giáo trình Kiến trúc máy tính và Hệ

Trang 54

Giáo trình Kiến trúc máy tính và Hệ

54

1 Một số vấn đề về ngôn ngữ

1.1 Xâu

- Các phép toán trên xâu

Ghép tiếp: cho 2 xâu x,y Ghép tiếp của x, y

là x.y hay xy là 1 xâu viết x trước, rồi đến y sau chứ không có dấu cách.

y=0110 xy=010110

Trang 55

Giáo trình Kiến trúc máy tính và Hệ

55

1 Một số vấn đề về ngôn ngữ

1.1 Xâu

Đảo ngƣợc xâu x (x r ): xâu đƣợc viết theo thứ

tự ngƣợc lại của xâu x

Trang 56

Giáo trình Kiến trúc máy tính và Hệ

- Các phép toán trên ngôn ngữ

Vì ngôn ngữ là tập hợp nên có các phép toán

tập hợp: (giao), (hợp), -(hiệu, bù)

Trang 57

Giáo trình Kiến trúc máy tính và Hệ

x.x=x 2 ; x.x.x=x 3 ; x 0 =; x i =x i-1 x

L 0 ={}; L i =L i-1 L

- L*=L0L 1L2…; L+ =L 1L2…

Trang 58

Giáo trình Kiến trúc máy tính và Hệ

58

1 Một số vấn đề về ngôn ngữ

1.3 Biểu diễn ngôn ngữ

Ngôn ngữ đơn giản

- Phương pháp liệt kê: ngôn ngữ có số xâu là

hữu hạn và có thể xác định được.

Ví dụ: ngôn ngữ là các số tự nhiên nhỏ hơn

20 và lớn hơn 12

L={13, 14, 15, 16, 17, 18, 19}

Trang 59

Giáo trình Kiến trúc máy tính và Hệ

1 Một số vấn đề về ngôn ngữ

1.3 Biểu diễn ngôn ngữ

Ngôn ngữ đơn giản

- Phương pháp sử dụng tân từ P(x): ngôn ngữ

Trang 60

Giáo trình Kiến trúc máy tính và Hệ

Trang 61

Giáo trình Kiến trúc máy tính và Hệ

Trang 62

Giáo trình Kiến trúc máy tính và Hệ

62

2 Văn phạm phi ngữ cảnh

Qui ước:

- Ký hiệu kết thúc được viết bằng chữ thường

- Ký hiệu chưa kết thúc được viết bằng chữ in

- Ký hiệu chưa kết thúc nằm bên trái của sản

xuất đầu tiên là ký hiệu bắt đầu.

Trang 63

Giáo trình Kiến trúc máy tính và Hệ

63

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Xâu (câu) và dạng câu:

-  gọi là xâu khi   Σ*

-  gọi là dạng câu khi (ΣΔ) *

Trang 64

Giáo trình Kiến trúc máy tính và Hệ

Trang 65

Giáo trình Kiến trúc máy tính và Hệ

65

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Quan hệ suy dẫn:

- Quan hệ suy dẫn nhiều lần: từ A áp dụng

nhiều sản xuất mới sinh đƣợc 

Ký hiệu: A  + với AΔ và (ΣΔ)*

- Độ dài suy dẫn: số lần áp dụng các sản xuất

- Độ dài của suy dẫn trực tiếp bằng 1

Trang 66

Giáo trình Kiến trúc máy tính và Hệ

66

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Quan hệ suy dẫn:

- Nếu luôn luôn thay thế ký hiệu chưa kết

thúc ở bên trái nhất gọi là suy dẫn trái Tương tự ta có suy dẫn phải

Trang 67

Giáo trình Kiến trúc máy tính và Hệ

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Cây suy dẫn: cây thoả mãn các điều kiện:

- Mỗi nút có 1 nhãn: ký hiệu kết thúc hoặc

chƣa kết thúc

- Nhãn của nút gốc: ký hiệu bắt đầu

- Nhãn của nút lá: ký hiệu kết thúc

- Nếu một nút có nhãn A có các nút con của nó

từ trái sang phải có nhãn x1, x2, x3, …xn thì

Trang 68

Giáo trình Kiến trúc máy tính và Hệ

68

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Cây suy dẫn

- Suy dẫn trái tạo cây suy dẫn trái.

- Suy dẫn phải tạo cây suy dẫn phải.

- Ví dụ: cho văn phạm phi ngữ cảnh sau:

EE+E | E*E | (E) | a

Vẽ cây suy dẫn trái, phải sinh xâu: a+a*a

(1) (2) (3) (4)

Trang 69

Giáo trình Kiến trúc máy tính và Hệ

69

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Văn phạm G=(Σ, Δ, s, p) sản sinh ra ngôn ngữ L(G)={wΣ * } Ta nói G là văn phạm

đơn nghĩa (không nhập nhằng) nếu với mỗi xâu wL(G) chỉ có một cây suy dẫn duy

nhất, trái lại thì G là văn phạm nhập nhằng.

Trang 70

Giáo trình Kiến trúc máy tính và Hệ

70

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Văn phạm G1 và G2 được gọi là tương đương  bất kỳ xâu x được sinh ra từ G1 thì G2 cũng sinh ra được và ngược lại

Trang 71

Giáo trình Kiến trúc máy tính và Hệ

71

2 Văn phạm phi ngữ cảnh

2.3 Các khái niệm

Văn phạm đệ qui

Cho văn phạm PNC G, với A Δ mà

A+A thì A gọi là ký hiệu đệ qui, G gọi

là văn phạm đệ qui Với ,   (ΣΔ)*

- Nếu =: đệ qui trái

- Nếu =: đệ qui phải

Trang 72

Giáo trình Kiến trúc máy tính và Hệ

Trang 73

Giáo trình Kiến trúc máy tính và Hệ

Trang 74

Giáo trình Kiến trúc máy tính và Hệ

Trang 75

Giáo trình Kiến trúc máy tính và Hệ

Trang 76

Giáo trình Kiến trúc máy tính và Hệ

76

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Trang 77

Giáo trình Kiến trúc máy tính và Hệ

77

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Bắt đầu từ x áp dụng các suy dẫn ngược 1

sản xuất để thu S: PTCP từ dưới lên

- Nếu thu được S: x viết dúng cú pháp của văn

phạm G

- Nếu k0 thu được S: x viết k0 đúng cú pháp

của văn phạm G

Trang 78

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Ví dụ: Cho văn phạm PNC G sau:

SB BR | (B) R E=E E a | b | (E+E) Xâu x: (a=(b+a))

Hỏi xâu x có viết đúng cú pháp của G k0?

(1)

(2) (3)

(4)

(5) (6) (7)

Trang 79

Giáo trình Kiến trúc máy tính và Hệ

79

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Trang 80

Giáo trình Kiến trúc máy tính và Hệ

80

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Trang 81

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.2 Phương pháp giải quyết

Ví dụ:

Phương pháp từ dưới lên

Vậy xâu x viết đúng cú pháp của G

Trang 82

Giáo trình Kiến trúc máy tính và Hệ

82

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Trang 83

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Trang 84

Giáo trình Kiến trúc máy tính và Hệ

84

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Thuật toán:

Else

If (cán  xuất hiện ở đỉnh stack) Then

- Lấy cán  ra khỏi stack

- Đẩy A vào stack với A

Trang 85

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Thuật toán:

Else

If (Buffer<>$) Then D/c k/h ở đỉnh của Buffer Stack Else

-Báo lỗi x không đúng cú pháp VP G -Dừng vòng lặp

CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trang 86

Giáo trình Kiến trúc máy tính và Hệ

86

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Ví dụ: Sif DK then L ;

DK  true | false

L  write(ID) | read(ID)

ID a | b Xâu x: if true then read(a); có đúng cú pháp

vp trên?

Trang 87

Giáo trình Kiến trúc máy tính và Hệ

87

(0) $ if true then read(a); $ D/c

(2) $if true then read(a);$ R/g DKtrue

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Ví dụ:

Trang 88

Giáo trình Kiến trúc máy tính và Hệ

88

(7) $if DK then read(a );$ R/g IDa

(9) $if DK then read(ID) ;$ R/g Lread(ID)

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Ví dụ:

Trang 89

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.3 Sơ đồ chung giải thuật PTCP từ dưới lên

Ví dụ:

Trang 90

Giáo trình Kiến trúc máy tính và Hệ

3 Đại cương về phân tích cú pháp

3.4 Sơ đồ chung giải thuật PTCP từ trên xuống

Trang 91

Giáo trình Kiến trúc máy tính và Hệ

91

3 Đại cương về phân tích cú pháp

3.4 Sơ đồ chung giải thuật PTCP từ trên xuống

Ngày đăng: 28/08/2019, 19:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w