TBNF
Encyclopedia
TBNF is an acronym for the phrase, "Translational BNF". BNF
Backus–Naur form
In computer science, BNF is a notation technique for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols.It is applied wherever exact descriptions of...

 refers to Backus Normal Form which is a formal grammar notation used to define the syntax of computer languages, such as Algol, Ada, C++, COBOL, FORTRAN, Java, Perl, Python, and many others. TBNF goes beyond BNF
Backus–Naur form
In computer science, BNF is a notation technique for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats, instruction sets and communication protocols.It is applied wherever exact descriptions of...

 and Extended BNF (EBNF) grammar notation because it not only defines the syntax of a language, but also defines the structure of the abstract-syntax tree
Abstract syntax tree
In computer science, an abstract syntax tree , or just syntax tree, is a tree representation of the abstract syntactic structure of source code written in a programming language. Each node of the tree denotes a construct occurring in the source code. The syntax is 'abstract' in the sense that it...

 (AST) to be created in memory and the output intermediate code to be generated. Thus TBNF defines the complete translation process from input text to intermediate code.

The TBNF concept was first published in April 2006 in a paper at SIGPLAN Notices, a special interest group of the ACM
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

. See the TBNF paper at ACM.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK