This commit is contained in:
Gabriel Lorenzo 2002-09-07 19:15:59 +00:00
parent c8def208a5
commit d0971bb29e
3 changed files with 175 additions and 113 deletions

View file

@ -22,67 +22,74 @@
<tr valign="top"> <tr valign="top">
<td>-h</td> <td>-h</td>
<td>--help</td> <td>--help</td>
<td>Muestra ayuda sobre la sintaxis del programa y las opciones disponibles. <td><div align="justify">Muestra ayuda sobre la sintaxis del programa
No se realiza ninguna otra operaci&oacute;n.</td> y las opciones disponibles. No se realiza ninguna otra operaci&oacute;n.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-d</td> <td>-d</td>
<td>--debug</td> <td>--debug</td>
<td>Permite utilizar el trazador durante la ejecuci&oacute;n del programa.</td> <td><div align="justify">Permite utilizar el trazador durante la ejecuci&oacute;n
del programa.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-l</td> <td>-l</td>
<td>--list</td> <td>--list</td>
<td>Genera un archivo de texto aparte que contiene el listado del programa <td><div align="justify">Genera un archivo de texto aparte que contiene
en c&oacute;digo intermedio (EML).</td> el listado del programa en c&oacute;digo intermedio (EML).</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-t</td> <td>-t</td>
<td>--table</td> <td>--table</td>
<td>Genera un archivo de texto aparte, con extensi&oacute;n .tab, que <td><div align="justify">Genera un archivo de texto aparte, con extensi&oacute;n
contiene informaci&oacute;n avanzada para comprobar errores de compilaci&oacute;n.</td> .tab, que contiene informaci&oacute;n avanzada para comprobar errores
de compilaci&oacute;n.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-c</td> <td>-c</td>
<td>--check</td> <td>--check</td>
<td>No genera un ejecutable. Se utiliza cuando s&oacute;lamente se quiere <td><div align="justify">No genera un ejecutable. Se utiliza cuando
comprobar si un programa est&aacute; escrito sin errores l&eacute;xicos s&oacute;lamente se quiere comprobar si un programa est&aacute;
ni de sintaxis.</td> escrito sin errores l&eacute;xicos ni de sintaxis.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-s</td> <td>-s</td>
<td>--system</td> <td>--system</td>
<td>Permite especificar el Sistema Operativo para el cual se quiere <td><div align="justify">Permite especificar el Sistema Operativo para
generar el ejecutable, en el caso de que se desee crear un ejecutable el cual se quiere generar el ejecutable, en el caso de que se desee
para un sistema distinto del actual.</td> crear un ejecutable para un sistema distinto del actual.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-n</td> <td>-n</td>
<td>--news</td> <td>--news</td>
<td>Obtiene de Internet informaci&oacute;n de &uacute;ltima hora acerca <td><div align="justify">Obtiene de Internet informaci&oacute;n de &uacute;ltima
de eDIV.</td> hora acerca de eDIV.</div></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>-v</td> <td>-v</td>
<td>--version</td> <td>--version</td>
<td>No realiza ninguna operaci&oacute;n, salvo mostrar la versi&oacute;n <td><div align="justify">No realiza ninguna operaci&oacute;n, salvo
actual del compilador.</td> mostrar la versi&oacute;n actual del compilador.</div></td>
</tr> </tr>
</table> </table>
<br> <br>
</div> </div>
</li> </li>
<li><code>archivo.prg</code>: es el archivo fuente que se compilar&aacute;.</li> <li>
<li><code>ejecutable</code>: es el nombre que se quiere que tenga el ejecutable <div align="justify"><code>archivo.prg</code>: es el archivo fuente que se
final. Si se omite, el ejecutable tendr&aacute; el mismo nombre que el archivo compilar&aacute;.</div>
fuente.</li> </li>
<li>
<div align="justify"><code>ejecutable</code>: es el nombre que se quiere que
tenga el ejecutable final. Si se omite, el ejecutable tendr&aacute; el mismo
nombre que el archivo fuente.</div>
</li>
</ul> </ul>
<p>Una vez ejecutado el programa con los par&aacute;metros adecuados, el compilador <p align="justify">Una vez ejecutado el programa con los par&aacute;metros adecuados,
nos ir&aacute; mostrando el estado del proceso, y por &uacute;ltimo nos informar&aacute; el compilador nos ir&aacute; mostrando el estado del proceso, y por &uacute;ltimo
si la compilaci&oacute;n ha tenido &eacute;xito. Si ocurre alg&uacute;n error, nos informar&aacute; si la compilaci&oacute;n ha tenido &eacute;xito. Si ocurre
se mostrar&aacute; un mensaje explicando el error. Si el error se encuentra alg&uacute;n error, se mostrar&aacute; un mensaje explicando el error. Si el
en el fichero fuente, se nos indicar&aacute; el n&uacute;mero de l&iacute;nea error se encuentra en el fichero fuente, se nos indicar&aacute; el n&uacute;mero
y de car&aacute;cter donde se localiza el error. Por ejemplo:</p> de l&iacute;nea y de car&aacute;cter donde se localiza el error. Por ejemplo:</p>
<br> <br>
<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0"> <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr> <tr>
@ -152,45 +159,56 @@
</table></td> </table></td>
</tr> </tr>
</table> </table>
<p align="justify">Es posible que, una vez corregido el error, al intentar compilar
de nuevo aparezca otro error. Hay que corregir todos los errores del programa
fuente para que eDIV sea capaz de compilarlo. Tambi&eacute;n es posible que
se muestren mensajes de advertencia; si es as&iacute;, eDIV compilar&aacute;
el programa correctamente (siempre que no encuentre ning&uacute;n error), aunque
es posible que desee corregir el listado para que no se muestren esos mensajes.</p>
<p>&nbsp;</p> <p>&nbsp;</p>
<h2>Esquema de funcionamiento del compilador</h2> <h2>Esquema de funcionamiento del compilador</h2>
<p>No est&aacute; de m&aacute;s tener una idea de las operaciones que hace el <p align="justify">No est&aacute; de m&aacute;s tener una idea de las operaciones
compilador, especialmente por si surge alg&uacute;n problema, para saber de que hace el compilador, especialmente por si surge alg&uacute;n problema, para
d&oacute;nde puede venir el fallo y c&oacute;mo se puede arreglar.</p> saber de d&oacute;nde puede venir el fallo y c&oacute;mo se puede arreglar.</p>
<ol> <div align="justify">
<ol>
<li>Primero, eDIV lee la configuraci&oacute;n del archivo <code>ediv.cfg</code>. <li>Primero, eDIV lee la configuraci&oacute;n del archivo <code>ediv.cfg</code>.
Dicho archivo es necesario, ya que contiene informaci&oacute;n acerca de los Dicho archivo es necesario, ya que contiene informaci&oacute;n acerca de
ajustes por defecto del compilador y las prioridades de las librer&iacute;as.</li> los ajustes por defecto del compilador y las prioridades de las librer&iacute;as.</li>
<li>A continuaci&oacute;n, el programa detecta el idioma del sistema (si no <li>A continuaci&oacute;n, el programa detecta el idioma del sistema (si no
se ha forzado uno en el archivo de configuraci&oacute;n).</li> se ha forzado uno en el archivo de configuraci&oacute;n).</li>
<li>Luego se procesan los argumentos de la l&iacute;nea de comandos.</li> <li>Luego se procesan los argumentos de la l&iacute;nea de comandos.</li>
<li>Despu&eacute;s se carga el archivo fuente (<code>.prg</code>) en memoria <li>Despu&eacute;s se carga el archivo fuente (<code>.prg</code>) en memoria
y se compone el nombre del ejecutable final.</li> y se compone el nombre del ejecutable final.</li>
<li>Seguidamente se comprueba que existe el <em>stub</em> correspondiente al <li>Seguidamente se comprueba que existe el <em>stub</em> correspondiente
Sistema Operativo elegido. El <em>stub</em> es un archivo con extensi&oacute;n al Sistema Operativo elegido. El <em>stub</em> es un archivo con extensi&oacute;n
<code>.rel</code> o <code>.dbg</code> que contiene el primer segmento del <code>.rel</code> o <code>.dbg</code> que contiene el primer segmento del
ejecutable final, al cual despu&eacute;s se agregar&aacute; el c&oacute;digo ejecutable final, al cual despu&eacute;s se agregar&aacute; el c&oacute;digo
del programa compilado.</li> del programa compilado.</li>
<li>A continuaci&oacute;n se llama a una rutina de preparaci&oacute;n que pone <li>A continuaci&oacute;n se llama a una rutina de preparaci&oacute;n que
a cero los datos internos del compilador.</li> pone a cero los datos internos del compilador.</li>
<li>Despu&eacute;s se cargan todas las librer&iacute;as que se encuentran en <li>Despu&eacute;s se cargan todas las librer&iacute;as que se encuentran
el directorio correspondiente.</li> en el directorio correspondiente.</li>
<li>Luego se realiza una primera compilaci&oacute;n que tiene como &uacute;nico <li>Luego se realiza una primera compilaci&oacute;n que tiene como &uacute;nico
objetivo saber qu&eacute; elementos de las librer&iacute;as se utilizan, para objetivo saber qu&eacute; elementos de las librer&iacute;as se utilizan,
poder descartar las librer&iacute;as que no se usan en el programa.</li> para poder descartar las librer&iacute;as que no se usan en el programa.</li>
<li>Se vuelve a llamar a la rutina del paso 6, para restablecer todos los par&aacute;metros <li>Se vuelve a llamar a la rutina del paso 6, para restablecer todos los
del compilador.</li> par&aacute;metros del compilador.</li>
<li>De nuevo se cargan las librer&iacute;as, pero esta vez s&oacute;lamente <li>De nuevo se cargan las librer&iacute;as, pero esta vez s&oacute;lamente
las que se utilizan.</li> las que se utilizan.</li>
<li>Se compila de nuevo el programa. El resultado es un c&oacute;digo intermedio <li>Se compila de nuevo el programa. El resultado es un c&oacute;digo intermedio
que ha reservado &uacute;nicamente la memoria que necesita para las librer&iacute;as que ha reservado &uacute;nicamente la memoria que necesita para las librer&iacute;as
que el programa necesita espec&iacute;ficamente. De esta forma hemos ahorrado que el programa necesita espec&iacute;ficamente. De esta forma hemos ahorrado
mucha memoria y espacio en el paquete final del programa compilado (ejecutable mucha memoria y espacio en el paquete final del programa compilado (ejecutable
+ librer&iacute;as), ya que hemos descartado todas las librer&iacute;as innecesarias.</li> + librer&iacute;as), ya que hemos descartado todas las librer&iacute;as
<li>Se crea el archivo del ejecutable con el contenido del <em>stub</em>. Luego innecesarias.</li>
se agrega el c&oacute;digo intermedio comprimido del programa. Y por &uacute;ltimo, <li>Se crea el archivo del ejecutable con el contenido del <em>stub</em>.
en el caso de que hayamos indicado el par&aacute;metro --debug, a&ntilde;adimos Luego se agrega el c&oacute;digo intermedio comprimido del programa. Y por
informaci&oacute;n de depurado al ejecutable para permitir que funcione el &uacute;ltimo, en el caso de que hayamos indicado el par&aacute;metro --debug,
trazador. </li> a&ntilde;adimos informaci&oacute;n de depurado al ejecutable para permitir
que funcione el trazador. </li>
</ol>
</div>
<ol>
</ol> </ol>
<%end%> <%end%>

View file

@ -1,52 +1,96 @@
<%title%>Finalidad del proyecto<%/title%> <%title%>Finalidad del proyecto<%/title%>
<p align="left"><h1>Finalidad del proyecto</h1></p> <p align="left"><h1>Finalidad del proyecto</h1></p>
<p align="justify">He aqu&iacute; una lista de los objetivos que nos hemos impuesto para el desarrollo de eDIV seg&uacute;n su avance por las distintas versiones:</p> <p align="justify">He aqu&iacute; una lista de los objetivos que nos hemos impuesto
<p align="justify"><ul><li><h2>Versi&oacute;n 0.1</h2> para el desarrollo de eDIV seg&uacute;n su avance por las distintas versiones
<ul><li>Capacidad completa de compilar programas creados para DIV2 generando su correspondiente c&oacute;digo EML (excepto las funciones predefinidas)</li> (los marcados con un <img src="img/tick.gif" width="16" height="16" align="absmiddle"> est&aacute;n
<li>Generaci&oacute;n de archivos ejecutables a partir de un stub (*.rel o *.dbg), con informaci&oacute;n de depurado o sin ella</li> completados en la &uacute;ltima versi&oacute;n):</p>
<li>Ejecuci&oacute;n de programas sin optimizar, gesti&oacute;n de procesos, ejecuci&oacute;n de funciones en las DLL</li> <p align="justify">
<li>SDK</li> <ul>
<li>Soporte de algunas funcionalidades b&aacute;sicas (sprites y algunas funciones)</li> <li>
</ul><li><h2>Versi&oacute;n 0.2</h2> <h2>Versi&oacute;n 0.1</h2>
<ul><li>Trazador de programas</li> <ul>
<li>Soporte completo para gr&aacute;ficos 2D</li> <li>Capacidad completa de compilar programas creados para DIV2 generando
<li>Ejecuci&oacute;n de programas optimizados</li> su correspondiente c&oacute;digo EML (excepto las funciones predefinidas)
<li>Soporte completo de datos de tipo STRING, BYTE y WORD</li> <img src="img/tick.gif" width="16" height="16" align="absmiddle"> </li>
<li>Arreglo de bugs que existiesen en el compilador de DIV2</li> <li>Generaci&oacute;n de archivos ejecutables a partir de un stub (*.rel
</ul><li><h2>Versi&oacute;n 0.3</h2> o *.dbg), con informaci&oacute;n de depurado o sin ella <img src="img/tick.gif" width="16" height="16" align="absmiddle"></li>
<ul><li>IDE que como m&iacute;nimo pueda editar programas y llamar al compilador</li> <li>Ejecuci&oacute;n de programas sin optimizar, gesti&oacute;n de procesos,
<li>Ejecuci&oacute;n <i>perfecta</i> de cualquier programa que no use scroll, modo-7, modo-8, b&uacute;squeda de caminos ni red</li> ejecuci&oacute;n de funciones en las DLL <img src="img/tick.gif" width="16" height="16" align="absmiddle"></li>
<li>Trazador completo</li> <li>SDK <img src="img/tick.gif" width="16" height="16" align="absmiddle"></li>
<li>Soporte para DLLs embebidas en el ejecutable</li> <li>Soporte de algunas funcionalidades b&aacute;sicas (sprites y algunas
</ul><li><h2>Versi&oacute;n 0.4</h2> funciones)</li>
<ul><li>IDE que pueda administrar proyectos, programas, MAPs, FPGs, FNTs, WAVs, etc (no necesariamente poder editarlos)</li> </ul>
<li>Soporte de scroll y b&uacute;squeda de caminos</li> <li>
<li>Mejoras del trazador</li> <h2>Versi&oacute;n 0.2</h2>
<li>Soporte para <i>packfiles</i></li> <ul>
<li>Soporte de ficheros de m&uacute;sica (MOD, S3M, XM)</li> <li>Trazador de programas</li>
</ul><li><h2>Versi&oacute;n 0.5</h2> <li>Soporte completo para gr&aacute;ficos 2D</li>
<ul><li>IDE que pueda editar algunos tipos de archivo (como MAP, FPG, FNT), al menos de forma sencilla, y que sea capaz de modificar el <code>ediv.cfg</code>.</li> <li>Ejecuci&oacute;n de programas optimizados</li>
<li>Soporte de modos 7 y 8</li> <li>Soporte completo de datos de tipo STRING, BYTE y WORD</li>
<li>Soporte de juego en red</li> <li>Arreglo de bugs que existiesen en el compilador de DIV2</li>
<li>Compatibilidad al 100% con cualquier programa hecho para DIV2</li> </ul>
</ul><li><h2>Versi&oacute;n 0.6</h2> <li>
<ul><li>IDE con un editor gr&aacute;fico decente</li> <h2>Versi&oacute;n 0.3</h2>
<li>Implementaci&oacute;n de mejoras en el lenguaje</li> <ul>
<li>Implementaci&oacute;n de nuevas funciones</li> <li>IDE que como m&iacute;nimo pueda editar programas y llamar al compilador</li>
<li>Soporte completo de gr&aacute;ficos de 16 y 24 bits</li> <li>Ejecuci&oacute;n <i>perfecta</i> de cualquier programa que no use scroll,
<li>Soporte para OGG, MP3, IT</li> modo-7, modo-8, b&uacute;squeda de caminos ni red</li>
</ul><li><h2>Versi&oacute;n 0.7</h2> <li>Trazador completo</li>
<ul><li>IDE con capacidad completa para editar MAPs, FPGs, FNTs, PALs, y con capacidad de modificación básica de WAVs y WLDs</li> <li>Soporte para DLLs embebidas en el ejecutable</li>
<li>M&aacute;s funciones nuevas</li> </ul>
<li>Soporte de canal Alpha (gr&aacute;ficos de 32 bits)</li> <li>
</ul><li><h2>Versi&oacute;n 0.8</h2> <h2>Versi&oacute;n 0.4</h2>
<ul><li>IDE con capacidad completa para editar WAVs y WLDs</li> <ul>
<li>Soporte de modo-6</li> <li>IDE que pueda administrar proyectos, programas, MAPs, FPGs, FNTs, WAVs,
<li>Capacidad para renderizar los modos 7 y 8 usando OpenGL</li> etc (no necesariamente poder editarlos)</li>
</ul><li><h2>Versi&oacute;n 0.9</h2> <li>Soporte de scroll y b&uacute;squeda de caminos</li>
<ul><li>IDE completo</li> <li>Mejoras del trazador</li>
<li>Soporte de sprites 3D (modo 6 y 9 con ctype=c_screen)</li> <li>Soporte para <i>packfiles</i></li>
</ul><li><h2>Versi&oacute;n 1.0</h2> <li>Soporte de ficheros de m&uacute;sica (MOD, S3M, XM)</li>
<ul><li>Soporte completo de modo-9</li> </ul>
</ul></ul> <li>
<h2>Versi&oacute;n 0.5</h2>
<ul>
<li>IDE que pueda editar algunos tipos de archivo (como MAP, FPG, FNT),
al menos de forma sencilla, y que sea capaz de modificar el <code>ediv.cfg</code>.</li>
<li>Soporte de modos 7 y 8</li>
<li>Soporte de juego en red</li>
<li>Compatibilidad al 100% con cualquier programa hecho para DIV2</li>
</ul>
<li>
<h2>Versi&oacute;n 0.6</h2>
<ul>
<li>IDE con un editor gr&aacute;fico decente</li>
<li>Implementaci&oacute;n de mejoras en el lenguaje</li>
<li>Implementaci&oacute;n de nuevas funciones</li>
<li>Soporte completo de gr&aacute;ficos de 16 y 24 bits</li>
<li>Soporte para OGG, MP3, IT</li>
</ul>
<li>
<h2>Versi&oacute;n 0.7</h2>
<ul>
<li>IDE con capacidad completa para editar MAPs, FPGs, FNTs, PALs, y con
capacidad de modificación básica de WAVs y WLDs</li>
<li>M&aacute;s funciones nuevas</li>
<li>Soporte de canal Alpha (gr&aacute;ficos de 32 bits)</li>
</ul>
<li>
<h2>Versi&oacute;n 0.8</h2>
<ul>
<li>IDE con capacidad completa para editar WAVs y WLDs</li>
<li>Soporte de modo-6</li>
<li>Capacidad para renderizar los modos 7 y 8 usando OpenGL</li>
</ul>
<li>
<h2>Versi&oacute;n 0.9</h2>
<ul>
<li>IDE completo</li>
<li>Soporte de sprites 3D (modo 6 y 9 con ctype=c_screen)</li>
</ul>
<li>
<h2>Versi&oacute;n 1.0</h2>
<ul>
<li>Soporte completo de modo-9</li>
</ul>
</ul>
<%end%> <%end%>

Binary file not shown.