bnf grammars 1 3
play

BNF grammars (1/3) BNF grammars offer concise language - PowerPoint PPT Presentation

BNF grammars (1/3) BNF grammars offer concise language specifications. S ::= D | DS D ::= 0 | 1 It consists of: a set of non-terminals and a set of terminals four productions: a S may be replaced by D a S may be replaced


  1. BNF grammars (1/3) BNF grammars offer concise language specifications. S ::= D | DS D ::= 0 | 1 It consists of: a set of non-terminals and a set of terminals � four productions: � “a S may be replaced by D ” – “a S may be replaced by DS ” – “a D may be replaced by 0 ” – “a D may be replaced by 1 ” – A (non-terminal) start symbol S , typically written first. � 1 / 3

  2. BNF grammars (2/3) BNF grammars offer concise language specifications. S ::= D | DS D ::= 0 | 1 They do so by expressing a set of derivable strings. Recipe: Repeatedly replace a non-terminal by a right-hand-side until there’s only terminals left: S → D → 0 S → DS → 0 S → 0 D → 01 S → DS → 1 S → 1 DS → 10 S → 10 D → 101 Q: Which language does this grammar represent? 2 / 3

  3. BNF grammars (2/3) BNF grammars offer concise language specifications. S ::= D | DS D ::= 0 | 1 They do so by expressing a set of derivable strings. Recipe: Repeatedly replace a non-terminal by a right-hand-side until there’s only terminals left: S → D → 0 S → DS → 0 S → 0 D → 01 S → DS → 1 S → 1 DS → 10 S → 10 D → 101 Q: Which language does this grammar represent? Exercise: alter the grammar to yield base-10 numbers 2 / 3

  4. BNF grammars (3/3) BNF is short for ‘Backus-Naur Form’ named after John Backus and Peter Naur. A BNF can express a ‘Context-Free Language’. These are strictly more powerful than, e.g., regular expressions. Most language specifications today come with a BNF. Q: Which languages do the following grammars define? S ::= 0 | 01 | 01 S (terminals: 0 , 1 ) S ::= ab | aSb (terminals: a , b ) S ::= e | S + S | S − S (terminals: e , + , − ) S ::= s | s ; S | { S } (terminals: s , ; , { , } ) 3 / 3

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend