Send Close Add comments: (status displays here)
Got it!  This site "creationpie.com" uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.  Note: This appears on each machine/browser from which this site is accessed.
John Backus
by RS  admin@creationpie.com : 1024 x 640


1. John Backus
John Backus (American computer scientist) was an American computer scientist. He directed the team that invented and implemented the FORTRAN programming language.

He helped develop grammar methods known as BNF (Backus-Naur Form) later extended to EBNF (Extended Backus-Naur Form).

He later investigated functional programming languages. His 1977 Turing Award lecture was entitled "Can Programming Be Liberated from the von Neumann Style?". His functional language was named FP (Functional Programming).

2. Grammars
John Backus (American computer scientist) helped develop grammar methods known as BNF later extended to EBNF.

3. Fortran
In the 1970's, John Backus told programmers to use functional languages (data driven) rather than Fortran (code driven).

BNF = Backus-Naur Form grammars are named for Backus.

They laughed at and ignored him. Who is this John Backus anyway to be telling "us" what to do?

Information sign More: The Fortran programming language

4. EBNF in EBNF
Syntax diagram for EBNF EBNF in EBNF EBNF and BNF are notations (meta-language) for describing other languages (including EBNF itself). Here is a syntax diagram of EBNF that describes EBNF.

That is, the EBNF processor can process it's own grammar in EBNF form
Here is the same grammar in textual form.
Syntax = { Production } . Production = "Variable" "=" Expression "." . Expression = Term { "|" Term } . Term = Factor { Factor } . Factor = "Terminal" | "Variable" | "[" Expression "]" | "{" Expression "}" | "(" Expression ")" .


5. BNF textual grammar
Syntax diagram for EBNF BNF in BNF Here is the same grammar in textual form in BNF notation.

That is, the BNF processor can process it's own grammar in BNF form
Syntax = X1 . X1 = . X1 = Production X1 . Production = "Variable" "=" Expression "." . Expression = Term X2 . X2 = . X2 = "|" Term X2 . Term = Factor X3 . X3 = . X3 = Factor X3 . Factor = X4 . X4 = "Terminal" . X4 = "Variable" . X4 = "[" Expression "]" . X4 = "{" Expression "}" . X4 = "(" Expression ")" .

This BNF grammar can be converted to a simpler CNF (Chomsky Normal Form) grammar which is useful, for example, for certain natural language parsing algorithms such as with CYK (Cocke Younger Kasami) parsing.

Future topic Details are left as a future topic.


6. End of page

by RS  admin@creationpie.com : 1024 x 640