Is Rust's syntactical grammar context-free or context-sensitive?
问题 The syntactical grammar of hardly any programming language is regular, as they allow arbitrarily deeply nested parenthesis. Rust does, too: let x = ((((())))); But is Rust's syntactical grammar at least context-free? If not, what element makes the grammar context-sensitive? Or is the grammar even recursively enumerable, like C++'s syntactical grammar? Related : Is Rust's lexical grammar regular, context-free or context-sensitive? 回答1: Rust includes a macro processor, whose operation is highly