Có ai biết nơi tôi có thể nhận BNF hoặc EBNF cho ngôn ngữ lập trình LOGO không?EBNF hoặc BNF cho ngôn ngữ lập trình LOGO
Trả lời
Một BNF ngữ pháp có thể không được quá hữu ích trong một số trường hợp ...
Viết một LOGO đó là tương thích một cách chính xác với thực hiện/lịch sử không phải là một nhiệm vụ dễ dàng (tôi đã làm việc trên một dự án như vậy). Vấn đề là trình phân tích cú pháp không thực hiện công việc đầy đủ và bộ đánh giá (trình thông dịch) phải làm việc với dữ liệu một phần. Hãy xem xét ví dụ sau:
proc1 ab proc2 c
Nó có thể có nghĩa proc1 (a, b, proc2 (c)) hoặc proc1 (a, b, proc2(), c) theo số lượng thông số cho proc1 & proc2. Ngoài các thông dịch viên LOGO tôi biết, ví dụ như Berkely LOGO, có vẻ từ một cái nhìn lướt qua không phải để viết một trình phân tích cú pháp truyền thống mà bổ sung có quyền truy cập vào từng thủ tục và tính chất của nó; thay vào đó họ chạy các thủ tục và các thủ tục 'ăn hết' số tham số mà họ cần. Điều này làm cho trình phân tích cú pháp một chút ngây thơ và vai trò chính là của một thông dịch viên, và do đó phân tích cú pháp là loại bất thường.
Vì vậy, bạn có nói rằng không thể có ngữ pháp cho ngôn ngữ rõ ràng không? –
Vâng, tôi nghĩ rằng không có ngữ pháp như vậy tồn tại (bất kể mơ hồ) trừ khi đó là một ngữ pháp ngây thơ phân tích chuỗi lệnh chủ yếu như-là, và chỉ giải quyết các toán tử infix và giống như –
Phải, một trình phân tích cú pháp ngây thơ sẽ phân tích cú pháp theo ngữ pháp , nhưng nó sẽ không hiểu được * arity * của các hàm dựng sẵn. Dường như trong khi phân tích cú pháp, người ta sẽ cần phải tra cứu * arity * của hàm trước khi quyết định cách phân tích các mã thông báo thành công. Nó cũng có ý nghĩa hơn khi bạn nói, để "phân tích khi bạn đi". –
Không có triển khai LOGO chuẩn.
Cuộc gọi của bạn tốt nhất có lẽ là để nhìn vào nguồn gốc của việc thực hiện phổ biến, chẳng hạn như UCBLogo
- 1. Ngôn ngữ lập trình PHP hoặc ngôn ngữ lập trình?
- 2. Chuyển đổi EBNF sang BNF
- 3. Tôi có thể tìm ngữ pháp BNF hoặc YACC chuẩn cho ngôn ngữ C++ ở đâu?
- 4. BNF vs EBNF so với ABNF: lựa chọn nào?
- 5. Trạng thái hiện tại của LOGO là gì? (Ngôn ngữ lập trình)
- 6. UML cho ngôn ngữ lập trình C
- 7. Ngôn ngữ lập trình Siri
- 8. C# Ngôn ngữ lập trình
- 9. Dịch mã byte Java sang các ngôn ngữ lập trình và ngôn ngữ lập trình khác
- 10. Ngôn ngữ lập trình để tạo DLL: C++ hoặc C#
- 11. Định nghĩa ngữ pháp EBNF cho PHP?
- 12. Các ngôn ngữ thay thế cho lập trình được nhúng
- 13. ngôn ngữ lập trình không xác định
- 14. Ngôn ngữ lập trình bí ẩn
- 15. Lời khuyên cho ngôn ngữ lập trình khai thác grokking?
- 16. Windows: Ngôn ngữ lập trình nào?
- 17. Ngôn ngữ lập trình nền tảng
- 18. Đặt ngôn ngữ Wordpress theo lập trình?
- 19. Cách tạo ngôn ngữ lập trình .Net?
- 20. gVim và nhiều ngôn ngữ lập trình
- 21. Tạo ngôn ngữ lập trình với C#
- 22. Ngôn ngữ lập trình đã nhập
- 23. Ứng dụng cho Ngôn ngữ lập trình của Giáo hội
- 24. Ngôn ngữ lập trình web cho danh sách rất lớn?
- 25. Ngôn ngữ lập trình ô tô
- 26. Mảng trong ngôn ngữ lập trình J
- 27. POSIX sh Ngữ pháp EBNF
- 28. Ngôn ngữ nào tốt hơn cho lập trình mục đích chung, F # hoặc Haskell?
- 29. Tôi nên chọn ngôn ngữ lập trình chức năng nào làm ngôn ngữ lập trình hàm đầu tiên?
- 30. Ngôn ngữ lập trình nào có trình biên dịch JIT?
Không chắc đã bình chọn, đóng này như off-topic. "Ngôn ngữ lập trình" ngay cả trong tiêu đề ... –
Nó xuất hiện này được thực hiện theo cách của mình để Reddit, tôi đang bảo vệ này cho bây giờ (sẽ không được bảo vệ trong một vài ngày). Nó không phải là một vấn đề, _yet_, chỉ là một biện pháp phòng ngừa. –
@Tim Post Điều này đã làm cho nó trở thành subreddit lập trình reddit, tôi không thấy làm thế nào đây là nguyên nhân cho báo động. Thậm chí có thể là cơ hội tốt để thu hút người dùng mới không? – ArtB