SlideShare una empresa de Scribd logo
1 de 7
Unidad 3
Como cada lenguaje de programación tiene unas reglas
especiales (sintaxis) para la construcción de sus programas,
debe existir un compilador específico para cada lenguaje de
programación. El compilador antes de generar el programa
objeto debe analizar el programa fuente (almacenado en un
archivo de texto) y comprobar que cumple las reglas de
sintaxis del lenguaje de programación. Si cumple la sintaxis
genera el correspondiente programa objeto, sino, visualizará
un mensaje de error y su posible causa para que
procedamos a la depuración del programa. Depurar un
programa consiste en detectar y corregir los errores que se
producen en él, ya sean en tiempo de compilación o en
tiempo de ejecución. Los errores en tiempo de compilación
son los que se producen antes de la ejecución del programa,
durante el proceso de compilación del programa. Los errores
en tiempo de ejecución son los que se producen durante la
ejecución del programa. Este tipo de errores, son los más
difíciles de encontrar, porque no son detectados por el
compilador, ya que no son errores consecuencia de violar
alguna regla sintáctica.
Un programa puede interrumpirse bruscamente, por ejemplo setenemos que
hacer una división y el divisor es cero, etc. Para ayudarnos a encontrar los errores
lógicos y demás errores producidos en tiempo de ejecución, podemos hacer uso
de los depuradores. Un depurador (dejugar), es un programa diseñado
específicamente para la detección, verificación y corrección de errores, y que por
tanto nos ayudará en las tareas de depuración. Los depuradores nos permiten
trazar el programa (ejecutarlo sentencia a sentencia) y visualizar el contenido de
las variables y direcciones de memoria durante la ejecución del programa. Además
permiten alterar el flujo de ejecución del mismo, cambiarlos valores de las
variables e introducir puntos de parada. Página 3de 5 Los compiladores emiten
mensajes de error o de advertencia durante las fases de compilación, de enlace o
de ejecución de un programa. Los mensajes de error producidos los podemos
agruparen tres bloques: − Errores fatales: Son raros. Algunos indican un error
interno del compilador. Cuando ocurren la compilación se detiene
inmediatamente. − Errores de sintaxis: Son los errores típicos de sintaxis, errores
de línea de órdenes y errores de acceso a memoria disco. El compilador terminará
la fase de compilación y sede tendrá. − Advertencias (warnings): No impiden la
compilación. Indican condiciones que son sospechosas, pero son legítimas
comparte del lenguaje. Así pues los pasos a seguir para la elaboración y ejecución
de un programa los podemos resumir de la siguiente manera:
1 º. Comenzamos escribiendo el código fuente.
2 º. Compilamos el fichero fuente y se comprueban los mensajes de error.
3 º. Volvemos al editor y eliminamos los errores de sintaxis.
4 º. Cuando el compilador tiene éxito, el linier construirá el archivo ejecutable.
5 º. Ya podemos ejecutar el archivo ejecutable que se obtiene allanar.
6 º. Si encontramos un error, podemos activar el depurador para trazar el
programa y ejecutar sentencia a sentencia.
7 º. Una vez que hayamos encontrado la causa del error, volveremos al editor y
lo corregimos.
8 º. El proceso de compilar, enlazar y ejecutar el programa lo repetiremos
hasta que no se produzcan errores.
9 º. Una vez tengamos el archivo ejecutable, será el sistema operativo el
encargado de colocar el programa en la memoria central y ejecutarlo
3.2 Fase de ejecución de un programa
Una vez que tenemos el programa en lenguaje máquina, para poderlo ejecutar hay que
introducirlo en la memoria. Para esta tarea existe un programadle sistema operativo
denominado cargador, que introduce el programa en posiciones consecutivas de memoria
a partir de una determinada. Cuando el programa está cargado se le indica a la
computadora que pase su control a la posición de memoria donde se ha cargado. Esta
operación la hace directamente el sistema operativo
pasos:
Suponiendo que el programa se ha cargado a partir de una determinada posición i de
memoria.
1. Lleva de la Memoria (M) a la Unidad de Control (UC) la instrucción que está en la
posición i. Cambiar el valor de i por i+1.
2. Interpreta el código de operación de la instrucción y, según sea éste y las señales de
estado, envía señales de control a las unidades y circuitos que deben intervenir para
ejecutar la instrucción. Vuelve a la fase (1).ejecución de instrucción. En el caso de que
la ejecución de una instrucción implique saltar a otra instrucción en la posición m, por
ejemplo (alterándose por tanto el orden secuencial),
la UC hace, en la fase de ejecución de la instrucción de salto,
que cambie i por m, de forma que en la siguiente fase
de captación se ejecútala instrucción que está en m.
3.3 El compilador de C. Características generales
.♦ El lenguaje C es un lenguaje de nivel medio: combina elementos de lenguajes de alto nivel con la
funcionalidad del lenguaje ensamblador. Como lenguaje de nivel medio, permite la manipulación de
bits, bytes y direcciones. Es particularmente adecuado para la programación de sistemas.
♦ El código de C es muy portable: se puede adaptar el software escrito para un tipo de computadora a
otra computadora sin hacer muchos cambios.
El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante subrutinas y
variables locales) del resto del programa toda la información e instrucciones necesarias para realizar
una determinada tarea. − Soporta construcciones de bucles (while, do-while y for) e instrucciones
condicionales (if, switch) − Permite sangrar las sentencias. − Permite crear funciones(subrutinas
independientes). Las funciones son los bloques en los que se desarrolla toda la actividad de los
programas. Son los que permiten definir las tareas de un programa y codificarlas por separado,
permitiendo así que los programas sean modulares. − Permiten crear bloques de códigos. Un bloque
de código es un grupo de sentencias de un programa conectadas de forma lógica que es tratado como
una unidad. Se crean colocando una serie de sentencia entre llaves.♦ El lenguaje C sólo tiene 32
palabras clave, que constituyen las órdenes que conforman el lenguaje C (el BASIC por ejemplo
contiene 159 palabras clave).♦ El lenguaje C es compilado, no interpretado. Un intérprete lee el código
fuente de un programa línea a línea y traduce las instrucciones específicas contenidas en esa línea
para que el microprocesador las pueda interpretar, pero no genera ningún programa objeto. Un
compilador, en cambio lee el programa entero y lo convierte en código objeto, de manera que genera
un programa en un código que es directamente ejecutable y entendible por el microprocesador.

Más contenido relacionado

La actualidad más candente

Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33
Jahir Sanchez Sdval
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
luisbeltran861
 

La actualidad más candente (20)

Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Presentación3
Presentación3Presentación3
Presentación3
 
Fanny3
Fanny3Fanny3
Fanny3
 
Jhonny3
Jhonny3Jhonny3
Jhonny3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
1.4 ensambladores y compiladores
1.4 ensambladores y compiladores1.4 ensambladores y compiladores
1.4 ensambladores y compiladores
 
Clasificacion de Interpretes
Clasificacion de InterpretesClasificacion de Interpretes
Clasificacion de Interpretes
 
Enlazadores cargadores-by-gadd
Enlazadores cargadores-by-gaddEnlazadores cargadores-by-gadd
Enlazadores cargadores-by-gadd
 
Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33Aplicar los pricipios de programacion en la solucion de problemas 33
Aplicar los pricipios de programacion en la solucion de problemas 33
 
Tasm
TasmTasm
Tasm
 
Traductores de lenguajes
Traductores   de    lenguajesTraductores   de    lenguajes
Traductores de lenguajes
 
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
TIPOS DE LENGUAJES ENSAMBLADOR Y CLASIFICACION DE MEMORIAS
 
Tipos De Ensambladores
Tipos De EnsambladoresTipos De Ensambladores
Tipos De Ensambladores
 
Lenguaje de ensamblador
Lenguaje de ensambladorLenguaje de ensamblador
Lenguaje de ensamblador
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Ensambladores
EnsambladoresEnsambladores
Ensambladores
 

Destacado (8)

Gazayin
GazayinGazayin
Gazayin
 
Prueve
PruevePrueve
Prueve
 
337
337337
337
 
Mekusci ppt
Mekusci pptMekusci ppt
Mekusci ppt
 
อาชีพเสริมเพิ่มรายได้จากข้าว
อาชีพเสริมเพิ่มรายได้จากข้าวอาชีพเสริมเพิ่มรายได้จากข้าว
อาชีพเสริมเพิ่มรายได้จากข้าว
 
M
MM
M
 
Bioquimica
BioquimicaBioquimica
Bioquimica
 
Jellyjamm amigos pictogramas_arasaac
Jellyjamm amigos pictogramas_arasaacJellyjamm amigos pictogramas_arasaac
Jellyjamm amigos pictogramas_arasaac
 

Similar a Unidad ad 3 (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Resumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamachoResumencap1 carmen vargas_jeremycamacho
Resumencap1 carmen vargas_jeremycamacho
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Gaby agudo
Gaby agudoGaby agudo
Gaby agudo
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02Unidad3 130504222102-phpapp02
Unidad3 130504222102-phpapp02
 
Xd1
Xd1Xd1
Xd1
 
Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador   Investigacion sobre traductor, interprete y compilador
Investigacion sobre traductor, interprete y compilador
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Consulta
ConsultaConsulta
Consulta
 
Unidad 3 margie
Unidad 3 margieUnidad 3 margie
Unidad 3 margie
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programación
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)
 

Más de LiZz Gaytán (20)

Reflex_Guzmán Gaytán Elvia_19feb2018
Reflex_Guzmán Gaytán Elvia_19feb2018Reflex_Guzmán Gaytán Elvia_19feb2018
Reflex_Guzmán Gaytán Elvia_19feb2018
 
Portafolio de evidencias
Portafolio de evidenciasPortafolio de evidencias
Portafolio de evidencias
 
Fobias
FobiasFobias
Fobias
 
Reporte del libro 3
Reporte del libro 3Reporte del libro 3
Reporte del libro 3
 
Reporte 1
Reporte 1Reporte 1
Reporte 1
 
Reporte de Libro 2
Reporte de Libro 2Reporte de Libro 2
Reporte de Libro 2
 
PROYECTO FINAL.
PROYECTO FINAL.PROYECTO FINAL.
PROYECTO FINAL.
 
Guzmán gaytán elvia lizzeth
Guzmán gaytán elvia lizzethGuzmán gaytán elvia lizzeth
Guzmán gaytán elvia lizzeth
 
Ensayo
EnsayoEnsayo
Ensayo
 
Foro de análisis de programas academicos
Foro de análisis de programas academicosForo de análisis de programas academicos
Foro de análisis de programas academicos
 
Playeras
PlayerasPlayeras
Playeras
 
Servicios ala comunidad que ofrece la uat.
Servicios ala comunidad que ofrece la uat.Servicios ala comunidad que ofrece la uat.
Servicios ala comunidad que ofrece la uat.
 
Directorio UAT
Directorio UATDirectorio UAT
Directorio UAT
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Práctica 29
Práctica 29Práctica 29
Práctica 29
 
Practica 30
Practica 30Practica 30
Practica 30
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Practica 28º
Practica 28ºPractica 28º
Practica 28º
 
Practica 27
Practica 27Practica 27
Practica 27
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 

Unidad ad 3

  • 2.
  • 3. Como cada lenguaje de programación tiene unas reglas especiales (sintaxis) para la construcción de sus programas, debe existir un compilador específico para cada lenguaje de programación. El compilador antes de generar el programa objeto debe analizar el programa fuente (almacenado en un archivo de texto) y comprobar que cumple las reglas de sintaxis del lenguaje de programación. Si cumple la sintaxis genera el correspondiente programa objeto, sino, visualizará un mensaje de error y su posible causa para que procedamos a la depuración del programa. Depurar un programa consiste en detectar y corregir los errores que se producen en él, ya sean en tiempo de compilación o en tiempo de ejecución. Los errores en tiempo de compilación son los que se producen antes de la ejecución del programa, durante el proceso de compilación del programa. Los errores en tiempo de ejecución son los que se producen durante la ejecución del programa. Este tipo de errores, son los más difíciles de encontrar, porque no son detectados por el compilador, ya que no son errores consecuencia de violar alguna regla sintáctica.
  • 4. Un programa puede interrumpirse bruscamente, por ejemplo setenemos que hacer una división y el divisor es cero, etc. Para ayudarnos a encontrar los errores lógicos y demás errores producidos en tiempo de ejecución, podemos hacer uso de los depuradores. Un depurador (dejugar), es un programa diseñado específicamente para la detección, verificación y corrección de errores, y que por tanto nos ayudará en las tareas de depuración. Los depuradores nos permiten trazar el programa (ejecutarlo sentencia a sentencia) y visualizar el contenido de las variables y direcciones de memoria durante la ejecución del programa. Además permiten alterar el flujo de ejecución del mismo, cambiarlos valores de las variables e introducir puntos de parada. Página 3de 5 Los compiladores emiten mensajes de error o de advertencia durante las fases de compilación, de enlace o de ejecución de un programa. Los mensajes de error producidos los podemos agruparen tres bloques: − Errores fatales: Son raros. Algunos indican un error interno del compilador. Cuando ocurren la compilación se detiene inmediatamente. − Errores de sintaxis: Son los errores típicos de sintaxis, errores de línea de órdenes y errores de acceso a memoria disco. El compilador terminará la fase de compilación y sede tendrá. − Advertencias (warnings): No impiden la compilación. Indican condiciones que son sospechosas, pero son legítimas comparte del lenguaje. Así pues los pasos a seguir para la elaboración y ejecución de un programa los podemos resumir de la siguiente manera:
  • 5. 1 º. Comenzamos escribiendo el código fuente. 2 º. Compilamos el fichero fuente y se comprueban los mensajes de error. 3 º. Volvemos al editor y eliminamos los errores de sintaxis. 4 º. Cuando el compilador tiene éxito, el linier construirá el archivo ejecutable. 5 º. Ya podemos ejecutar el archivo ejecutable que se obtiene allanar. 6 º. Si encontramos un error, podemos activar el depurador para trazar el programa y ejecutar sentencia a sentencia. 7 º. Una vez que hayamos encontrado la causa del error, volveremos al editor y lo corregimos. 8 º. El proceso de compilar, enlazar y ejecutar el programa lo repetiremos hasta que no se produzcan errores. 9 º. Una vez tengamos el archivo ejecutable, será el sistema operativo el encargado de colocar el programa en la memoria central y ejecutarlo
  • 6. 3.2 Fase de ejecución de un programa Una vez que tenemos el programa en lenguaje máquina, para poderlo ejecutar hay que introducirlo en la memoria. Para esta tarea existe un programadle sistema operativo denominado cargador, que introduce el programa en posiciones consecutivas de memoria a partir de una determinada. Cuando el programa está cargado se le indica a la computadora que pase su control a la posición de memoria donde se ha cargado. Esta operación la hace directamente el sistema operativo pasos: Suponiendo que el programa se ha cargado a partir de una determinada posición i de memoria. 1. Lleva de la Memoria (M) a la Unidad de Control (UC) la instrucción que está en la posición i. Cambiar el valor de i por i+1. 2. Interpreta el código de operación de la instrucción y, según sea éste y las señales de estado, envía señales de control a las unidades y circuitos que deben intervenir para ejecutar la instrucción. Vuelve a la fase (1).ejecución de instrucción. En el caso de que la ejecución de una instrucción implique saltar a otra instrucción en la posición m, por ejemplo (alterándose por tanto el orden secuencial), la UC hace, en la fase de ejecución de la instrucción de salto, que cambie i por m, de forma que en la siguiente fase de captación se ejecútala instrucción que está en m.
  • 7. 3.3 El compilador de C. Características generales .♦ El lenguaje C es un lenguaje de nivel medio: combina elementos de lenguajes de alto nivel con la funcionalidad del lenguaje ensamblador. Como lenguaje de nivel medio, permite la manipulación de bits, bytes y direcciones. Es particularmente adecuado para la programación de sistemas. ♦ El código de C es muy portable: se puede adaptar el software escrito para un tipo de computadora a otra computadora sin hacer muchos cambios. El lenguaje C es un lenguaje estructurado: permite seccionar y esconder (mediante subrutinas y variables locales) del resto del programa toda la información e instrucciones necesarias para realizar una determinada tarea. − Soporta construcciones de bucles (while, do-while y for) e instrucciones condicionales (if, switch) − Permite sangrar las sentencias. − Permite crear funciones(subrutinas independientes). Las funciones son los bloques en los que se desarrolla toda la actividad de los programas. Son los que permiten definir las tareas de un programa y codificarlas por separado, permitiendo así que los programas sean modulares. − Permiten crear bloques de códigos. Un bloque de código es un grupo de sentencias de un programa conectadas de forma lógica que es tratado como una unidad. Se crean colocando una serie de sentencia entre llaves.♦ El lenguaje C sólo tiene 32 palabras clave, que constituyen las órdenes que conforman el lenguaje C (el BASIC por ejemplo contiene 159 palabras clave).♦ El lenguaje C es compilado, no interpretado. Un intérprete lee el código fuente de un programa línea a línea y traduce las instrucciones específicas contenidas en esa línea para que el microprocesador las pueda interpretar, pero no genera ningún programa objeto. Un compilador, en cambio lee el programa entero y lo convierte en código objeto, de manera que genera un programa en un código que es directamente ejecutable y entendible por el microprocesador.