El lenguaje Pascal fue inventado por Niklaus Wirth con la única intención de enseñar la disciplina de la programación y para ello, usar un lenguaje fuertemente tipificado, en el cual prácticamente todo lo que se usa debe declararse previamente (aunque hay una excepción a ello). La virtud de Pascal es que contiene todas las estructuras de datos modernas que cualquier programador en la actualidad necesita y que, en el caso de un intérprete, puede ser útil para además, hacer más simple la vida de los programadores novatos, los que empiezan.

Así hemos hallado Némesis Pascal, el cual es un intérprete del lenguaje como lo definió Wirth en su Pascal: User manual and report, que especifica lo que al menos debe tener un lenguaje de programación para definirse como Pascal. En este caso, el autor lo ha puesto en código abierto, libre, gratuito, y que además, corre en Windows y Linux.

Némesis Pascal está escrito en Delphi y Kilyx (aunque no me queda aún muy claro si esta versión sigue corriendo en las máquinas Linux, pues Kilyx ya no tiene soporte por parte de Embarcadero, los últimos compradores de Delphi y muchas de las tecnologías de Borland.

Las aplicaciones de Némesis Pascal corren en Windows usando controles nativos y en Linux usando la biblioteca CLX. El código fuente de un programa en Némesis Pascal se parece mucho a lo que se vería en Delphi. Por ejemplo:

unit test1;

interface

implementation

procedure main;
begin
    ShowMessage(‘Hello World!’);
end;

end.

Cabe señalar que Némesis Pascal es compatible con Delphi y Kilyx. El sistema usa una versión interna modificada del intérprete de JEDI Pascal. Se puede bajar la versión sin modificar, la original, de este sitio . Gracias a los componentes TJvInterpreterPascal y TJvInterpreterFm (que usa Némesis Pascal internamente), se pueden ejecutar:

Units. Las Units son programas simples en Pascal
Forms. Las formas en Delphi (*.dfm), que son las ventanas donde corren los programas
Reports. Las formas creadas con QuickReports

Némesis Pascal se puede descargar de este sitio. El autor es un español y se le puede contactar en este correo: joxeankoret@yahoo.es.

Siendo un intérprete, corre éste en una máquina virtual que se ejecuta bajo Win32 o Linux. La máquina virtual puede estar en consola o modo gráfico. La única diferencia cuando corre en terminal de texto, es que se soportan las operaciones de la consola.

Hay además un entorno integrado de desarrollo, llamado IDE, que tiene las siguientes características:

  • Editor con sintaxis en color
  • Autocompleta las instrucciones para Pascal, HTML y PSP (Pascal Server Pages, un sistema similar a PHP pero en Pascal)
  • Depurador integrado para las formas de Pascal, units y los documentos PSP
  • Proyectos múltiples, grupos de proyectos
  • Creación rápida de formas, units, units para consola y servicios web
  • Soporte para impresión

Hay tutoriales para el uso de este IDE y documentación de Némesis Pascal aquí, en español.

Sin duda da la impresión de haber sido un proyecto académico, pero que tiene su valor, pues a quien le interese la creación de intérpretes de lenguajes como Pascal, C, etcétera, hallará información que sin duda puede ser muy útil.

Referencias:

Némesis Pascal