Matches in DBpedia 2014 for { <http://dbpedia.org/resource/TBNF> ?p ?o. }
Showing items 1 to 16 of
16
with 100 items per page.
- TBNF abstract "TBNF is an acronym for the phrase, "Translational BNF". BNF 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 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 (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. See the TBNF paper at ACM. Here is a sample grammar, specified in TBNF: /* Sample Grammar. *//* Input Tokens. */ <identifier> => lookup; // Lookup & store in symbol table. <integer> => lookup; // Lookup & store in symbol table. /* Operator precedence. */ { '==' '!=' } << // Lowest priority. { '+' '-' } << { '*' '/' } << // Highest priority./* Productions. */ Start -> Program... <eof> *> emit ("\t\tSTART\n" ,,"\t\tEOF\n") Program -> 'program' <identifier> '{' Stmt... '}' *> (2) emit ("\t\tPROGRAM %s\n",,"\t\tEND PROGRAM %s\n") Stmt -> Assignment -> IfThen -> IfElse -> IfThenElse Assignment ~> Target '=' Exp ';' *> emit ( ,,"\t\tSTORE\n") IfThen -> 'if' RelExp Then 'endif' *> emit ("if&0:\n" ,,"endif&0:\n" ) IfElse -> 'if' RelExp Else 'endif' *> emit ("if&0:\n" ,,"endif&0:\n" ) IfThenElse -> 'if' RelExp Then2 Else2 'endif' *> emit ("if&0:\n" ,,"endif&0:\n" ) Target -> <identifier> *> (1) emit ( ,,"\t\tLADR %s\n") RelExp -> Exp '==' Exp *> (2) emit ( ,,"\t\tEQ\n" ) -> Exp '!=' Exp *> (2) emit ( ,,"\t\tNE\n" ) Exp -> Primary -> Exp '+' Exp *> (2) emit ( ,,"\t\tADD\n") -> Exp '-' Exp *> (2) emit ( ,,"\t\tSUB\n") -> Exp '*' Exp *> (2) emit ( ,,"\t\tMUL\n") -> Exp '/' Exp *> (2) emit ( ,,"\t\tDIV\n") Primary -> <identifier> *> (1) emit ( ,,"\t\tLOAD %s\n") -> <integer> *> (1) emit ( ,,"\t\tLOAD %s\n") -> '(' Exp ')' Then -> 'then' Stmt... *> emit ("\t\tBR NZ endif&1\nthen&1:\n",,) Else -> 'else' Stmt... *> emit ("\t\tBR Z endif&1\nelse&1:\n" ,,) Then2 -> 'then' Stmt... *> emit ("\t\tBR NZ else&1\nthen&1:\n" ,,) Else2 -> 'else' Stmt... *> emit ("\t\tBR endif&1\nelse&1:\n" ,,)/* End of Grammar. */".
- TBNF wikiPageExternalLink lrstar.org.
- TBNF wikiPageExternalLink citation.cfm?id=1147218.
- TBNF wikiPageID "10095889".
- TBNF wikiPageRevisionID "560344141".
- TBNF hasPhotoCollection TBNF.
- TBNF subject Category:Compiler_construction.
- TBNF subject Category:Compiling_tools.
- TBNF subject Category:Parser_generators.
- TBNF comment "TBNF is an acronym for the phrase, "Translational BNF". BNF 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 label "TBNF".
- TBNF sameAs m.02q1ntc.
- TBNF sameAs Q17142101.
- TBNF sameAs Q17142101.
- TBNF wasDerivedFrom TBNF?oldid=560344141.
- TBNF isPrimaryTopicOf TBNF.