Grammar: The language of languages (BNF, EBNF, ABNF and more)
Programming languages, protocol specifications, query languages, file formats, pattern languages, memory layouts, formal languages, config files, mark-up languages, formatting languages and meta-languages shape the way we compute. So, what shapes languages? Grammars do. Grammars are the language of languages. Behind every language, there is a grammar that determines its structure. This article explains grammars and common notations for grammars, such as Backus-Naur Form (BNF), Extended Backus-Naur Form (EBNF) and regular extensions to BNF. After reading this article, you will be able to identify and interpret all commonly used notation for grammars. A grammar defines a language. In computer science, the most common type of grammar is the context-free grammar, and these grammars will be the primary focus of this article. Context-free grammars have sufficient richness to describe the recursive syntactic structure of many (though certainly not all) languages. I'll discuss grammars beyond
Grammar: The language of languages (BNF, EBNF, ABNF and more) The language of languages [ article index ] [ ] [ @mattmight ] [ rss ] Languages form the terrain of computing. Programming languages, protocol specifications, query languages, file formats, pattern languages, memory layouts, formal languages, config files, mark-up languages, formatting languages and meta-languages shape the way we compute. So, what shapes languages? Grammars do. Grammars are the language of languages. Behind every language, there is a grammar that determines its structure. This article explains grammars and common
Explore this link on the map →related reading
- Chomsky hierarchy - Wikipediaen.wikipedia.org
- Language and Grammar (Bison 3.8.1)gnu.org
- Context-free grammar - Wikipediaen.wikipedia.org
- Formal grammar - Wikipediam.wikipedia.org
- Reading 12: Regular Expressions & Grammarsweb.mit.edu
- Laurence Tratt: Which Parsing Approach?tratt.net
- Reading 18: Regular Expressions & Grammarsweb.mit.edu
- L-system - Wikipediaen.wikipedia.org
- Lambda calculus - Wikipediaen.wikipedia.org
- Representing Code · Crafting Interpreterscraftinginterpreters.com
- Formally speaking, "Transpiler" is a useless word | Rachit Nigampeople.csail.mit.edu
- Grammar in Bison (Bison 3.8.1)gnu.org