Biên dịch là gì trong Pascal

khái niệm thông dịch và biên dịch

thông dịch[interpreter] dịch từng lệnh 1 thông qua chương trình ta gọi là trình thông dịch[interpreter] lần sau chạy lại thì phải trình thông dịch lại. file
Biên dịch[compiler] dịch toàn bộ thông qua chương trình ta gọi là trình biên dịch[compiler], dịch 1 lần và sử dụng mãi mãi không cần biên dịch nữa.
lấy ví dụ thực tế:
[interpreter] giống như thông dịch viên . doanh nhân Việt Nam đi làm ăn đối tác nước ngoài cần người thông dịch viên và lần sau vẫn cần có người thông dịch viên.
[compiler] giống như nhà biên dịch dịch cuốn sách tiếng anh sang tiếng việt chỉ dịch 1 lần nhưng có thể in bán ra hàng ngàn cuốn.


nguyenduc_gia.18[I11c]
Tổng số bài gửi : 22
Join date : 07/09/2011

LikeDislike

    1. Một số khái niệm

    - Lập trình:Là việc sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.

    - Ngôn ngữ lập trình:Là ngôn ngữ dung để diễn tả thuật toán sao cho máy tính hiểu và thực hiện được.Bao gồm:

    + Ngôn ngữ máy:Chương trình viết bằng ngôn ngữ máy có thể nạp trự tiếp vào bố nhớ và thực hiện ngay

    + Hợp ngữ:Dùng các thuật nhớ than thiện để viết chương trình thay cho cách lập trình trực tiếp bằng mã máy

    + Ngôn ngữ lập trình bậc cao:Chương trình viết trên ngôn ngữ lập trình bậc cao phải chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.

    Mục lục

    • 1 Dẫn nhập
    • 2 Lịch sử
    • 3 Các kiểu trình biên dịch
      • 3.1 Trình biên dịch cùng bản và trình biên dịch chéo bản
      • 3.2 Số bước chuyển dịch
      • 3.3 Các đặc tính khác
    • 4 So sánh với phần mềm thông dịch
    • 5 Thiết kế trình biên dịch
    • 6 Mặt ngoài của trình biên dịch
    • 7 Mặt trong của trình biên dịch
    • 8 Tham khảo
    • 9 Xem thêm
    • 10 Liên kết ngoài

    Mục lục

    • 1 Lịch sử
      • 1.1 Những nỗ lực ban đầu
      • 1.2 Pascal
      • 1.3 Object Pascal?
    • 2 Mô tả ngắn gọn
    • 3 Triển khai
      • 3.1 Trình biên dịch Pascal ban đầu
      • 3.2 Hệ thống Pascal-P
      • 3.3 Object Pascal
      • 3.4 Turbo Pascal
      • 3.5 Các biến thể khác
    • 4 Chuẩn hóa
      • 4.1 ISO/IEC 7185: 1990 Pascal
      • 4.2 ISO/IEC 10206: Mở rộng Pascal 1990
        • 4.2.1 Biến thể
        • 4.2.2 Các trình biên dịch Pascal giống như Borland
        • 4.2.3 Danh sách các tiêu chuẩn liên quan
    • 5 Đặc điểm
      • 5.1 Dễ học, dễ đọc
      • 5.2 Trình bày
    • 6 Kiểu dữ liệu
      • 6.1 Các kiểu số nguyên
      • 6.2 Các kiểu số thực
      • 6.3 Kiểu chữ
      • 6.4 Phương pháp khai báo biến
    • 7 Các câu lệnh
      • 7.1 SYSTEM
      • 7.2 Thư viện Unit CRT
      • 7.3 Unit GRAPH
      • 7.4 Unit DOS
    • 8 Các trình biên dịch phổ biến
      • 8.1 Trình biên dịch
      • 8.2 IDE
      • 8.3 Libraries
    • 9 Những phê phán trước đây
    • 10 Đọc thêm
    • 11 Xem thêm
    • 12 Chú thích
    • 13 Liên kết ngoài

    Lịch sửSửa đổi

    Những nỗ lực ban đầuSửa đổi

    Phần lớn lịch sử của thiết kế ngôn ngữ máy tính trong những năm 1960 là ngôn ngữ ALGOL 60. ALGOL được phát triển trong những năm 1950 với mục tiêu rõ ràng để có thể mô tả rõ ràng các thuật toán. Nó bao gồm một số tính năng cho lập trình có cấu trúc vẫn còn phổ biến trong các ngôn ngữ cho đến ngày nay.

    Ngay sau khi được giới thiệu, vào năm 1962, Wirth bắt đầu nghiên cứu luận án của mình với Helmut Weber về ngôn ngữ lập trình Euler. Euler được dựa trên cú pháp của ALGOL. Mục tiêu chính của nó là thêm các danh sách và kiểu động, cho phép nó được sử dụng trong các vai trò tương tự như Lisp. Ngôn ngữ được xuất bản vào năm 1965.

    Vào thời gian này, một số vấn đề của ALGOL đã được xác định, đặc biệt là thiếu một hệ thống chuỗi tiêu chuẩn hóa. Nhóm được giao nhiệm vụ duy trì ngôn ngữ đã bắt đầu thực hiện ALGOL X để xác định các cải tiến, kêu gọi đệ trình. Wirth và Tony Hoare đã thêm chuỗi và làm mới một số cú pháp. Các nỗ lực của ALGOL X làm cho ngôn ngữ ngày càng phức tạp hơn ALGOL 68. Sự phức tạp của ngôn ngữ này dẫn đến khó khăn đáng kể trong việc tạo ra các trình biên dịch hiệu suất cao, và nó không được sử dụng rộng rãi trong ngành. Do đó, Wirth đã viết một trình biên dịch cho ngôn ngữ máy tính, được gọi là ALGOL W.

    PascalSửa đổi

    Pascal là thành quả bởi những nỗ lực về ALGOL W, với mục tiêu rõ ràng là tạo ra một ngôn ngữ có hiệu quả cả trong trình biên dịch và thời gian chạy, cho phép phát triển các chương trình có cấu trúc tốt và hữu ích cho việc dạy học sinh lập trình có cấu trúc. Một thế hệ sinh viên đã sử dụng Pascal như một ngôn ngữ vỡ lòng trong các chương trình học đại cương.

    Một trong những thành công ban đầu cho ngôn ngữ là việc giới thiệu UCSD Pascal, một phiên bản chạy trên một hệ điều hành tùy chỉnh có thể được chuyển sang các nền tảng khác nhau. Một nền tảng quan trọng đó là Apple II, nơi mà nó được sử dụng rộng rãi. Điều này dẫn đến việc sử dụng Pascal trở thành ngôn ngữ cấp cao chính được sử dụng để phát triển trong Apple Lisa, và sau đó, Macintosh. Các bộ phận của hệ điều hành Macintosh ban đầu được dịch sang ngôn ngữ lắp ráp Motorola 68000 từ các nguồn Pascal.

    Hệ thống sắp xếp chữ TeX của Donald E. Knuth được viết bằng WEB, hệ thống lập trình biết chữ gốc, dựa trên DEC PDP-10 Pascal, trong khi các ứng dụng như Total Commander, Skype và Macromedia Captivate được viết bằng Delphi [Object Pascal]. Apollo Computer đã sử dụng Pascal làm ngôn ngữ lập trình hệ thống cho các hệ điều hành của nó bắt đầu từ năm 1980.

    Các biến thể của Pascal cũng thường được sử dụng cho mọi thứ từ các dự án nghiên cứu tới các trò chơi máy tính cá nhân và các hệ thống nhúng. Các trình biên dịch Pascal mới tồn tại được sử dụng rộng rãi.

    Object Pascal?Sửa đổi

    Trong quá trình làm việc tại Lisa, Larry Tesler bắt đầu thảo luận với Wirth về ý tưởng thêm các phần mở rộng hướng đối tượng vào ngôn ngữ. Điều này dẫn đến việc Clascal được giới thiệu vào năm 1983. Khi chương trình Lisa đã bị mất dần chỗ đứng và được thay thế bởi Mac, một phiên bản tiếp theo được gọi là Object Pascal đã được tạo ra. Điều này đã được giới thiệu trên Macintosh vào năm 1985 như một phần của khung ứng dụng MacApp, và trở thành ngôn ngữ phát triển chính của Apple vào đầu những năm 1990.

    Các phần mở rộng Object Pascal sau đó được bổ sung vào Turbo Pascal, và qua nhiều năm đã trở thành hệ thống Delphi cho Microsoft Windows. Delphi vẫn được sử dụng để phát triển các ứng dụng Windows, nhưng cũng có khả năng biên dịch cùng mã với Mac, iOS, Android và Linux. Một phiên bản đa nền tảng khác được gọi là Free Pascal, với Lazarus IDE, là phổ biến với người dùng Linux vì nó cũng cung cấp viết một lần, biên dịch bất cứ nơi nào. CodeTyphon là một bản phân phối Lazarus với nhiều gói được cài đặt sẵn và các trình biên dịch đa nền tảng.

    Câu 3 trang 13 SGK Tin học 11

    Đề bài

    Biên dịch và thông dịch khác nhau như thế nào?

    Lời giải chi tiết

    Biên dịch và thông dịch khác nhau ở những điểm sau:

    - Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết.

    Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được.

    Loigiaihay.com

    • Câu 4 trang 13 SGK Tin học 11

      Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn?

    • Câu 5 trang 13 SGK Tin học 11

      Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.

    • Câu 6 trang 13 SGK Tin học 11

      Những biểu diễn sau đây không phải là biểu diễn trong Pascal và chỉ rõ lỗi trong từng trường hợp.

    • Câu 2 trang 13 SGK Tin học 11

      Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?

    • Câu 1 trang 13 SGK Tin học 11

      Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?

    • Lý thuyết: Kiểu xâu trang 68 SGK Tin học 11

      Biểu thức gồm các toán hạng là biến xâu, biến kí tự hoặc hằng xâu được gọi là biểu thức xâu.

    Video liên quan

    Chủ Đề