Một ngữ pháp đơn giản (s-grammar) là một trong đó mọi sản phẩm đều có dạng A → aB1B2. . .Bn Ở đâu một là một thiết bị đầu cuối và tất cả Bi,i≥0 không phải là thiết bị đầu cuối và chỉ có một sản phẩm với bất kỳ cặp nào ⟨A,a⟩.
Rõ ràng, mọi ngôn ngữ s (được tạo bởi một ngữ pháp s) không rõ ràng và dễ bị phân tích cú pháp, vì mỗi ký hiệu đầu cuối từ trái sang phải và không đầu cuối xác định duy nhất việc sản xuất để áp dụng. Ví dụ: nếu chuỗi làabc, sau đó là cặp ⟨S,a⟩xác định duy nhất việc sản xuất đầu tiên của phân tích cú pháp, v.v. cho mỗi thiết bị đầu cuối và thiết bị đầu cuối ở bên phải của nó. Do đó, một ngôn ngữ được xác định bởi một ngữ pháp s có thể được phân tích cú pháp một ký hiệu tại một thời điểm, mà không cần nhìn, mang lại thời gian phân tích tuyến tính, trên thực tế, thời gian|x|.
S-grammars không quan trọng khủng khiếp theo cách riêng của họ, vì hầu hết các ngôn ngữ thực sự vượt quá sức mạnh của họ. Nhưng chúng là bước đệm cho các ngữ pháp khác được phân tích cú pháp trong thời gian tuyến tính, chẳng hạn nhưLL(k) ngữ pháp trong đó có một ràng buộc ktrên cái nhìn cần thiết để xác định một sản phẩm trong quá trình phân tích cú pháp. Trong thực tế, một ngữ pháp là mộtLL(0) ngữ pháp.
Kết nối với automata là một s-langauge có thể được phân tích cú pháp bằng một máy tự động đẩy xuống với một trạng thái duy nhất chỉ nhìn vào biểu tượng đầu vào và biểu tượng ngăn xếp trên cùng để xác định một chuỗi các biểu tượng ngăn xếp để đẩy. Nhưng vì ngữ pháp ...
S→aSB|#B→a
... tạo ra không thường xuyên {ai#ai:i≥0}, ngôn ngữ s nói chung không thể được công nhận bởi automata trạng thái hữu hạn, xác định hoặc không xác định.