2010-03-16 77 views

Trả lời

12

L-attributed grammar

văn phạm tiếng L-do là một loại đặc biệt của văn phạm thuộc tính. Chúng cho phép các thuộc tính được đánh giá trong một sự truyền tải trái sang phải của cây cú pháp trừu tượng. Kết quả là, việc đánh giá thuộc tính trong các ngữ pháp được phân bổ theo L có thể được kết hợp một cách thuận tiện trong phân tích cú pháp từ trên xuống. Nhiều ngôn ngữ lập trình được phân bổ theo L. Các loại trình biên dịch đặc biệt, các trình biên dịch hẹp, được dựa trên một số dạng ngữ pháp do L gán. Đây là những so sánh với các ngữ pháp do S phân bổ. Được sử dụng để tổng hợp mã.

ngữ pháp

S-attributed grammar

S-Được phân phối là một lớp văn phạm thuộc tính đặc trưng bởi không có thuộc tính kế thừa. Các thuộc tính thừa kế, phải được truyền từ nút cha sang nút con của cây cú pháp trừu tượng trong quá trình phân tích ngữ nghĩa của quá trình phân tích cú pháp, là một vấn đề cho phân tích cú pháp từ dưới lên vì trong phân tích cú pháp từ dưới lên, các nút cha của cú pháp trừu tượng cây được tạo ra sau khi tạo ra tất cả con cái của họ. Việc đánh giá thuộc tính trong các ngữ pháp do S phân bổ có thể được kết hợp một cách thuận tiện trong cả phân tích cú pháp từ trên xuống và phân tích cú pháp từ dưới lên. Yacc dựa trên cách tiếp cận do S phân bổ.

Ngữ pháp bất kỳ do S cũng là ngữ pháp do L gán.

Trong đánh giá thuộc tính ngữ pháp được phân bổ L có thể được thực hiện trong quá trình truyền tải từ trái sang phải. Vì trong các thuộc tính ngữ pháp do S phân bổ không được kế thừa, nó không ngăn cản bạn làm điều đó. Như vậy, bạn có thể nói một ngữ pháp do S phân bổ phù hợp với đặc điểm của ngữ pháp L.

1

Đơn giản chỉ cần S-do Grammar là Grammar đã tổng hợp đúng loại ngữ pháp có nghĩa là chỉ có thuộc tính giá trị gia tăng trong suốt cây phân tích cú pháp

nơi như L-quy cho văn phạm có thể đều đã được tổng hợp cũng như Kế thừa ngữ pháp với một số các quy tắc giống như quy tắc chuyển giao thừa kế từ luôn sang trái. Tôi nghĩ rằng nó sẽ giúp bạn ra ngoài.

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