diff --git a/ediv/doc/html/compilador.dok b/ediv/doc/html/compilador.dok index 731969b..3332af8 100644 --- a/ediv/doc/html/compilador.dok +++ b/ediv/doc/html/compilador.dok @@ -1,5 +1,196 @@ -<%title%>El compilador (ediv)<%/title%> -

El compilador (ediv)

-

El compilador en sí es un ejecutable llamado ediv. Se encuentra en la carpeta bin y, naturalmente, es el programa encargado de compilar un archivo de código fuente .prg en lenguaje DIV para crear un ejecutable independiente a partir de él.

+<%title%>El compilador (ediv) +<%/title%> +
+

+

El compilador (ediv)

+

El compilador en sí es un ejecutable llamado ediv. Se + encuentra en la carpeta bin, y es el programa encargado de compilar + un archivo de código fuente .prg en lenguaje DIV para + crear un ejecutable independiente a partir de él.

+

Este ejecutable es un programa de consola. Para funcionar, necesita que le + pasemos algunos parámetros en la línea de comandos. La sintaxis + es la siguiente:

+

ediv [opciones] archivo.prg [ejecutable]

+

A continuación se detallan cada uno de los argumentos:

+ +

Una vez ejecutado el programa con los parámetros adecuados, el compilador + nos irá mostrando el estado del proceso, y por último nos informará + si la compilación ha tenido éxito. Si ocurre algún error, + se mostrará un mensaje explicando el error. Si el error se encuentra + en el fichero fuente, se nos indicará el número de línea + y de carácter donde se localiza el error. Por ejemplo:

+
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
malvado.prg:6:18: ERROR 9: Esperando ';'
 
 
 
 
nombre del fichero en el que + se encuentra el error
 
 
 
código del
+ error
 
descripción + del error
número de + línea
    
número de + carácter en la línea
  
+

 

+

Esquema de funcionamiento del compilador

+

No está de más tener una idea de las operaciones que hace el + compilador, especialmente por si surge algún problema, para saber de + dónde puede venir el fallo y cómo se puede arreglar.

+
    +
  1. Primero, eDIV lee la configuración del archivo ediv.cfg. + Dicho archivo es necesario, ya que contiene información acerca de los + ajustes por defecto del compilador y las prioridades de las librerías.
  2. +
  3. A continuación, el programa detecta el idioma del sistema (si no + se ha forzado uno en el archivo de configuración).
  4. +
  5. Luego se procesan los argumentos de la línea de comandos.
  6. +
  7. Después se carga el archivo fuente (.prg) en memoria + y se compone el nombre del ejecutable final.
  8. +
  9. Seguidamente se comprueba que existe el stub correspondiente al + Sistema Operativo elegido. El stub es un archivo con extensión + .rel o .dbg que contiene el primer segmento del + ejecutable final, al cual después se agregará el código + del programa compilado.
  10. +
  11. A continuación se llama a una rutina de preparación que pone + a cero los datos internos del compilador.
  12. +
  13. Después se cargan todas las librerías que se encuentran en + el directorio correspondiente.
  14. +
  15. Luego se realiza una primera compilación que tiene como único + objetivo saber qué elementos de las librerías se utilizan, para + poder descartar las librerías que no se usan en el programa.
  16. +
  17. Se vuelve a llamar a la rutina del paso 6, para restablecer todos los parámetros + del compilador.
  18. +
  19. De nuevo se cargan las librerías, pero esta vez sólamente + las que se utilizan.
  20. +
  21. Se compila de nuevo el programa. El resultado es un código intermedio + que ha reservado únicamente la memoria que necesita para las librerías + que el programa necesita específicamente. De esta forma hemos ahorrado + mucha memoria y espacio en el paquete final del programa compilado (ejecutable + + librerías), ya que hemos descartado todas las librerías innecesarias.
  22. +
  23. Se crea el archivo del ejecutable con el contenido del stub. Luego + se agrega el código intermedio comprimido del programa. Y por último, + en el caso de que hayamos indicado el parámetro --debug, añadimos + información de depurado al ejecutable para permitir que funcione el + trazador.
  24. +
<%end%> \ No newline at end of file diff --git a/ediv/src/visual c 6/ediv_ws.suo b/ediv/src/visual c 6/ediv_ws.suo index 60c309f..81c9b78 100644 Binary files a/ediv/src/visual c 6/ediv_ws.suo and b/ediv/src/visual c 6/ediv_ws.suo differ