Xin chào Tôi đang cố triển khai trình phân tích cú pháp cho một ngôn ngữ đơn giản với ngữ pháp như thế này.Thực hiện phân tích cú pháp
program ::= "program" declarations "begin" statements "end"
declaration ::= "var" ident "as" type
type ::= "string" | "int"
Tôi đã thực hiện hai bước đầu tiên, làm cách nào để viết ngữ pháp loại?
program(prog(DECLS, STATS)) -->
[ 'program' ], declarations(DECLS),
[ 'begin' ], statements(STATS), [ 'end' ].
declaration(decl(IDENT, TYPE)) -->
[ 'var' ], ident(IDENT), [ 'as' ], type(TYPE).
khi tôi thay đổi ngữ pháp với các quy tắc trên, tôi sẽ sử dụng SICStus để kiểm tra .. Tôi chỉ đang chỉnh sửa ngữ pháp wordpad với một tập tin .sp – user1794576
xin lỗi có trong prolog – user1794576