2008-10-05 28 views
28

Tôi cần một cú pháp Object Pascal hoàn chỉnh (tốt nhất là Delphi 2009). Một số cú pháp được đưa ra bởi các tập tin trợ giúp, nhưng không phải tất cả các thông tin đều được cung cấp. Vì vậy, tôi bắt đầu thu thập các bit thông tin. Gần đây tôi đã thêm chúng vào một mô tả cú pháp hoàn chỉnh hơn hoặc ít hơn (giống như EBNF).Tìm kiếm một cú pháp hoàn chỉnh Delphi (đối tượng pascal)

Mặc dù có vẻ rộng rãi, vẫn còn lỗi và tôi chắc chắn các phần bị thiếu (đặc biệt trong cú pháp .NET). Vì vậy, tôi hỏi cộng đồng SO Delphi. Bạn có bất kỳ thông tin nào hoặc bạn có thể sửa lỗi không? Đổi lại tôi cung cấp cú pháp hoàn chỉnh cho cộng đồng. Nó có thể giúp bạn tiết kiệm thời gian ;-). Trong tương lai, tôi thích làm tương tự cho các ngôn ngữ khác (Giống như C#/C++/Java).

Mô tả cú pháp tôi đã có được cung cấp: My Syntax sofar. Hoặc nếu bạn thích một số Text version. (XHTML được tạo từ phiên bản văn bản).

Xin lưu ý rằng cú pháp tập trung vào phần cú pháp, bởi vì phần từ vựng không thực sự là vấn đề.

Cập nhật

Tôi có một phiên bản mới của Delphi Cú pháp. html version. Nó bao gồm các phiên bản bao gồm cả năm 2009. Prism extentions vẫn còn trong danh sách việc cần làm. Và tôi không chắc liệu tôi có giữ chúng lại với nhau hay không.

Đối với những người thuần túy thực sự, nó cũng chứa mã bộ mã hóa đầy đủ (không hỗ trợ đầy đủ 100% bộ intel nhưng chỉ một vài lệnh bị bỏ qua).

+0

Bạn đang cố gắng đạt được điều gì, tức là mục tiêu cuối cùng của bạn là gì? Một ngữ pháp tự nó không hữu ích cho lắm. Có phải máy có thể đọc được không (ví dụ: đối với trình tạo trình phân tích cú pháp)? –

+0

@menjaraz, không, tôi không tìm thấy tài nguyên bổ sung. Nhưng tôi gần như hoàn thành với cú pháp XE2 bằng cách sử dụng bất kỳ thông tin từ các nguồn, trợ giúp, các trang web và thử nghiệm và lỗi. –

+3

Phiên bản 2009 của ngữ pháp Delphi của bạn hiện được sử dụng trong Plugin Sonar Delphi đã được phát hành vào tháng 2 năm 2012, có tại http://docs.codehaus.org/display/SONAR/Delphi+Plugin – mjn

Trả lời

1

Lỗi chính xác và chức năng bạn đang thiếu là gì?

Từ quét qua tài liệu của bạn, có vẻ như bạn trộn lẫn cú pháp và ngữ nghĩa. Tôi không hiểu tại sao phải phân biệt giữa SimpleTypeFloat và SimpleTypeOrdinal ở cấp độ cú pháp, hoặc ưu tiên toán tử mã như tính năng cú pháp trong AddOp và MulOp. true, false, nil là số nhận dạng giống như bất kỳ tên biến nào bạn chọn.

0

Bạn luôn có thể đọc nguồn tới số Free Pascal Compiler. Nó hỗ trợ Object Pascal.

+0

Hoặc chỉ cố gắng chạy trình phân tích cú pháp của bạn trên bộ kiểm tra FPC. Nó có rất nhiều các chương trình ví dụ về các tính năng Obj Pascal "ODD" hơn –

16

Hãy thử điều này: DGrok - Delphi ngữ pháp

+0

Điều này có vẻ như đang được khuyến khích. Thanx! –

+0

Rất đẹp. Delphi 2007 cấp độ. Trình phân tích cú pháp trong C#. Tôi muốn có một ở cấp XE. –

+0

@Warren P: [PasParse] (https://github.com/Turbo87/PasParse) là một cổng DGrok Delphi Thưởng thức ;-) nhưng vẫn Delphi 2007 cấp :-( – menjaraz

3

Không có hoàn chỉnh, công bố cú pháp cho Delphi. Hãy nhớ rằng .net và win32 delphi có các cú pháp khác nhau.

This project đã tạo thủ công trình phân tích cú pháp Delphi trong đó. Và rất nhiều trường hợp kiểm tra mã biên dịch nhưng đẩy các giới hạn của cú pháp.

1

ngữ pháp của Delphi 7 nằm ở mặt sau của cuốn sách Object Pascal.

Bạn có nghĩa là cho một vài nghìn đô la họ thậm chí không gửi cho bạn điều đó? Họ thậm chí có gửi cho bạn một poster 6 'x 6' không?

+0

Không, tôi cũng không có nó. –

2

Đây có thể là trợ giúp tốt. Đây là số parser được sử dụng trong TwoDesk's Castalia.

+0

FPC sử dụng RAD, Lazarus cũng làm nổi bật các trình phân tích cú pháp dựa trên mw * (sau này là synhighlighter) –

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