2009-10-13 24 views
8

Có ai biết khóa học trực tuyến/khóa học đại học bao gồm một khóa học trình biên dịch điển hình không? Tôi đã có lý thuyết về tính toán nhưng tiếc là trường của tôi đã không cung cấp một khóa học trong xây dựng trình biên dịch.các khóa học biên dịch tự học/sách trình biên dịch giới thiệu tốt?

Tôi biết có những bài giảng ngoài đó; Tôi đã hy vọng cho các khuyến nghị cho các dịch vụ đặc biệt tốt.

Ngoài ra, có sách dành cho người mới đến lĩnh vực này không? Một cái gì đó bên cạnh cuốn sách rồng, ít nhất. Cấp độ mới bắt đầu là tốt, tôi biết có rất nhiều văn bản trung cấp tiên tiến trên thị trường.

Cảm ơn!

+1

Duplicate (nhiều lần hơn) http://stackoverflow.com/questions/1669/learning -to-write-a-compiler và những người khác – cletus

+0

Tôi chưa bao giờ thấy một lời giải thích tốt hơn về biên dịch hơn trong cuốn sách Dragon. Bạn có thể làm tồi tệ hơn là kiên trì với nó. –

+1

Tôi không đồng ý. Tôi nghĩ rằng trình biên dịch hiện đại trong {ML, Java, C} của Andrew Appel tốt hơn cuốn sách Dragon. Cuốn sách rồng là tốt như một tài liệu tham khảo, nhưng tôi nghĩ rằng nếu bạn đang tìm kiếm hoàn toàn tự định hướng học tập, hiện đại Compiler thực hiện là một công việc hoàn chỉnh hơn và mạch lạc. – Gian

Trả lời

8

Sửa: trong trường hợp này SO câu hỏi không nhận được khép kín, đừng kiểm tra duplicate SO posting này mà trả lời câu hỏi một cách đầy đủ nhiều hơn.

Một vài ressources trên trang web OpenCourseWare của MIT:

6.035 Computer Language Engineering
6.827 Multithreaded Parallelism: Languages and Compilers

Cựu lẽ dọc theo dòng về những gì bạn có trong tâm trí. Nó cũng bao gồm một số video của bài giảng.
Thứ hai ... tích cực là một khóa học cấp sau đại học. Ngoài ra tập trung nhiều hơn vào đa luồng hơn so với chuỗi biên dịch truyền thống. (Nhưng sau đó một lần nữa để chunk code chủ hiệu quả phải có một nắm bắt phong nha của ngữ nghĩa thể hiện trong chương trình ban đầu ...)

+0

Có ai đó có câu trả lời từ bài đăng trùng lặp SO đó không? Nó đã bị xóa do lý do kiểm duyệt. – TravisG

5

Bạn có thể kiểm tra khóa học này: http://ecee.colorado.edu/ecen4553

Thông tin khóa học ngôn ngữ lập trình

cao cấp như Python làm cho lập trình dễ dàng, nhưng làm thế nào để họ làm việc? Có một khoảng cách lớn giữa máy Python và máy hướng dẫn dành cho máy tính hiện đại. Tìm hiểu cách dịch các chương trình Python tất cả các cách để lắp ráp Intel x86 ngôn ngữ.

Hầu hết các khóa trình biên dịch đều dạy một pha của trình biên dịch tại một thời điểm, chẳng hạn như phân tích cú pháp, phân tích ngữ nghĩa và phân bổ đăng ký . Vấn đề với cách tiếp cận đó là khó khăn để hiểu cách toàn bộ trình biên dịch phù hợp với nhau và tại sao mỗi giai đoạn là được thiết kế theo cách của nó. Thay vào đó, mỗi tuần, chúng tôi triển khai một tập hợp con của ngôn ngữ Python liên tục . Tập hợp con đầu tiên là một ngôn ngữ nhỏ xíu của các câu lệnh số học và khi chúng tôi hoàn thành ngôn ngữ bao gồm các đối tượng, thừa kế và các chức năng hạng nhất.

Điều kiện tiên quyết: Lưu loát ở ít nhất một ngôn ngữ lập trình (Java, C, C++, Python, v.v.). Sinh viên sẽ làm rất nhiều lập trình bằng Python, nhưng trước tiên không cần phải có kiến ​​thức về Python. Khóa học sẽ bắt đầu với khóa học về sự cố về Python và Python là một trong số các ngôn ngữ dễ nhất để tìm hiểu. Trước khi kiến ​​thức về ngôn ngữ lắp ráp giúp, nhưng không bắt buộc.

+0

Cảm ơn bạn đã liên kết. Tôi sẽ phải xem liệu anh ấy có thông tin khóa học trực tuyến nhiều hơn trang web cho biết-- có vẻ như rất nhiều tài liệu giảng dạy không ở đó hoặc bị ẩn khỏi chế độ xem công khai. – larryq

+0

Liên kết mới: http://ecee.colorado.edu/ecen4553/fall10/ – prasopes

+1

@prasopes, cảm ơn. Tôi đã thêm một liên kết không có năm, vì nó có thể bị phá vỡ trong tương lai. –

Các vấn đề liên quan