Tôi đang tìm kiếm một IDL-like (hoặc bất kỳ) dịch mà biến một định nghĩa tài liệu dom- hoặc JSON như vào các lớp học màTrình phân tích cú pháp giống IDL biến một định nghĩa tài liệu thành các lớp mạnh mẽ?
- có thể truy cập từ cả C++ và Python, trong cùng một ứng dụng
- phơi bày các thuộc tính của tài liệu dưới dạng ints, float, strings, blobs nhị phân và các hợp chất: mảng, chuỗi dict (cả hai có thể lồng được) (về cơ bản là tính năng loại JSON)
- cho phép thay đổi được theo dõi để làm mới giao diện người dùng chỉnh sửa
- cung cấp lịch sử thay đổi để bật các hoạt động hoàn tác/làm lại
- có thể được tuần tự hóa và từ JSON (cũng có thể là một dạng định dạng nhị phân)
- cho phép giữ khối dữ liệu lớn trên đĩa, với các phần chỉ được tải theo yêu cầu
- cung cấp đọc/ghi an toàn không chặn quyền truy cập vào dữ liệu trao đổi với chủ đề thời gian thực
- phép nhiều biên tập viên trong các quá trình khác nhau (hoặc thậm chí trên các máy khác nhau) để xem và chỉnh sửa các tài liệu
điều mà đến gần nhất cho đến nay là Blender 2.5 DNA/hệ thống RNA , nhưng nó không có sẵn như là một thư viện riêng biệt, và được ghi lại tài liệu.
Tôi hầu hết đều cố gắng đảm bảo rằng một thư viện như vậy chưa tồn tại, vì vậy tôi biết thời gian của mình không bị lãng phí khi tôi bắt đầu thiết kế và viết một thứ như vậy. Nó được cho là cung cấp một nền tảng tuyệt vời để viết các thành phần chỉnh sửa giao diện người dùng.
Thông tin bổ sung, một vài tháng sau khi đặt câu hỏi này: Tôi đã phát triển giải pháp của riêng mình cho vấn đề nằm phía trên câu hỏi.Dưới đây là tóm tắt dự án: "Datenwerk là thư viện C được cấp phép của MIT cho GNU/Linux và Windows nhằm cung cấp API dữ liệu/mô hình cho các ứng dụng yêu cầu kiểu mô hình/xem/bộ điều khiển. , đồ họa vector, cảnh, biên tập video và trò chơi. Bindings for Python được bao gồm. ". Dự án được đặt tại bitbucket.org/paniq/datenwerk – paniq