Beruflich Dokumente
Kultur Dokumente
VI CICLO
de
programacin es
un lenguaje
formal diseado
para
expresar procesos que pueden ser llevados a cabo por mquinas como
las computadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico
y lgico de una mquina, para expresar algoritmos con precisin, o como
modo de comunicacin humana.1
Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos
lgicos, a travs de los siguientes pasos:
Desarrollo de la documentacin.
TRADUCCIN:
Traduce el programa original en un programa escrito en lenguaje mquina.
Existen dos tipos de traductores:
Ensamblador: Cuando el lenguaje fuente es ensamblador.
Compilador: Cuando el lenguaje fuente es de alto nivel.
COMPARACIN COMPILADORES-INTRPRETES:
Un intrprete puede ejecutar un programa directamente, incluso sin estar
completo. Un compilador ha de traducirlo completamente antes de
ejecutarlo.
Un programa interpretado ocupa poca memoria.
Un programa compilado es ms rpido.
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
COMPILADORES
VI CICLO
identifica
una
forma
sintctica.
Las
palabras
usadas
en
construcciones de flujo de control, tales como if, then, y else, son palabras
clave. En estos lenguajes, las palabras clave no pueden usarse tambin
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
COMPILADORES
VI CICLO
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
COMPILADORES
VI CICLO
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
OPERADORES
Un operador es un smbolo en una expresin que representa una operacin
aplicada a los valores sobre los que acta.
Los valores sobre los que acta un operador se llaman operandos.
Un operador
binario es
el
que
tiene
dos
operandos,
mientras
que
COMPILADORES
VI CICLO
relacionales:
Las operaciones
relacionales sirven
para
comparar valores. Sus operandos son cualquier cosa que pueda ser
comparada,
sus
resultados
siempre
son
valores
lgicos.Algunas
COMPILADORES
VI CICLO
las
operaciones
ms
generales
son
representadas
como funciones.
43.La funcin abs entrega el valor absoluto de su argumento:abs(4-5)=1
44.La funcin len recibe un string y entrega su largo:len(hola *10)=40
Los nombres de los tipos tambin sirven como funciones, que entregan el
equivalente de su parmetro en el tipo correspondiente:
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
COMPILADORES
VI CICLO
45.int : int(3.8)=3
46.float: float(1.5)=1.5
47.suma: suma(5+6)=11
48.intadd: intadd(5+6)=56
49.min entregan el minimo de sus argumentos: min(6,1,8)=1
50.max entregan el mximo de sus argumentos: max(6,1,8)=8
51.La
funcin round redondea
un
nmero
real
al
entero
cercano:round(4.4)=4
ms
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
->
->
COMPILADORES
VI CICLO
3. <DECLARACION>
->
4. <DECLARACION_VAR>
5. <LISTA_DECLARACION>
->
->
6. <1_DECL>
7. <LISTA_DVARIABLE>
->
->
8. <TIPO>
->
9. <VARIABLE>
->
10.<LETRA>
->
<DECLARACION_VARIABLE>|
<DECLARACION_VARIABLE><DECLARACION_CO
NSTANTE>
<LISTA_DECLARACION>
<1_DECL>#PuntoComa
|
<1_DECL>#Punto_Coma
<LISTA_DECLARACIONES>#Punto_Coma
<TIPO><LISTA_DVARIABLE>
<VARIABLE>
|<VARIABLE>
<LISTA_DVARIABLE>
#Bool | #Byte | #Char | #Decimal | #Double |
#Float | | #Int | #String
<LETRA><VARIABLE> | <DIGITO><VARIABLE> |
<LETRA> | <DIGITO>
a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|
Y|Z
11.<DIGITO>
->
12.<DECLARACION_CONS>
13.<LISTA_CONS>
14.<1_CONS>
->
->
->
15.<NOMBRE_CONS>
->
16.<VALOR>
->
17.<SIGNO>
18. <SENTENCIA>
->
->
19.<SENTENCIA_SI>
->
20.<CONDICION>
21.<OPERA_COMPARA>
->
->
22.< INSTRUCCIN>
->
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
0|1|2|3|4|5|6|7|8|9
#Constante <LISTA_CONS> #PuntoComa
<1_CONS> | <1_CONS> <LISTA_CONS>
<TIPO><NOMBRE_CONS>
#OperaAsig<VALOR>#PuntoComa
<LETRA><NOMBRE_CON>
|
<LETRA><DIGITO>|< LETRA>
<LETRA> | <DIGITO> | <DIGITO><VALOR> |
<LETRA><VALOR>
| <SIGNO><DIGITO> |
<SIGNO><DIGITO><VALOR> |
+| <SENTENCIA_SI>{<IMPRESIN>}|
<SENTENCIA_PARA>{<IMPRESIN>}|
<SENTENCIA_HACER>{<IMPRESIN>}<SENTEN
CIA_MIENTRAS>{<IMPRESIN>}|
<SENTENCIA_EN_CASO>{<IMPRESIN>}
#Si<CONDICION>
<INSTRUCCIN>
|
#Si<CONDICION>
<INSTRUCCION>
#Sino
<INSTRUCCION>
|
#Si
<CONDICION>
<ESTRUCTURA>
#Sino_Si
<CONDICION>
<INSTRUCCION > #Sino <INSTRUCCION >
<VARIABLE><OPERA_COMPARA><VALOR>
#OperaY | #OperaO | #OperaNegativo |
#OperaIgual | #OperaDesigual | #OperaMenor |
#OperaMayor
|
#OperaMayorIgual
|
#OperaMenorIgual
#Inicio<VARIABLE>
<OPERA_COMPARA>
<VALOR>
#PuntoComa
#Fin
|
#Inicio
<VARIABLE>
<OPERA_COMPARA>
<OPERA_ARITME><VALOR> #PuntoComa #Fin |
<SENTENCIA_SI>| <SENTENCIA_EN_CASO> |
8
COMPILADORES
VI CICLO
23.<OPERA_ARITME>
24.<FUNCION>
->
->
25.<CUERPO_FUNCION>
26.<NOM_FUNCION>
27.<SENTECIA_TRY_CATCH>
28.<SENTENCIA_PARA>
->
->
->
->
29.<CONTADOR>
30.<SENTENCIA_HACER>
->
->
31.<SENTENCIA_EN_CASO>
32.<CUERPO_CASO>
->
->
33.<INSTRUCCIN_CASO>
->
34.<CASO_OPCIONAL>
35.<SENTENCIA_MIENTRAS>
36.<MATRIZ>
->
->
->
37.<DECLARAR_CLASE>
38.<NOMBRE_CLASE>
39.<OBJETO>
40.<METODO_SIN_RETORNO>
->
->
->
->
41.<PARAMETRO>
42.<METODO_CON_RETORNO>
->
->
43.<VALOR_RETORNAR>
45.<CONSTRUCTOR>
->
->
46.<CLASE_HEREDADA>
->
47.<NUMERO>
48.<PALABRA>
49.<MATRIZ_MULTIMENSIO
NAL>
->
->
->
50.<INCREMENTO>
->
51.<LISTA_NUMERO>
52.<LISTA_LETRA>
->
->
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
<SENTENCIA_PARA> | <SENTENCIA_MIENTRAS>
| <SENTENCIA_HACER>
+ | - | * | / | MOD
<TIPO><NOM_FUNCION>
(<PARAMETROS>)
<CUERPO_FUNCION>
#Inicio <SENTENCIA> #Fin
<LETRA><NOM_FUNCION> | <LETRA>
#Try<SENTENCIA>#Catch<Sentencia>
#Para
<CONTADOR>;<CONTADOR><INSTRUCCIN>
<VARIABLE><OPERA_COMPARACION><DIGITO>
#Hacer
<INTRUCCION>
#Mientras
<CONDICION>
#EnCaso <VARIABLE> #Sea <CUERPO_CASO>
#Inicio
<INSTRUCCIN_CASO>
#PorDefecto
#Fin
<CASO_OPCIONAL>
#Salir
#PuntoComa
|
<CASO_OPCIONAL>
#Salir
#PuntoComa
<INSTRUCCIN_CASO>
#Inicio <VALOR><INSTRUCCIN>
#Mientras <CONDICION> <INSTRUCCION>
<TIPO> [ ] <LETRA> = <TIPO>[<DIGITO>] |
<TIPO>
[
]
<LETRA><VALOR>
=
<TIPO>[<DIGITO><VALOR>]
#Clase <NOMBRE_CLASE><SENTENCIA>
<LETRA><DIGITO> | <LETRA><VALOR>
<DECLARAR_CLASE> <LETRA>
<LETRA><PARAMETROS>#Inicio<SENTENCIAS>
#Fin
|
<LETRA><VALOR><PARAMETROS>#Inicio<SEN
TENCIAS>#Fin
<TIPO><VALOR>| <VALOR>| <PARAMETRO>
<TIPO><LETRA><PARAMETROS>Inicio<SENTEN
CIAS><VALOR_RETORNAR>Fin
|
<TIPO><LETRA><VALOR><PARAMETROS>#Ini
cio<SENTENCIAS><VALOR_RETORNAR>#Fin
#Retornar <VALOR>
<NOMBRE_CLASE><PARAMETROS>#Inicio<SEN
TENCIAS>#Fin
#Clase
<NOMBRE_CLASE>:<NOMBRE_CLASE>#Inicio<
SENTENCIA>#Fin
<DIGITO> | <DIGITO><NUMERO>
<PALABRA><LETRA> | <LETRA>
<TIPO> [ , ] <LETRA> = <TIPO><DIGITO> |
<TIPO>
[
,
]
<LETRA><VALOR>
=
<TIPO><DIGITO><NUMERO>
<OPERA_ARITME><DIGITO>|
<LETRA><OPERA_ARITME><INCREMENTO>|
<OPERA_ARITME>
<NUMERO> |<NUMERO><LISTA_NUMERO>
<LETRA> | <LETRA><LISTA_LETRA>
9
COMPILADORES
VI CICLO
53.<LISTA_PARAMETROS>
->
54.<NOMBRE_ARREGLO>
->
55.<CONTADOR_VAR>
56.<IMPRESION>
57.<LISTA_IMPRESION>
->
->
->
58.<ELEMENTO_IMPRESION
>
59.<OPERADOR_NEGATIVO>
60.<EXPRESION>
->
61.<SENTENCIA_BREAK>
62.<INSTANCIA>
->
->
63.<DECS_ARREGLO>
->
64.<DEC_ARREGLO>
->
65.<TAM_ARREGLO>
->
66.<EXP_ARREGLO>
->
67.<ELEMS_ARREGLO>
68.<ELEM_ARREGLO>
69.<EXP>
->
->
->
70.<RANDOM>
->
GRAMATICA DE UN LENGUAJE DE
PROGRAMACION
->
->
<PARAMETRO><LISTA_PARAMETRO>
|
<PARAMETRO>
<LETRA><DIGITO>|<LETRA>|
<LETRA><LETRA>
<TIPO> #Constante #OperaIgual <DIGITO>
#Mostrar <LISTA_IMPRESION>
<ELEMENTO_IMPRESION>|
<LISTA_IMPRESION><ELEMENTO_IMPRESION>
<EXPRESION>
<EXPRESION><OPERA_ARITME><EXPRESION> |
<OPERADOR_NEGATIVO><EXPRESION>
|
<DIGITO> | <VARIABLE>
<SENTENCIA> #break
<OBJETO>
#Operadorigual
#New
<OBJETO><PARAMETRO>
<DEC_ARREGLO> | <DECS_ARREGLO> #Coma
<DEC_ARREGLO>
<TIPO><NOMBRE_ARREGLO><TAM_ARREGLO>
|
<NOMBRE_ARREGLO>
#OperaIgual
<EXP_ARREGLO>
#AbrirCorchete <NUMERO> #CerrarCorchete |
<TAM_ARREGLO> #AbrirCorchete <NUMERO>
#CerrarCorchete
#AbrirCorchete
<elems_arreglo>
#CerrarCorchete
<ELEMS_ARREGLO> #Coma <ELEM_ARREGLO>
<EXP> | <EXP_ARREGLO>
<PALABRA>
|
<NUMERO>
|
<PALABRA><NUMERO>
#Elegir<nombre_clase><opera_compara>#new
<nombre_clase> | <tipo>#elegir
10