Está en la página 1de 1

Ejemplo de uso de la notacin BNF para la descripcin de un lenguaje de programacin

(Fuente: J.P.Bennet; Introduction to Compiling Techniques;McGraw-Hill;1996)


<Programa> <ListaDeFunciones> <Funcin> <ListaDeParmetros> <ListaDeVariables> <Variable> <Alfanumrcio> <Letra> <Dgito> <Sentencia> : := : := : := : := : := : := : := : := : := : := <ListaDeFunciones> <Funcin> | <ListaDeFunciones> <Funcin> FUNC <Variable> ( <ListaDeParmetros> ) <Sentencia> <ListaDeVariables> | <Variable> | <ListaDeVariables> , <Variable> <Letra> | <Variable> <Alfanumrico> <Letra> | <Dgito> a | b | ... | y | z 0 | 1 | ... | 8 | 9 <SentenciaDeAsignacin> | <SentenciaDeRetorno> | <SentenciaDeImpresin> | <SentenciaNula> | <SentenciaCondicional> | <SentenciaWhile> | <Bloque> <Variable> := <Expresin> <Expresin> <OperadorBinario> <Expresin> | <OperadorUnario> <Expresin> | ( <Expresin> ) | <Entero> | <Variable> | <Variable> (<ListaDeArgumentos> ) +|-|*|/ <Dgito> | <Entero> <Dgito> <ListaDeExpresiones> | <Expresin> | <Expresin> , <ListaDeExpresiones> PRINT <ListaDeImpresin> <ElementoDeImpresin> | <ListaDeImpresin> , <ElementoDeImpresin> <Expresin> | <Texto> <Carcter> | <Carcter> <Texto> <CarcterImprimible> | <CarcterEscapado> Cualquier carcter ASCII imprimible \n RETURN <Expresin> CONTINUE IF <Expresin> THEN <Sentencia> FI | IF <Expresin> THEN <Sentencia> ELSE <Sentencia> FI WHILE <Expresin> DO <Sentencia> DONE { <ListaDeDeclaraciones> <ListaDeSentencias> } <Declaracin> <ListaDeDeclaraciones> | VAR <ListaDeVariables> <Sentencia> | <ListaDeSentencias> <Sentencia>

<SentenciaDeAsignacin> : := <Expresin> : :=

<OperadorBinario> <OperadorUnario> <Entero> <ListaDeArgumentos> <ListaDeExpresiones> <SentenciaDeImpresin> <ListaDeImpresin> <ElementoDeImpresin> <Texto> <Carcter> <CarcterImprimible> <CarcterEscapado> <SentenciaDeRetorno> <SentenciaNula> <SentenciaCondicional> <SentenciaWhile> <Bloque> <ListaDeDeclaraciones> <Declaracin> <ListaDeSEntencias>

: := : := : := : := : := : := : := : := : := : := : := : := : := : := : := : := : := : := : := : :=

También podría gustarte