01/10/2018, 15:31

Thiết kế một trình biên dịch

Thiết kế một trình biên dịch cho phép dịch một đoạn chương trình viết bằng ngôn ngữ C sang mã máy”.
Đoạn chương trình gồm các phát biểu:

  • Cấu trúc switch…case
  • Phép gán.
  • Các toán tử +, -, *, /, so sánh.
    Các toán hạng gồm định danh, hằng số thực, hằng số nguyên, true, false, biểu thức.

A/C nào có thể quăng cho e tài liệu làm được cái đề này ko ạ. !!! code thì e code được chứ thiết kế trình biên dịch sao mông lung quá !!! không biết hướng làm luôn. chỉ e hướng làm thôi cũng được

cám ơn Mọi Người

Hung viết 17:36 ngày 01/10/2018

Xem sách này nè

amazon.com

Compilers: Principles, Techniques and Tools

Compilers: Principles, Techniques and Tools, known to professors, students, and developers worldwide as the "Dragon Book," is available in a new edition.  Every chapter has been completely revised to ...

2.0 out of 5 stars,

明玉 viết 17:45 ngày 01/10/2018

Đọc sách rồng thì hơi bị lâu đấy
Nếu chỉ làm Interpreter thôi thì bạn nghiên cứu lexer và parser thôi là đủ rồi. (Trước giờ có bộ đôi kinh điển là flex và bison để tự sinh code trình dịch, nhưng 2 cái này dùng lập trình thủ tục khá khí chịu, bạn có thể tìm tool khác)
Tham khảo 3 bài cực hay:

YinYang's Programing Blog – 14 Mar 11

A stack-based programming language: Cat

Ngôn ngữ lập trình stack-based (hay stack-oriented) là loại ngôn ngữ sử dụng stack để thực hiện các thao tác và tính toán. Một ví dụ cụ thể mà bạn có thể tìm thấy trong blog này là ngôn ngữ MSIL (C…


YinYang's Programing Blog – 15 Mar 11

Viết trình thông dịch stack-based đơn giản bằng C#

Trong bài viết trước tôi có giới thiệu sơ lược về ngôn ngữ lập trình Cat. Đây là một ngôn ngữ lập trình stack-based và chỉ hỗ trợ thông dịch. Việc hiện thực ngôn ngữ này không quá phức tạp tuy nhiê…


YinYang's Programing Blog – 2 Apr 11

C# – Chuyển chuỗi biểu thức thành Expression Tree

ExpressionTree trong .Net là kĩ thuật rất hiệu quả để tính giá trị các biểu thức toán học. Tuy nhiên như trong bài Cơ bản về Expression Tree (C#) bạn cũng thấy là API này không cho phép ta parse mộ…

viết 17:41 ngày 01/10/2018

LLVM is your friend.

GitBook

LLVM: Implementing a Language · GitBook (Legacy)

llvm-implementing-a-language: Port of web tutorial at http://llvm.org/docs/tutorial/index.html

Bài liên quan
0