Reference for BNF Notation to Read the Official Python Documentation

Pavol Kutaj
2 min readAug 26, 2022

--

The aim of this pageđź“ť is to share a reference for BNF, which is a notation for description of (not only/usually) language grammars and syntaxes. My problem was that I could not understand the basic description of a function in Python official documentation going

format(value[, format_spec])

— https://docs.python.org/3/library/functions.html?highlight=format#format

1. HISTORY

  • See the 2006 conversation with Grady Booth (designer of UML) in the Oral History of John Backus — YouTube
  • Backus (who also made Fortran!) paradigm (BNF: abbreviation for Backus-Naur Form) is the first formal notation introduced by John Backus and Peter Naur to describe the syntax of a given language (first used to describe the ALGOL 60 programming language).
  • To be precise, Backus introduced most of the BNF symbols in a report presented at the UNESCO ( UNESCO ) conference on ALGOL 58.
  • Although no one has read this report, when Peter Naur read this report, he found that Backus’s interpretation of ALGOL 58 is somewhat different from his interpretation, which surprised him.
  • All the participants who first designed ALGOL began to discover some weaknesses in his interpretation, so he decided that future versions of ALGOL should be described in a similar format so that all participants understand what they are agreeing on.
  • He made a few modifications to make it almost universal.
  • At the meeting to design ALGOL 60, he drafted his own BNF for ALGOL 60.
  • It depends on how you think who invented BNF, or think it was invented by Backus in 1959, or think it was invented by Naur in 1960.
  • For more details on the history of programming languages ​​during that period, see the August 1978, “Communications of the ACM”, Volume 21, Issue 8.
  • The article in which Backus won the Turing Award.
  • This note is Suggested by William B. Clodius from the laboratory of Los Alamos Natl
  • Now, almost every author of a new programming language book uses the Backus paradigm to define the grammatical rules of the programming language.

2. LINK

--

--

No responses yet