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

ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT

26 6 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 26
Dung lượng 0,93 MB

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

Nội dung

Từ ứng dụng trò chơi giải trí đến, ví điện tử, các thiết vị giadụng thông minh,…Vậy mới thấy việc lập trình đóng góp to lớn như thế nào, từ đó các ngôn ngữ lập trình dần dần được ra đời

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN

THÔNG VIỆT -HÀN KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 5

ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN

Giảng viên hướng dẫn : TS VÕ NGỌC ĐẠT

Đà nẵng, tháng 05 năm 2021

Trang 2

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

VIỆT-HÀN

KHOA KHOA HỌC MÁY TÍNH

ĐỒ ÁN CƠ SỞ 5XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN

Đà Nẵng, tháng 05 năm 2021

Trang 3

MỞ ĐẦU

Trong thời đại hiện nay cuộc sống đang chuyển đổi theo xu hướng hiện đạihóa, công nghiệp hóa Trong đó ngành Công nghệ thông tin là một ngànhnghệ tất yếu, hỗ trợ đắc lực cho quá trình chuyển đổi số này Bằng những câulệnh ngững lập trình viên có thể tạo ra rất nhiều thư hỗ trợ và nâng tầm cuộcsống hiện đại Từ ứng dụng trò chơi giải trí đến, ví điện tử, các thiết vị giadụng thông minh,…Vậy mới thấy việc lập trình đóng góp to lớn như thế nào,

từ đó các ngôn ngữ lập trình dần dần được ra đời để hỗ trợ các lập trình viên

có thể dễ dàng tạo ra các sản phẩm công nghệ phục vụ cuộc sống

Trang 4

LỜI CẢM ƠN

Báo cáo đồ án này là quá trình nghiên cứu và thực hiện của tôi dưới sự giúp đỡ,

hỗ trợ của rất nhiều người người

Lời đầu tiên tôi xin chân thành cảm ơn THS Võ Ngọc Đạt đã trực tiếp giúp

đỡ tôi tìm hiều và nghiên cứu thực hiện đề tài, cung cấp tài liệu, thông tin cần thiếtcho báo cáo này

Xin cảm ơn ban lãnh đạo trường Đại học Công nghệ thông tin và Truyền thôngViệt Hàn, khoa Khoa học máy tính đã tạo điều kiện cho tôi thực hiện đồ án củamình

Cuối cùng tôi xin chân thành cảm ơn gia đình, người thân và bạn bè đã luôn bêncạnh ủng hộ, động viên trong suốt quá trình tôi thực hiện đồ án 5

Tôi xin chân thành cảm ơn!

Trang 5

NHẬN XÉT (Của giảng viên hướng dẫn)

………

………

………

………

………

………

………

………

………

………

Trang 6

MỤC LỤC Trang Chương 1 Giới thiệu 10

1.1 Tổng quan 10

1.2 Phương pháp 10

1.3 Cấu trúc đồ án 10

Chương 2 Tổng quan về lý thuyết 11

2.1 Ngôn ngữ lập trình là gì? 11

2.2 Các loại ngôn ngữ lập trình 11

2.2.1 Ngôn ngữ máy 11

2.2.2 Hợp ngữ 11

2.2.3 Ngôn ngữ lập trình bậc cao 12

2.3 Các thành phần của một ngôn ngữ lập trình 12

2.3.1 Bảng chữ cái 12

2.3.2 Cú pháp 12

2.3.3 Ngữ nghĩa 12

2.3.4 Một số khái niệm khác 12

2.4 Các bước xây dựng một ngôn ngữ lập trình 13

2.4.1 Thiết kế ngôn ngữ 13

2.4.2 Xây dựng trình dịch ngôn ngữ 14

2.5 Ngôn ngữ lập trình Python 17

Chương 3 Phân tích thiết kế hệ thống 18

3.1 Thiết kế ngôn ngữ 18

3.1.1 Ngữ pháp 18

3.1.2 Cú pháp 19

3.2 Lựa chọn trình dịch và công cụ 20

Chương 4 Triển khai xây dựng 21

4.1 Bộ phân tích từ vựng (Lexer) 21

4.2 Bộ phân tích cú pháp (Parser) 22

4.3 Bộ thông dịch (interpreter) 23

Kết luận và hướng phát triển 25

Trang 7

DANH MỤC CÁC BẢNG

TrangBảng 1: Bảng so sánh trình biên dịch và trình thông dịch 19

Trang 8

DANH MỤC HÌNH

Trang

Hình 1: Ngôn ngữ lập trình là gì? 13

Hình 2: Xây dựng ngữ pháp 15

Hình 3: Trình biên dịch 17

Hình 4: Các giai đoạn biên dịch 18

Hình 5: Ngôn ngữ lập trình python 19

Hình 6: Ngữ pháp 20

Hình 7: Expr, term, factor 21

Hình 8: Lexer 23

Hình 9: Mô tả parser 24

Hình 10: Parser 25

Hình 11: Interpreter 26

Trang 9

DANH MỤC CỤM TỪ VIẾT TẮT

Trang 10

Chương 1 Giới thiệu

1.1 Tổng quan

Hiện nay ngành công nghệ thông tin đang trở thành trợ thủ đắc lực cho quátrình chuyển đổi số, nâng cao chất lượng cuộc sống cho con người Chỉ bằng cácdòng lệnh các lập trình viên có thể tạo ra nhiều công cụ thông minh trợ giúp conngười trong cuộc sống hàng ngày, từ những trò chơi giải trí, đến các thiết bị giadụng thông minh

Từ đó các ngôn ngữ lập trình cũng ngày càng phát triển để hỗ trợ các lậptrình viên có thể dễ dàng hơn trong quá trình lập trình Với mong muốn có thểphát triển được một ngôn ngữ lập trình “made in Viet Nam”, tôi thực hiện đồ ánnày nhằm mục đích nghiên cứu cách tạo ra một ngôn ngữ lập trình, tạo tiền đề đểphát triển một ngôn ngữ lập trình hoàn chỉnh trong tương lai

1.2 Phương pháp

Để có thể tạo ra một ngôn ngữ lập trình những công việc chính mà chúng tacần làm đó là thiết kế được ngôn ngữ, sau đó là xây dựng trình biên dịch hoặcthông dịch Trong đồ án này tôi chọn xây xựng trình thông dịch và sử dụng ngônngữ python để thực hiện Ngôn ngữ python là một ngôn ngữ rất thân thiện vì gầngiống với ngôn ngữ nói, nên sẽ thuận tiện hơn trong việc viết code

1.3 Cấu trúc đồ án

Đồ án gồm có 3 chương chính như sau:

- Chương 2: Trình bày về các kiến thức liên quan đến đề tài như khái niệmngôn ngữ lập trình, phân loại, các thành phần, cũng như cách xây dựngmột ngôn ngữ lập trình

- Chương 3: Trình bay phần phân tích thiết kế hệ thống, thiết kế ngôn ngữ,thiết kế ngữ pháp, cú pháp

- Chương 4: Trình bày các bước, xây dựng hệ thống

Trang 11

Chương 2 Tổng quan về lý thuyết

2.1 Ngôn ngữ lập trình là gì?

Hình 1: Ngôn ngữ lập trình là gì?

Ngôn ngữ lập trình (programming language) là dạng ngôn ngữ được chuẩnhóa theo một quy tắc nhất định mà mỗi ngôn ngữ lập trình khác nhau sẽ có quytắc khác nhau Nhằm một mục đích là giúp con người có thể giao tiếp với máymóc, hay chính xác hơn là điều khiển máy móc làm theo ý mình

Hiện nay có rất nhiều ngôn ngữ lập trình đang được sử dụng Mặc dù cácngôn ngữ cũng có điểm chung tương đồng nhưng mỗi ngôn ngữ lại có các cúpháp sử dụng riêng Công việc của các lập trình viên là họ phải học các quy tắc,

cú pháp và cấu trúc ngôn ngữ rồi thực hiện viết mã nguồn trong một trình soạnthảo hoặc IDE và biên dịch code thành ngôn ngữ máy để máy tính có thể hiểuđược Các ngôn ngữ script không yêu cầu trình biên dịch mà sử dụng các trìnhthông dịch để thực thi script

2.2 Các loại ngôn ngữ lập trình

2.2.1 Ngôn ngữ máy

Ngôn ngữ máy – mã máy (machine language): là ngôn ngữ nền tảng của

bộ vi xử lý Các chương trình được viết trong tất cả các loại ngôn ngữ khác cuốicùng đều được chuyển thành ngôn ngữ máy trước khi chương trình đó được thihành Các chỉ thị trong ngôn ngữ máy được biểu diễn dưới dạng mã nhị phân.Đây là ngôn ngữ duy nhất mà bộ vi xử lí có thể nhận biết và thực hiện một cáchtrực tiếp

2.2.2 Hợp ngữ

Hợp ngữ (assembly language) là một ngôn ngữ lập trình bậc thấp, nó dùngcác từ viết tắt trong tiếng Anh để viết chương trình Ví dụ: Input = nhập; add =phép cộng; sub = phép trừ,.v.v

Hợp ngữ đã từng được dùng rộng rãi trong tất cả các khía cạnh lập trình ,nhưng ngày nay nó có xu hướng chỉ được dùng trong một số lĩnh vực hẹp, chủyếu để giao tiếp trực tiếp với phần cứng hoặc xử lý các vấn đề liên quan đến tốc

Trang 12

độ cao Điển hình như các trình điều khiển thiết bị, các hệ thống nhúng cấp thấp

và các ứng dụng thời gian thực

Các nhược điểm: Chương trình còn cồng kềnh, phức tạp, khó nhớ, còn phụthuộc vào loại thiết bị (vi xử lý) Để thiết bị điện tử hiểu và thực thi được chươngtrình, cần phải có công cụ hợp dịch để dịch từ hợp ngữ ra ngôn ngữ máy

2.2.3 Ngôn ngữ lập trình bậc cao

Ngôn ngữ lập trình bậc cao (High-level programming language) là ngônngữ lập trình có hình thức gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụthuộc vào loại thiết bị (loại vi xử lý) cũng như các trình dịch

Một số ngôn ngữ lập trình bậc cao phổ biến hiện nay như: ngôn ngữ lậptrình C, C++, Java, Pascal, PHP, Visual Basic

Ngữ nghĩa là xác định ý nghĩa thao tác cần phải thực hiên, ứng với tổ hợp kí

tự dựa vào ngữ cảnh của nó

 Lỗi ngữ nghĩa chỉ được phát hiện khi thực hiện chương trình trên dữliệu cụ thể.

2.3.4 Một số khái niệm khác

a Khái niệm về tên

Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc củamỗi ngôn ngữ lập trình và từng chương trình dịch cụ thể

Trang 13

Tên dành riêng là những tên được ngôn ngữ lập trình quy định với ý nghĩaxác định Mà người lập trình không thể dùng với ý nghĩa khác Tên dànhriêng còn được gọi là từ khóa.

o Ví dụ một số từ khóa:

o Trong ngôn ngữ Pascal: program, var, uses, Begin, End…

o Trong ngôn ngữ C++: main, include, while, void…

Tên chuẩn là những tên được ngôn ngữ lập trình dùng với ý nghĩa nào đótrong các thư viện của NNLT, tuy nhiên người lập trình có thể sử dụng với

ý nghĩa khác Tên dành riêng còn được gọi là từ khóa

o Ví dụ một số tên chuẩn:

o Trong ngôn ngữ Pascal: Real, lnteger, Sin, Cos, Char…

o Trong ngôn ngữ C++: cin, cout, getchar…

 Tên do người lập trình tự đặt được xác định bằng cách khai báo trước khi

sử dụng và không được trùng với tên dành riêng Các tên trong chươngtrình không được trùng nhau

Hằng logic: là các giá trị đúng hoặc sai.

c Khái niệm về biến

Biến là đại lượng được đặt tên, giá trị có thể thay đổi được trong chươngtrình

Các NNLT có nhiều loại biến khác nhau

Biến phải khai báo trước khi sử dụng

d Khái niệm về chú thích

Chú thích giúp cho người đọc chương trình nhận biết ý nghĩa của chươngtrình đó dễ dàng hơn, chú thích không ảnh hưởng đến nội dung chương trìnhnguồn và được chương trình đích bỏ qua

2.4 Các bước xây dựng một ngôn ngữ lập trình

Về cơ bản để xây dựng một ngôn ngữ lập trình có hai bước chính như sau:

Trang 14

lệnh ví dụ như quy tắc khai báo biến khư thế nào, quy tắc viết vong lặp nhưthế nào, quy tắc viết câu lệnh rẽ nhành như thế nào Mỗi ngôn ngữ sẽ có một

bộ quy tắc riêng

Ví dụ như: Để viêt câu lệnh in ra màn hình đoạn văn bản “Hello World!’’,

- trong python ta sẽ viết như sau: print(“Hello World”)

- còn trong java ta sẽ viết như sau: System.out.println(“Hello World!”)

2.4.2 Xây dựng trình dịch ngôn ngữ

Trình dịch ngôn ngữ là một phần mềm dịch các chương trình từ một ngônngữ nguồn ở dạng có thể đọc được bởi con người thành một chương trình tươngđương bằng ngôn ngữ đối tượng Ngôn ngữ nguồn nói chung là ngôn ngữ lập trìnhcấp cao và ngôn đối tượng thường là ngôn ngữ máy Có hai loại trình dịch đó làTrình biên dịch (Compilers) và trình thông dịch (Interpreters):

a Trình thông dịch

Trình thông dịch là một thay thế để thực thi một ngôn ngữ lập trình và thựchiện công việc tương tự như một trình biên dịch Trình thông dịch thực hiệnkiểm tra từ vựng, phân tích cú pháp và kiểm tra các kiểu tương tự như trìnhbiên dịch Nhưng trình thông dịch xử lý cây cú pháp trực tiếp để truy cập cácbiểu thức và thực thi câu lệnh thay vì tạo mã trung gian

Một trình thông dịch có thể yêu cầu xử lý cùng một cây cú pháp nhiều lần,

đó là lý do tại sao tốc độ sẽ đối chậm hơn so với thực hiện chương trình đượcbiên dịch

Việc biên dịch và thông dịch kết hợp để có thể thực thi ngôn ngữ lập trình.Trong đó một trình biên dịch tạo mã ở cấp trung gian, sau đó mã được diễngiải thay vì được biên dịch thành mã máy

Sử dụng một trình thông dịch thì sẽ thuận lợi trong quá trình phát triểnchương trình, trong đó phần quan trọng nhất là có thể kiểm tra việc sửa đổichương trình một cách nhanh chóng thay vì chạy chương trình một cách hiệuquả

b Trình biên dịch

Trình biên dịch là một trình dịch đọc một chương trình được viết bằngngôn ngữ bậc cao và chuyển đổi nó thành ngôn ngữ máy hoặc ngôn ngữ cấpthấp hơn và báo cáo các lỗi có trong chương trình Nó chuyển đổi toàn bộ mãnguồn trong một lần hoặc có thể mất nhiều lượt như vậy, nhưng cuối cùngngười dùng sẽ nhận được mã đã được biên dịch sẵn sàng để thực thi

Trang 15

Hình 3: Trình biên dịch

Trình biên dịch hoạt động thoe từng giai đoạn, các giao đoạn khác nhau cóthể được nhóm thành hai thành phần đó là:

- Giai đoạn phân tích, cũng được gọi là phần đầu: trong đó chương

trình được chia thành các phần cấu thành cơ bản và kiểm tra ngữ pháp,ngữ nghĩa và cú pháp của mã sau khi mã trung gian được tạo Giaođoạn phân tích bao gồm phân tích từ vựng, phân tích ngữ nghĩa vàphân tích cú pháp

- Giai đoạn tổng hợp, còn được gọi là phần cuối: trong đó mã trung

gian được tối ưu hóa và mã đích được tạo Giai đoạn tổng hợp baogồm trình tối ưu mã hóa và trình tạo mã

Các giai đoạn biên dịch

- Trình phân tích từ vựng: Nó quét mã dưới nhóm ký tự, nhóm chuỗi

ký tự thành từ vựng và ra chuỗi mã thông báo có tham chiếu đến ngônngữ lập trình

- Trình phân tích cú pháp: Trong giai đoạn này, các mã thông báo

được tạo trong giai đạn trước được kiểm tra theo ngữ pháp của ngônngữ lập trình, cho dù các biểu thức có đúng về mặt cú pháp hay không

- Trình phân tích ngữ nghĩa: Nó xác minh xem các biểu thức và câu

lệnh được tạo trong giai đoạn trước có tuân theo quy tắc của ngôn ngữlập trình hay không và nó tạo ra các cây phân tích chú thích

- Trình tạo mã trung gian: Nó tạo ra một mã trung gian tương đương

với mã nguồn Có nhiều cách trình bày mã trung gian, nhưng TAC (mãđịa chỉ ba) được sử dụng rộng rãi nhất

TAC (mã địa chỉ ba) là một biểu thức được biên dịch sử dụng như mộtcông cụ để hiệu chỉnh lại mã nguồn Mỗi mã địa chỉ ba được cấu thành

từ bốn phần tử: toán tử, toán hạng 1, toán hạng 2, và kết quả

Mỗi câu lệnh có một dạng chung như sau: x:= y (op) z (Với x, y, z làcác biến, các hằng hoặc biến trung gian được tạo bởi trình biên dịch;

op là toán tử đại số, hoặc các toán tử logic như AND, OR)

Trang 16

Một biểu thức có nhiều đơn một phép toán cơ bản sẽ được chia nhỏ đểđưa về dạng mã địa chỉ ba Ví dụ phép toán p:= x + y * z sẽ đượcchuyển thành:

 t1:= y * z

 p:= x + t1

- Trình tối ưu hóa mã: Nó cải thiện yêu cầu về thời gian và không gian

cuaur chương trình Để làm như vậy, nó loại bỏ mã dự phòng có trongchương trình

- Trình tạo mã: Đây là giai đoạn cuối cùng của trình biên dịch, trong

đó mã đích cho một máy cụ thể được tạo Nó thực hiện các hoạt độngnhư quản lý bộ nhớ, gán đăng ký và tối ưu hóa cụ thể cho máy

Hình 4: Các giai đoạn biên dịch

Symbol Table: Nó là một cấu trúc dữ liệu quản lý các mã định danh

cùng với loại dữ liệu có liên quan mà nó đang lưu trữ Trình xử lý lỗi pháthiện, báo cáo, sửa các lỗi gặp phải giữa các giai đoạn khác nhau của trìnhbiên dịch

Trang 17

c So sánh

Đây là bảng so sánh giữa trình biên dịch và trình thông dịch

Tiêu chí Trình biên dịch Trình thông dịch

Đầu vào Toàn bộ chương trình Chỉ một dòng codeĐầu ra Mã đối tượng trung gian Không tạo ra bất kỳ mã

đối tượng trung gian nào

Cơ chế hoạt

động Việc biên dịch sẽ phải hoànthành trước khi thực thi Việc biên dịch và thực thisẽ là đồng thờiTốc độ Nhanh hoăn Chậm hơn

Bộ nhớ Yêu cầu bộ nhớ nhiều hơn

do việc tạo mã đối tượng

Nó đòi hỏi ít bộ nhớ hơn

vì nó không tạo mã trung

gianErors Hiển thị tất cả các lỗi sau khi

biên dịch

Hiển thị lỗi của từng dòng

mộtPhát hiện error Rất khó khăn Tương đối dễCác ngôn ngữ

lập trình C, C++, C#, Scala,TypeScript PHP, Perl, Python, Ruby

Bảng 1: Bảng so sánh trình biên dịch và trình thông dịch

d Xây dựng

Để xây dựng được trình dịch ta cần xác định được ngôn ngữ lập trình của mình sẽ dùng loại trình dịch nào, là trình thông dịch hay trình biên dịch ngôn ngữ dùng để xây dựng, có thể sử dụng bất kỳ ngôn ngữ lập trình nào

2.5 Ngôn ngữ lập trình Python

Hình 5: Ngôn ngữ lập trình python

Python là một ngôn ngữ lập trình bậc cao cho các mục đích lập trình đa năng,

do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991 Python được thiết

kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hìnhthức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấutrúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tốithiểu

Trang 18

Chương 3 Phân tích thiết kế hệ thống 3.1 Thiết kế ngôn ngữ

3.1.1 Ngữ pháp

Hình 6: Ngữ pháp

Trang 19

- Statements: là các câu lệnh, các câu lệnh thì có thể chứa các câu lệnh khác và ký tự xuống dòng

- Statement: là dòng lệnh đơn, có thể là các lệnh như break, return hoặc các biểu thức

- Expr (expression): là biểu thức, có thể là khai báo biến, hoặc là biểuthức so sánh

- Comp-expr (compare expression): là biểu thức so sánh, có thể chứa thêm biểu thức số học

- Arith-expr (arithmetic expression): là biểu thức số học cộng, trừ

- Term: là nhân chia giữa các factor

- Factor: là các biểu thức cộng trừ với các factor khác, hoặc là power

- Power: là gọi chức năng tính số mũ

- Call: gọi hàm

- Atom: các loại hàm có sẵn, hoặc tên hàm

- List-expr: định nghĩa kiểu dữ liệu list

- If-expre: định nghĩa lệnh rẽ nhánh

- If-expr-b: định nghĩa lệnh elif

- If-expr-c: định nghĩa lệnh else

- For-expr: định nghĩa vòng lặp for

- While-expr: định nghĩa vòng lặp while

- Func-def: định nghĩa cách tạo hàm

Hình 7: Expr, term, factor

3.1.2 Cú pháp

- Khai báo biến: VAR <tên biến> giá trị

Tên biến chỉ bao gồm chữ cái, chữ số và dấu gạch dưới, dấu gạch dưới và chữ

số không thể đứng đầu

- Câu lệnh rẽ nhánh If

+ IF <điều kiện> THEN <công việc>

+ IF <điều kiện> THEN

ELIF <điều kiện> THEN

<công việc>

Ngày đăng: 27/11/2021, 08:44

HÌNH ẢNH LIÊN QUAN

Hình 1: Ngôn ngữ lập trình là gì? - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 1 Ngôn ngữ lập trình là gì? (Trang 11)
Hình 2: Xây dựng ngữ pháp - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 2 Xây dựng ngữ pháp (Trang 13)
Hình 3: Trình biên dịch - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 3 Trình biên dịch (Trang 15)
Hình 4: Các giai đoạn biên dịch - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 4 Các giai đoạn biên dịch (Trang 16)
Bảng 1: Bảng so sánh trình biên dịch và trình thông dịch d. Xây dựng - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Bảng 1 Bảng so sánh trình biên dịch và trình thông dịch d. Xây dựng (Trang 17)
Hình 6: Ngữ pháp - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 6 Ngữ pháp (Trang 18)
Hình 7: Expr, term, factor - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 7 Expr, term, factor (Trang 19)
Hình 8: Lexer - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 8 Lexer (Trang 21)
Hình 10: Parser - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 10 Parser (Trang 23)
Hình 11: Interpreter - ĐỒ ÁN CƠ SỞ 5 ĐỀ TÀI: XÂY DỰNG NGÔN NGỮ LẬP TRÌNH ĐƠN GIẢN. TS. VÕ NGỌC ĐẠT
Hình 11 Interpreter (Trang 24)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w