Có hai phần ngữ nghĩa bạn sẽ cần mô tả:
Ngữ nghĩa tĩnh thường có dạng hệ thống loại. Tôi khuyên bạn nên xem những cuốn sách của Benjamin C Pierce và Robert Harper . Ngoài ra, bạn có thể viết các quy tắc của các chương trình được hình thành tốt dưới dạng tập hợp các câu lệnh (chính thức hoặc không chính thức) mô tả các điều kiện hợp lệ của chương trình của bạn. Cách tiếp cận chính thức được thực hiện bởi các hệ thống loại cung cấp một khung nổi tiếng cho các thông số kỹ thuật như vậy.
Có nhiều hình thức để thể hiện ngữ nghĩa động để xem là cơ sở của bạn:
- ngữ nghĩa học biểu thị --- mang ý nghĩa về mặt ngữ nghĩa
- ngữ nghĩa hoạt động --- mang ý nghĩa về mặt thay đổi đối với trạng thái máy trừu tượng
- ngữ nghĩa tiên đề --- mang ý nghĩa về mặt khẳng định về trạng thái của máy
- ngữ nghĩa đại số --- ngữ nghĩa được định nghĩa theo các định luật đại số.
Có rất nhiều sách về những chủ đề này. Một phần giới thiệu rộng là một phần ngữ nghĩa của Nielson và Nielson với các ứng dụng . Một phiên bản có thể tải xuống có sẵn từ trang web của tác giả . Ngoài ra còn có một phiên bản mới hơn, nhưng tôi chưa thấy nó.
Trong mỗi thứ này, có những lựa chọn để thực hiện. Ví dụ: nếu bạn quyết định sử dụng ngữ nghĩa hoạt động, có ngữ nghĩa bước lớn, ngữ nghĩa bước nhỏ, ngữ nghĩa dựa trên các hệ thống chuyển tiếp được gắn nhãn, ngữ nghĩa dựa trên logic viết lại.
Cách tiếp cận nào bạn nên thực hiện sẽ phụ thuộc vào loại ngôn ngữ DSL của bạn, loại kinh nghiệm bạn có với thiết kế ngữ nghĩa và sở thích cá nhân của bạn.
Không có bất kỳ chi tiết cụ thể, tôi không thể giúp thêm.