1 nhập môn chương trình dịch

Nhập môn Chương trình dịch - Bài 1 ppsx

Nhập môn Chương trình dịch - Bài 1 ppsx

Ngày tải lên : 24/07/2014, 08:21
... $30,$30, $15 bis $16 , $16 , $1 stl $1, 16( $15 ) lds $f1 ,16 ( $15 ) sts $f1,24( $15 ) ldl $5,24( $15 ) bis $5,$5,$2 s4addq $2,0,$3 ldl $4 ,16 ( $15 ) mull $4,$3,$2 ldl $3 ,16 ( $15 ) addq $3 ,1, $4 mull $2,$4,$2 ldl $3 ,16 ( $15 ) ... stq $15 ,8($30) bis $30,$30, $15 bis $16 , $16 , $1 stl $1, 16( $15 ) lds $f1 ,16 ( $15 ) sts $f1,24( $15 ) ldl $5,24( $15 ) bis $5,$5,$2 s4addq $2,0,$3 ldl $4 ,16 ( $15 ) mull $4,$3,$2 ldl $3 ,16 ( $15 ) addq $3 ,1, $4 ... gỡ rối chương trình với chương trình dịch viết sai – Chương trình dịch chương trình  Các khái niệm chi phí, bảo mật – Trong môn học này, ta nghiên cứu kỹ thuật để viết chương trình dịch Dịch...
  • 17
  • 294
  • 1
Nhập môn Chương trình dịch - Bài tập ppt

Nhập môn Chương trình dịch - Bài tập ppt

Ngày tải lên : 24/07/2014, 08:21
... III Cải tiến chương trình phân tích từ vựng - Thêm vào từ tố cho câu lệnh for, switch … case - Thông báo lỗi từ vựng: vị trí xảy lỗi - Hồi phục lỗi: bỏ qua lỗi dịch tiếp để bắt hết lỗi ... nhiên, văn phạm bị nhập nhằng Ta muốn có văn phạm không nhập nhằng với phép mũ (^) ưu tiên cao nhất, sau đến phép nhân (*) đến phép cộng (+) a, Viết văn phạm thuộc lớp LL (1) cho ngôn ngữ trên, ... c, Văn phạm thuộc lớp SLR hay không? Cho lý d, Văn phạm thuộc lớp LR (1) hay không? Cho lý Hai kỹ thuật phân tích LL (1) LALR (1) hai kỹ thuật sử dụng rộng rãi Mỗi kỹ thuật có điểm mạnh riêng Hãy...
  • 6
  • 1.9K
  • 20
Nhập môn Chương trình dịch - Bài 15 docx

Nhập môn Chương trình dịch - Bài 15 docx

Ngày tải lên : 24/07/2014, 08:21
... đổi e1 làm thay đổi ý đồ người lập trình • Cần lưu lại giá trị e1 trước tính si’ J[e1] = (s1, s2,…, sn); e1’ J[e2] = (s1’, s2’,…, sn’); e2’ J[OP(e1, e2)] = (s1, s2,…, sn, MOVE(TEMP(t), e1’), s1’, ... pháp điều khiển: OP J[e1] = (s1, s2,…, sn); e1’ J[e2] = (s1’, s2’,…, sn’); e2’ J[OP(e1, e2)] = (s1, s2,…, sn, s1’, s2’,…, sn’); OP(e1’, e2’) • Luật thể ý đồ người lập trình chưa? Cú pháp điều ... tính OP(e1’, e2’) phép tính Cú pháp điều khiển: CALL J[ef] = (s1, s2,…, sn); ef’ J[e1] = (s1’, s2’,…, sn’); e1’ J[CALL(ef, e1)] = (s1, s2,…, sn, s1’, s2’,…, sn’, MOVE(TEMP(t), CALL(ef‘, e1’)); TEMP(t)...
  • 25
  • 279
  • 1
Nhập môn Chương trình dịch - Bài 14 pps

Nhập môn Chương trình dịch - Bài 14 pps

Ngày tải lên : 24/07/2014, 08:21
... C[e, l1,l2] IR nhảy đến nhãn l1 e nhảy đến nhãn l2 e sai • Công thức hồi quy: – – – – – C[true, l1, l2] = JUMP(NAME(l1)) C[false, l1, l2] = JUMP(NAME(l2)) C[e1==e2, l1, l2] = CJUMP(EQ(E[e1], E[e2]), ... l1, l2) C[e1 & e2, l1, l2] = SEQ(C[e1, t, l2], LABEL(t), C[e2, l1, l2]) công thức hồi quy cho phép toán quan hệ, logic khác Biểu thức logic câu lệnh điều kiện • C[e, l1,l2] IR nhảy đến nhãn l1 ... lệnh dựa vào mã nút • Cú pháp điều khiển – Mô tả xác chương trình dịch cần làm – Có thể cài đặt dễ dàng – Có thể chứng minh tính chương trình dịch Sinh mã lệnh if SEQ if (e) s CJUMP [e] NAME(t)...
  • 16
  • 323
  • 0
Nhập môn Chương trình dịch - Bài 13 pps

Nhập môn Chương trình dịch - Bài 13 pps

Ngày tải lên : 24/07/2014, 08:21
... Cách dịch MOVE e1 = e2 [e1] [e2] • Vấn đề: nút MOVE giá trị, làm để dịch x = (y = 2)? ESEQ MOVE e1 = e2 [e1] [e1] [e2] Phép gán • Như vậy, [e1] phải chạy lần, cần lưu lại giá trị [e1] ESEQ SEQ e1 ... + e1 e2 [e1] [e2] • Kí hiệu [e] biểu diễn IR nút e cú pháp Câu lệnh • Dãy lệnh biểu diễn nút SEQ biểu diễn IR • Nếu [s1] [s2] biểu diễn IR nút s1 s2 • SEQ([s1], [s2]) biểu diễn IR s1; s2 s1; ... trừu tượng có nhiều phép toán OP(e1, e2) OP e1 e2 • Tính giá trị e1 e2, sau áp dụng phép toán với giá trị • e1 e2 phải hai nút có giá trị • Có thể tính giá trị e1 e2 theo thứ tự MEM • Nút MEM đại...
  • 26
  • 313
  • 1
Nhập môn Chương trình dịch - Bài 12 pps

Nhập môn Chương trình dịch - Bài 12 pps

Ngày tải lên : 24/07/2014, 08:21
... gọi hàm E(E1, E2, … En) A ├ E : T1 x T2 x … x Tn  Tr A ├ Ei : Ti (i = 1, 2, … n) A ├ E(E1, E2, … En) : Tr (func call) Luật ngữ nghĩa: định nghĩa hàm • C/C++: hàm viết dạng Tr f(T1 a1, … Tn an) ... kiểu dãy lệnh sau có kiểu A ├ S1 : T1 A ├ (S2, S3, … Sn) : Tn (block) A ├ (S1, S2, … Sn) : Tn • Làm S1 lệnh khai báo? Luật ngữ nghĩa: dãy lệnh (block) A ├ T id : T1 (lệnh khai báo) A, id : T ├ ... có kiểu A, a1 : T1, …, an : Tn ├ E : Tr Ví dụ: hàm đệ quy int fact(int x) { if (x == 0) return 1; else return x * fact(x -1) ; } A2 ├ x : int A2 ├ : int A2 ├ x == : bool A2 ├ : int A1 = {fact: int...
  • 11
  • 320
  • 0
Nhập môn Chương trình dịch - Bài 11 ppt

Nhập môn Chương trình dịch - Bài 11 ppt

Ngày tải lên : 24/07/2014, 08:21
... thức E, lệnh S1 lệnh S2 ta có luật ngữ nghĩa A ├ if (E) S1 else S2 : T A ├ E : bool A ├ S1 : T A ├ S2 : T Viết luật ngữ nghĩa Tiền đề A ├ E : bool A ├ S1 : T A ├ S2 : T A ├ if (E) S1 else S2 : ... xuất văn phạm • Đánh giá kiểu (kiểm tra kiểu) trình lần ngược cú pháp dựa vào luật Ví dụ A ├ E1 : int E1 A ├ E2 : int (+) : int E2 + A ├ E1 + E2 : int E1 : int : int E2 Cài đặt luật ngữ nghĩa • Cài ... E.typeCheck(A) Expr e1, e2; A├E:T Type typeCheck(SymTab A) { Type t1 = e1.typeCheck(A), t2 = e2.typeCheck(A); if (t1 == Int && t2 == Int) return Int; else throw new TypeCheckError(“+”); } A ├ E1 : int A...
  • 15
  • 362
  • 0
Nhập môn Chương trình dịch - Bài 10 pptx

Nhập môn Chương trình dịch - Bài 10 pptx

Ngày tải lên : 24/07/2014, 08:21
... báo kiểu: typedef, class Hệ thống kiểu (1) • Mỗi ngôn ngữ lập trình có hệ thống kiểu riêng • Mỗi kiểu giới hạn liệu • VD: int = [-2 31, 2 31] , char = [ -12 8, 12 7] • Các kiểu liệu phức hợp tạo từ kiểu ... char, … • Kiểu phức hợp: int [10 0], struct {int a, char b} • Biểu thức kiểu: T kiểu T[ ] kiểu với T Hệ thống kiểu (2): định nghĩa kiểu • Một số ngôn ngữ cho phép người lập trình tự định nghĩa kiểu ... C/C++/Java/Pascal Biểu thức kiểu: Cấu trúc • Là biểu thức kiểu phức tạp • Biểu thức kiểu có dạng {id1: T1, id2: T2, …} với id T tên kiểu trường • Ví dụ – C/C++: struct { int a; float b; } tương ứng...
  • 11
  • 333
  • 1
Nhập môn Chương trình dịch - Bài 9 pot

Nhập môn Chương trình dịch - Bài 9 pot

Ngày tải lên : 24/07/2014, 08:21
... • Nộp tập lập trình số 1: tuần sau Phân tích ngữ nghĩa • Tìm tất lỗi lại chương trình nguồn – Khai báo biến – Kiểm tra kiểu (kiểu tĩnh) • Thiết lập thông tin cần thiết cho bước dịch sau – Kiểu ... (thông tin kiểu) class Add extends Expr { Expr e1, e2; Type typeCheck() throws SemanticError { Type t1 = e1.typeCheck(), t2 = e2.typeCheck(); if (t1 == Int && t2 == Int) return Int; else throw ... phạm vi biến (scope) class Add extends Expr { Expr e1, e2; Type typeCheck(SymTab s) { Type t1 = e1.typeCheck(s), t2 = e2.typeCheck(s); if (t1 == Int && t2 == Int) return Int; else throw new TypeCheckError(“+”);...
  • 18
  • 280
  • 0
Nhập môn Chương trình dịch - Bài 8 ppt

Nhập môn Chương trình dịch - Bài 8 ppt

Ngày tải lên : 24/07/2014, 08:21
... } } Chương trình chương trình dịch (2) Compiler.compile() cú pháp Parser.parse() từ tố Lexer.getToken() ký tự InputStream.read() Cây cú pháp Là kết phân tích cú pháp Là dạng thể chương trình ... chương trinh sinh phân tích cú pháp sử dụng phương pháp LALR (1) Thứ tự ưu tiên kết hợp cho phép viết cú pháp ngôn ngữ dễ dàng Văn phạm ngôn ngữ gần với cách viết thông thường Chương trình chương ... expr ::= expr:e1 PLUS expr:e2 {: RESULT = new Add(e1,e2); :}  Ngăn xếp phân tích cú pháp lưu giá trị RESULT vế trái Num (1) (1 (E (E + (E + E (E (E) E E + E + E E RESULT = new Num (1) RESULT = new...
  • 17
  • 286
  • 1
Nhập môn Chương trình dịch - Bài 7 pptx

Nhập môn Chương trình dịch - Bài 7 pptx

Ngày tải lên : 24/07/2014, 08:21
... ((L),y) (S,y) (L,y) (L,y) (L,y) (L,S) (L) (L) S ngăn xếp 1( 3 1( 3(3 1( 3(3x2 1( 3(3S7 1( 3(3L5 1( 3(3L5)6 1( 3S7 1( 3L5 1( 3L5,8 1( 3L5,8y2 1( 3L5,8S9 1( 3L5 1( 3L5)6 xâu vào ((x),y)$ (x),y)$ x),y)$ ),y)$ ),y)$ ... = (sn, a) = gạt s (s1 x1 s2 x2 … sn-r xn-r … sn -1 xn -1 sn a s) – Thu gọn X  , chuyển tới trạng thái s với •  = xn-r … xn-2 xn -1 • s = (sn-r, X) = goto (sn-r, X) (s1 x1 s2 x2 … sn-r X s)  ... tích LALR (1)  LR (1) : Có nhiều trạng thái  SLR  10 0 trạng thái  LR (1)  10 00 trạng thái  Kết hợp trạng thái LR (1) có sản xuất vị trí dấu chấm () giống lại thành trạng thái  LALR (1) = SLR...
  • 21
  • 273
  • 0
Nhập môn Chương trình dịch - Bài 6 pot

Nhập môn Chương trình dịch - Bài 6 pot

Ngày tải lên : 24/07/2014, 08:21
... +2+(3+4))+5 (1 +2+(3+4))+5 (1+ 2 +(3+4))+5 (1+ 2+(3 +4))+5 (1+ 2+(3 +4))+5 (1+ 2+(3 +4))+5 (1+ 2+(3+4 ))+5 (1+ 2+(3+4 ))+5 (1+ 2+(3+4) )+5 (1+ 2+(3+4) )+5 (1+ 2+(3+4)) +5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 Phân ... (2) (1+ 2+(3+4))+5  (E+2+(3+4))+5  (S+2+(3+4))+5  (S+E+(3+4))+5  (S+(3+4))+5  (S+(E+4))+5  (S+(S+4))+5  (S+(S+E))+5  (S+(S))+5  (S+E)+5  (S)+5  E+5  S+E  S  (1+ 2+(3+4))+5 (1 +2+(3+4))+5 ... (S)  Văn phạm đệ quy trái S  S+E | E E  số | (S)  Văn phạm LL (1) S  ES’ S’  +S |  E  số | (S) Đệ quy trái đệ quy phải (1) (1+ 2+(3+4))+5 Đệ quy phải – kết hợp bên phải Đệ quy trái – kết hợp...
  • 22
  • 236
  • 0
Nhập môn Chương trình dịch - Bài 5 doc

Nhập môn Chương trình dịch - Bài 5 doc

Ngày tải lên : 24/07/2014, 08:21
... phạm LL (1) S ES’ (S)S’ (ES’)S’ (1S’)S’ (1+ S)S’ (1+ ES’)S’ (1+ 2S’)S’ (1+ 2+S)S’ (1+ 2+ES’)S’ (1+ 2+(S)S’)S’ (1+ 2+(ES’)S’)S’ (1+ 2+(3S’)S’)S’ (1+ 2+(3+S)S’)S’ ( ( 1 + 2 + ( ( 3 + (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 ... (S)S’ (ES’)S’ (1S’)S’ (1+ S)S’ (1+ ES’)S’ (1+ 2S’)S’ S S’ E ( ( 1 + 2 + số  ES’ + (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 ( ... (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 (1+ 2+(3+4))+5 Phân tích...
  • 37
  • 318
  • 1
Nhập môn Chương trình dịch - Bài 4 ppsx

Nhập môn Chương trình dịch - Bài 4 ppsx

Ngày tải lên : 24/07/2014, 08:21
... (S) + S  (E + S )+ S  (1 + S)+S  (1+ E+S)+S  (1+ 2+S)+S  (1+ 2+E)+S  (1+ 2+(S))+S  (1+ 2+(E+S))+S  (1+ 2+(3+S))+S  (1+ 2+(3+E))+S  (1+ 2+(3+4))+S  (1+ 2+(3+4))+E  (1+ 2+(3+4))+5  Suy dẫn phải ... Suy dẫn 1: SS+S 1+ S 1+ S*S 1+ 2*S 1+ 2*3 + * * Suy dẫn 2: SS*SS+S*S 1+ S*S 1+ 2*S 1+ 2*3 + Ý nghĩa Cây suy dẫn khác cho kết tính toán khác Văn phạm nhập nhằng  Có nhiều cách hiểu chương trình ... Xâu (1 + + (3 + 4)) + S  E + S  (S) + S  (E + S) + S  (1 + S) + S  (1 + E + S) + S  (1 + + S) + S  (1 + + E) + S  (1 + + (S)) + S  (1 + + (E + S)) + S  (1 + + (3 + S)) + S  (1 + +...
  • 27
  • 299
  • 0
Nhập môn Chương trình dịch - Bài 3 doc

Nhập môn Chương trình dịch - Bài 3 doc

Ngày tải lên : 24/07/2014, 08:21
... pháp RE  R1 R2 RE, biểu thức sau RE – – – – – – – – – – a R1|R2 R1R2 R1* R1? R1 (R1) [abc] [a-e] [^…] L(a) = {a} L(R1|R2) = L(R1)  L(R2) Nối xâu thuộc L(R1) L(R2) Nối nhiều xâu thuộc L(R1) Xâu ... Xâu rỗng xâu thuộc L(R1) Nối nhiều xâu thuộc L(R1) L([abc]) = L(a|b|c) L([a-e]) = L(a|b| |e) Kí tự kí tự ngoặc Chương trình sinh PTTV  Đọc danh sách theo thứ tự ưu tiên RE: R1,…Rn, biểu thức mô ... động tương ứng  Ví dụ -? [1- 9][0-9]* { return new Token(Tokens.IntConst, Integer.parseInt(yytext()) }  Sinh mã lệnh chương trình PTTV Kiểm tra tính đắn từ vựng chương trình nguồn Sinh dãy từ tố...
  • 21
  • 418
  • 0
Nhập môn Chương trình dịch - Bài 2 potx

Nhập môn Chương trình dịch - Bài 2 potx

Ngày tải lên : 24/07/2014, 08:21
... Nội dung  Mô tả bước chương trình dịch  Phân tích từ vựng gì?  Viết chương trình phân tích từ vựng  Mô tả từ tố - biểu thức quy (REs)  Viết chương trình sinh chương trình phân tích từ vựng ... quy (RE)  Đầu vào chương trình sinh chương trình PTTV đặc tả chương trình PTTV: REs, mức độ ưu tiên hành động tương ứng  Bài tới: hoạt động chương trình sinh chương trình PTTV ... REs theo thứ tự ưu tiên – Hành động gắn liền với RE chương trình PTTV nhận dạng từ tố RE  Đầu chương trình chương trình PTTV – Đọc chương trình nguồn tách thành từ tố cách nhận dạng REs – Thông...
  • 19
  • 345
  • 2
NHẬP MÔN CHƯƠNG TRÌNH DỊCH

NHẬP MÔN CHƯƠNG TRÌNH DỊCH

Ngày tải lên : 06/07/2015, 18:50
... $30,$30, $15 bis $16 , $16 , $1 stl $1, 16( $15 ) lds $f1 ,16 ( $15 ) sts $f1,24( $15 ) ldl $5,24( $15 ) bis $5,$5,$2 s4addq $2,0,$3 ldl $4 ,16 ( $15 ) mull $4,$3,$2 ldl $3 ,16 ( $15 ) addq $3 ,1, $4 mull $2,$4,$2 ldl $3 ,16 ( $15 ) ... stq $15 ,8($30) bis $30,$30, $15 bis $16 , $16 , $1 stl $1, 16( $15 ) lds $f1 ,16 ( $15 ) sts $f1,24( $15 ) ldl $5,24( $15 ) bis $5,$5,$2 s4addq $2,0,$3 ldl $4 ,16 ( $15 ) mull $4,$3,$2 ldl $3 ,16 ( $15 ) addq $3 ,1, $4 ... Nhập môn Chương trình dịch Bài 1: Tổng quan Nội dung Sơ lược môn học Các chương trình dịchChương trình dịch gì? – Tại phải biết chúng? – Các phận chương trình dịch Giới thiệu...
  • 304
  • 343
  • 0
GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 1

GIÁO TRÌNH MÔN CHƯƠNG TRÌNH DỊCH PHẦN 1

Ngày tải lên : 03/10/2013, 12:20
... hm chuyn trng thỏi c mụ t bi bng sau: ch_cỏi ch_s < = > khỏc li 11 12 li 1 2 2 4 4 6 6 6 10 10 10 10 10 12 14 14 14 14 13 14 14 Cỏc trng thỏi F l trng thỏi kt thỳc Cỏc trng thỏi cú du * l kt ... LE NE LT 10 * 11 = EQ 12 13 14 * = > GE GT 2 .1. 3 Biờu diờn bi OH Vi vớ d trờn chỳng ta xõy dng ụtụmỏt vi cỏc thụng s nh sau: Q = {0 ,1, 2,3,4,5,6,7,8,9 ,10 ,11 ,12 ,13 ,14 } F = {2,4,6 ,10 ,14 } q0 = hm ... s v 1, ú tn ti ớt nht mt xõu 11 Biu thc chớnh qui: (0 |1) *11 (0 |1) * Biu din biu thc chớnh quy di dng th chuyn: th chuyn n nh 0 |1 12 1 start 0 0 |1 12 1 0 |1 start th chuyn khụng n nh 2 .1. 1.3 ễtụmỏt...
  • 32
  • 539
  • 2
CHƯƠNG 1: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG potx

CHƯƠNG 1: NHẬP MÔN LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG potx

Ngày tải lên : 27/07/2014, 13:21
... trúc struct Con trỏ Làm tập nhà OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 11 4 /14 /2 010 45 THANK YOU OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 12 ... Thông điệp nhận hành vi đối tượng OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu 4 /14 /2 010 HÀNH VI (BEHAVIOR) 17 18 Thao tác (operation) Phương thức ... Objective C Java (19 95), Sun GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP GV: Võ Hồng Bảo Châu OOP-CHƯƠNG 1- NHẬP MÔN OOP Phương pháp giải toán theo OOP SO SÁNH CÁCH ViẾT CHƯƠNG TRÌNH 31 32 Program...
  • 12
  • 416
  • 0
slike bài giảng môn chương trình dịch chương 1 tổng quan

slike bài giảng môn chương trình dịch chương 1 tổng quan

Ngày tải lên : 23/10/2014, 17:33
... tmp1 = i2f(60) tmp2 = id2 * tmp1 tmp3 = id1 + tmp2 id1 = tmp3 T i u mã trung gian tmp2 = id2 * 60.0 id1 = id1 + tmp2 Sinh mã máy MOVF id2, R2 MULF #60.0, R2 MOVF id1, R1 ADDF R2, R1 MOVF R1, id1 ... K T • • • • Nhi m v c a ch ng trình d ch Phân lo i ch ng trình d ch Các giai o n c a trình d ch Các ch ng trình liên quan n ch trình d ch c: [1] chapter 1, pages 1- 24 [2] chapter 2, pages 25-82 ... CH Ch NG TRÌNH D CH Ch ng trình ngôn ng ngu n ng trình ngôn ng ích L i • nh n d ng ch • sinh mã ích Khoa CNTT - DHBK ng trình ngu n Gi i Thi u CÁC LO I CH NG TRÌNH D CH • Trình biên d ch...
  • 15
  • 315
  • 0

Xem thêm