Cách tạo ngôn ngữ lập trình

Tác Giả: Peter Berry
Ngày Sáng TạO: 19 Lang L: none (month-012) 2021
CậP NhậT Ngày Tháng: 6 Có Thể 2024
Anonim
Cách tạo ngôn ngữ lập trình - Làm Thế Nào Để
Cách tạo ngôn ngữ lập trình - Làm Thế Nào Để

NộI Dung

là một wiki, có nghĩa là nhiều bài viết được viết bởi một số tác giả. Để tạo ra bài viết này, 27 người, một số ẩn danh, đã tham gia vào phiên bản của nó và cải thiện theo thời gian.

Nhiều cá nhân gặp khó khăn và thất vọng vì ngôn ngữ lập trình họ sử dụng hàng ngày. Một số người muốn mọi thứ trừu tượng hơn, những người khác ghét thực hiện các tính năng mà họ nghĩ nên là tiêu chuẩn. Cho dù bạn là một chuyên gia máy tính hay nghiệp dư, bạn có thể đã nói rằng việc phát minh ngôn ngữ lập trình của riêng bạn sẽ thực tế hơn nhiều.


giai đoạn



  1. Làm quen với công nghệ. Bạn không thể tạo ngôn ngữ lập trình nếu bạn không biết cách sử dụng máy tính.


  2. Tìm hiểu về thuật ngữ. Trình biên dịch trình biên dịch thường có biệt ngữ mà bạn không quen thuộc. Tìm hiểu về trình biên dịch trước khi tiếp tục. Hãy chắc chắn rằng bạn biết tất cả mọi thứ cần biết.


  3. Quyết định giải quyết vấn đề. Bạn sẽ giải quyết một vấn đề cụ thể cho lĩnh vực của bạn hay bạn sẽ tạo ra một ngôn ngữ chung?



  4. Hãy nghĩ về ngữ nghĩa. Cũng nghĩ về các khái niệm ngôn ngữ của bạn.
    • Bạn sẽ cho phép truy cập trực tiếp vào con trỏ hay không?
    • Những loại dữ liệu nào nó sẽ sử dụng (nếu gõ)?
    • Nó sẽ là một ngôn ngữ tĩnh hay động?
    • Điều gì sẽ là mô hình bộ nhớ của anh ấy? Bạn sẽ sử dụng một trình thu gom rác hoặc quản lý bộ nhớ thủ công? Nếu bạn đang sử dụng trình thu gom rác, hãy chuẩn bị mã một hoặc điều chỉnh một ngôn ngữ cho ngôn ngữ của bạn.
    • Làm thế nào bạn sẽ quản lý cuộc thi? Bạn sẽ sử dụng một mô hình nhiệm vụ đơn giản hoặc một cái gì đó phức tạp hơn như Linda hoặc mô hình diễn viên, vì ngày nay máy tính có một vài trái tim?
    • Các chức năng nguyên thủy sẽ được tích hợp vào ngôn ngữ hay bạn muốn nhập chúng từ thư viện?
    • Các mô hình của ngôn ngữ là gì? Chức năng, hướng đối tượng, nguyên mẫu (như JavaScript), hướng theo khía cạnh, hướng mô hình hoặc một cái gì đó hoàn toàn mới?
    • Ngôn ngữ của bạn sẽ giao tiếp với các thư viện và ngôn ngữ hiện tại (chủ yếu là C) như thế nào? Điều này rất quan trọng nếu bạn đang tạo một ngôn ngữ dành riêng cho tên miền.
    • Cuối cùng, một số câu hỏi này sẽ được trả lời trong bước thứ hai và sẽ giúp bạn trả lời bước tiếp theo.



  5. Hãy suy nghĩ về các nhiệm vụ khác nhau. Nếu ai đó sử dụng ngôn ngữ của bạn, họ muốn thực hiện những nhiệm vụ nào? Ví dụ, anh ta có thể muốn hướng một robot đi theo một dòng, anh ta có thể muốn tạo các chương trình máy tính cầm tay hoặc các ứng dụng web trong chương trình.


  6. Hãy thử các ý tưởng cú pháp khác nhau. Sử dụng các ví dụ trên để kiểm tra.
    • Hãy cẩn thận để giữ ngôn ngữ của bạn trong danh mục ngôn ngữ không có hình nón hoặc trong danh mục con. Bạn và nhà phân tích sẽ biết ơn bạn sau này.


  7. Viết ngữ pháp cho cú pháp.


  8. Chọn giữa một ngôn ngữ được giải thích hoặc biên dịch. Nếu được giải thích, người dùng thường có thể chỉnh sửa mã trong một chương trình và chạy nó trực tiếp trên trình thông dịch. Nếu nó được biên dịch, người dùng sẽ viết mã, biên dịch nó, lưu nó theo một định dạng nhất định trước khi khởi chạy nó.


  9. Viết máy quét và máy phân tích frontend. Bạn cũng có thể tìm thấy một công cụ để giúp bạn.
    • Cũng nghĩ về cách trình biên dịch sẽ cảnh báo người dùng về các chương trình giả mạo và lỗi cú pháp.


  10. Viết mã. Sử dụng thông tin máy phân tích để viết mã đối tượng hoặc biểu diễn trung gian. Yêu cầu bộ phân tích tạo một cây cú pháp trừu tượng, sau đó tạo mã đối tượng từ cây đó bằng mã địa chỉ hoặc SSA anh em của nó trước khi tạo bảng biểu tượng để xác định hàm, biến toàn cục, v.v.
    • Ngoài ra, tùy thuộc vào ngôn ngữ của bạn, bạn có thể muốn tạo các bảng con trỏ ảo hoặc bảng thông tin cho các lớp của mình (để hỗ trợ RTTI).


  11. Mã thứ tự. Đây là chương trình sẽ liên kết tất cả các mã.


  12. Kiểm tra ngôn ngữ của bạn với các chương trình kiểm tra.
    • Bạn cần tạo các chương trình kiểm tra tập trung vào ngữ pháp chính thức của ngôn ngữ để xem trình biên dịch có chấp nhận mọi thứ trong định nghĩa của bạn hay không và từ chối mọi thứ khác.


  13. Hãy suy nghĩ về gỡ lỗi.


  14. Viết thư viện chuẩn. Nếu ngôn ngữ của bạn sử dụng một thư viện tiêu chuẩn, bạn nên viết nó ngoài bộ thu gom rác và các thuộc tính khác mà bạn cần.
    • Trong thực tế, nếu bạn mã hóa trình biên dịch, bạn sẽ cần một mã mà hệ điều hành sẽ thực thi để bắt đầu ném mã người dùng (ví dụ: phân bổ tất cả các biến toàn cục).


  15. Xuất bản ngôn ngữ của bạn. Xuất bản ngôn ngữ của bạn cùng với thông số kỹ thuật và mẫu mã mà bạn đã tạo.
    • Đừng quên chỉ ra cách có thể tích hợp các thư viện hiện có và sử dụng các thuộc tính thời gian chạy hoặc thư viện chuẩn.
  • Kiên nhẫn
  • Kiến thức về các thuộc tính của ngôn ngữ lập trình và thiết kế của chúng
  • Kiến thức về lý thuyết trình biên dịch (vì bạn sẽ viết mã trình biên dịch hoặc trình thông dịch cho ngôn ngữ của mình và việc triển khai của bạn sẽ phục vụ như một tài liệu tham khảo)
  • Sử dụng cho ngôn ngữ của bạn (đừng quên rằng một số ngôn ngữ được sử dụng nhiều nhất như C hoặc LISP đã được tạo để làm một cái gì đó cụ thể, ví dụ để tạo Unix hoặc tính toán biểu tượng)

là một wiki, có nghĩa là nhiều bài viết được viết bởi một ố tác giả. Để tạo ra bài viết này, 88 người, một ố người ẩn danh, đã tham gia vào phiên bản...

Trong bài viết này: Cài đặt Audacity và LAMEC Chuyển đổi tệp âm thanh thành MP3 Phần mềm Audacity là một chương trình âm nhạc hỗ trợ máy tính. Mi...

Bài ViếT HấP DẫN