fbpx
Wikipedia

Free Pascal

El Free Pascal es un compilador Pascal portable, libre y de código abierto, que representa una alternativa a los productos comerciales Turbo Pascal y Delphi.

Free Pascal

Compilador Free Pascal
Información general
Tipo de programa compilador
Desarrollador Florian Paul Klämpfl y voluntarios
Lanzamiento inicial 1997
Licencia GNU
Información técnica
Programado en
Versiones
Última versión estable Pestering Peacock25 de noviembre de 2015
Archivos legibles
FreePascal compiled Unit
Archivos editables
FreePascal compiled Unit
Enlaces
Sitio web oficial
Repositorio de código
Seguimiento de errores

Introducción

Free Pascal es un compilador tanto de 32 como de 64 bits para múltiples arquitecturas de CPU y múltiples sistemas operativos. El compilador implementa los dialectos de Pascal de Borland Turbo Pascal y Delphi, además de algunas construcciones de MacPascal. Está disponible para la mayoría de los sistemas operativos populares.

Free Pascal se conocía inicialmente como FPK Pascal. Debido a que FPK son las iniciales del autor, Florian Paul Klämpfl, el FPK Pascal nunca significó "Free Pascal Kompiler", aunque mucha gente pensaba eso; de todos modos, escribir el "Compilador" con "K" es infrecuente en Alemania. A finales de 1997, el nombre del proyecto fue cambiado a Free Pascal Compiler (FPC) (Compilador Free Pascal) para evitar esta confusión y por la cantidad cada vez mayor de gente que contribuía.

FPC es un proyecto razonablemente bien documentado, con manuales que alcanzan las 1800 páginas en total.

Las partes visuales de las bibliotecas de Delphi (el VCL) y la creación de un IDE y un RAD visuales son parte de un proyecto separado, denominado Lazarus.

La distribución de Free Pascal incluye un IDE en modo de texto semejante al de Turbo Pascal. Aunque este IDE se estuvo deteriorando por algún tiempo debido a una falta de mantenimiento, en un esfuerzo común la mayoría de los bugs fueron corregidos, así que ahora está en una muy buena forma.

De manera similar a Turbo Pascal y Delphi, Free Pascal tiene excelente soporte para la integración del lenguaje ensamblador en el código Pascal. Además, soporta múltiples arquitecturas y notaciones.

Dialecto del lenguaje

El FPC adoptó los dialectos estándar de facto de los programadores Pascal, los dialectos de Borland, específicamente Borland Pascal 7 y Delphi 2 para la versión 1.0.x del FPC, y Delphi 6/7 para la versión 2.0.x del FPC.

Sin embargo el proyecto tiene un concepto de "modo de compilación", y el equipo hizo claro que incorporaría los parches para los dialectos estandarizados ANSI/ISO para crear un modo conforme con el estándar.

También, se ha hecho un pequeño esfuerzo de soportar algo de la sintaxis del Apple Pascal, para la fácil interconexión con el Mac OS (X).

Funcionalidad de Delphi faltante en Free Pascal:

  • Delegación usando la palabra clave "implements"
  • Interfaces duales COM IDispatch automáticas (dispinterfaces)
  • dispid en interfaces normales
  • Paquetes:el compilador soporta importación y exportación de clases desde y hacia librerías compartidas (útil, por ejemplo, para Lazarus, el cual implementa el empaquetado de componentes)
  • set types pueden tener diferentes tamaños

Historia

Primeros años

Free Pascal emergió cuando Borland dejó claro que no habría un Borland Pascal 8, y que la versión siguiente sería un producto solamente para Windows (que posteriormente resultó convertirse en Delphi). Un estudiante, Florian Paul Klämpfl, comenzó a trabajar en su propio compilador. El compilador fue escrito desde el principio en el dialecto de Turbo Pascal de Borland y producía código de 32 bits para el DOS extender go32v1, desarrollado en ese tiempo por el proyecto DJGPP. Originalmente el compilador en sí mismo era un ejecutable DOS de 16 bits compilado por Turbo Pascal. Después de dos años, el compilador podía compilarse a sí mismo, así que también llegó a ser de 32 bits.

Expansión

 
IDE FreePascal para Linux. El computador era preparado para ser usado en el 2002 para el National Olympiad in Informatics, China

El compilador inicial de 32 bits fue publicado en la red, y los primeros contribuidores se unieron el proyecto. En los años siguientes a publicarse en Internet, Michael van Canneyt hizo un traslado al Linux, 5 años completos antes de Kylix. El traslado al DOS fue adaptado para el uso en el OS/2 a través del EMX extender. La versión del DOS también mejoró gradualmente, y emigró al go32v2 extender. Esto culminó en el lanzamiento de la versión 0.99.5 que fue usada mucho más extensamente que las versiones anteriores, y el último lanzamiento que apuntaba solamente a la conformidad con el Turbo Pascal. Lanzamientos posteriores agregarían un modo de compatibilidad con Delphi. El 0.99.5 también fue trasladado a sistemas que usaban los CPU de la serie 680x0.

En la versión 0.99.8, fue agregado como destino la compilación para el Win32, y se inició la incorporación de algunas características de Delphi. Fue iniciada la estabilización para el lanzamiento de la versión 1.0, y este hito fue alcanzado en julio de 2000. La serie 1.0.x, y los lanzamientos para estabilización y corrección de errores que siguieron hasta la versión 1.0.10 en julio de 2003 fueron ampliamente usadas como una herramienta tanto empresarial como educativa. Para los lanzamientos de esta serie, el traslado a los CPUs 680x0 fue hecho de nuevo, con lo cual el compilador pudo producir código estable para un número de computadores con procesadores 68k, como sistemas UNIX y AmigaOS.

La siguiente generación

Durante la estabilización de lo que se convirtió en la versión 1.0.x, y especialmente cuando se transportaba a los sistemas m68k, estaba claro que el diseño del generador de código estaba muy limitado de muchas maneras. Los dos problemas más importantes eran que (1) agregar procesadores significaba básicamente que había que reescribir el generador de código, y (2) la asignación de registros estaba basada en un principio que era difícil de mantener e inflexible, obligando a tener 3 registros entre los bloques de construcción.

Por estas razones, FPC 1.1.x se separó de la rama principal del 1.0.x, en diciembre de 1999. Al principio, los cambios eran sobre todo limpieza, reescritura de código, en todas las partes del compilador; entonces se reescribieron el generador de código y la asignación de registros. Como un bono, se agregó la compatibilidad que faltaba con Delphi.

El trabajo sobre 1.1.x continuó lentamente pero con constancia, y a finales de 2003 el traslado al PowerPC comenzó trabajar, seguido por los traslados al ARM y al Sparc en el verano y otoño de 2004. Continuó luego el traslado al AMD64 a principios de 2004. Este último efectivamente convirtió al compilador en uno de 32 y 64 bits.

En noviembre de 2003, un primer lanzamiento beta de la rama del 1.1.x fue empaquetado, y para la ocasión, el número de versión fue subido a 1.9.0. Estos fueron seguidos rápidamente por 1.9.2 y 1.9.4. La versión 1.9.4 fue especial porque fue la primera versión con soporte para Mac OS X.

El trabajo continuó con la versión 1.9.6 en enero de 2005, 1.9.8 a finales de febrero de 2005, 2.0.0 en mayo de 2005, 2.0.2 en diciembre de 2005 y 2.0.4 en agosto de 2006. Actualmente la última versión es la 3.0.3.

El futuro

Mapa de camino a corto plazo (2.1.x)

  • crear y mejorar el soporte para COM y OLE. Esto tiene múltiples facetas:
    • interfaces/vmt compatible con COM
    • Variants, (necesario para OLE)
    • delegación al estilo de implements
  • cambios y mejoras en los formatos de enlazado/depuración/archivo
    • mejora de enlazado inteligente (elimina los archivos .a, menos uso de memoria
    • mejora de "paquetes" y librerías dinámicas soporte PIC! en general
    • enlazado cruzado (cross linking) (actualmente el 2.0 ya tiene bastante capacidad de enlazado cruzado)
    • crossover stabs -> dwarf
    • Algún soporte para resources compatibles con Kylix (todavía bajo discusión)
  • soporte para tipos de archivo nativo de tamaño de 64 bits (hecho)
  • cambios en relación a Apple Pascal
    • tener la capacidad de pasar un subprocedimiento, como un procvar, a un diferente proc;

Algunas de las funcionalidades de destino (especialmente en la sección enlazadora) pudieron requerir reestructuras relacionadas con

  • introducción de un linker interno para algunas plataformas principales (no más LD)
  • reescritura del manejo del módulo (unit)

Plataformas disponibles

La disponibilidad del compilador FPC depende de la versión principal.

Versión 2.4.0, 2.4.2, 2.4.4, 2.6.0

Versión 2.2.4

Versión 2.1.x

Versión 2.0.x

La versión estable actual 2.0.4 soporta lo siguiente

Versión 1.0.x

El previo lanzamiento estable 1.0.x estaba disponible para:

Véase también

  • Lazarus un (IDE) (Integrated Development Environment o Entorno de Desarrollo Integrado) para (RAD) (Rapid Application Development o Desarrollo Rápido de Aplicaciones).

Enlaces externos

  •   Wikilibros alberga un libro o manual sobre Programación en Pascal.
  • Free Pascal (página oficial)
  • Lazarus, un RAD para el FPC
  • MSEide+MSEgui, RAD multiplataforma para el FPC.
  • , página del estado de los ports de FPC al Mac OS clásico. (El port a Mac OS X está a cargo del equipo de FPC Unix)
  • Introduction to Free Pascal 2.0, por Daniël Mantione, una introducción detallada a la nueva versión, y un poco sobre la historia de su desarrollo.
  • , una IDE completamente basada en Win 32 para FPC, que incluye un depurador (trazas, puntos de interrupción y ventanas de observación).
  • Pascal con Free Pascal, en español.


  •   Datos: Q210295
  •   Multimedia: Free Pascal

free, pascal, compilador, pascal, portable, libre, código, abierto, representa, alternativa, productos, comerciales, turbo, pascal, delphi, compilador, información, generaltipo, programacompiladordesarrolladorflorian, paul, klämpfl, voluntarioslanzamiento, ini. El Free Pascal es un compilador Pascal portable libre y de codigo abierto que representa una alternativa a los productos comerciales Turbo Pascal y Delphi Free PascalCompilador Free PascalInformacion generalTipo de programacompiladorDesarrolladorFlorian Paul Klampfl y voluntariosLanzamiento inicial1997LicenciaGNUInformacion tecnicaProgramado enObject PascalPascallenguaje ensambladorVersionesUltima version establePestering Peacock25 de noviembre de 2015Archivos legiblesFreePascal compiled UnitArchivos editablesFreePascal compiled UnitEnlacesSitio web oficial Repositorio de codigo Seguimiento de errores editar datos en Wikidata Indice 1 Introduccion 2 Dialecto del lenguaje 3 Historia 3 1 Primeros anos 3 2 Expansion 3 3 La siguiente generacion 3 4 El futuro 4 Plataformas disponibles 4 1 Version 2 4 0 2 4 2 2 4 4 2 6 0 4 2 Version 2 2 4 4 3 Version 2 1 x 4 4 Version 2 0 x 4 5 Version 1 0 x 5 Vease tambien 6 Enlaces externosIntroduccion EditarFree Pascal es un compilador tanto de 32 como de 64 bits para multiples arquitecturas de CPU y multiples sistemas operativos El compilador implementa los dialectos de Pascal de Borland Turbo Pascal y Delphi ademas de algunas construcciones de MacPascal Esta disponible para la mayoria de los sistemas operativos populares Free Pascal se conocia inicialmente como FPK Pascal Debido a que FPK son las iniciales del autor Florian Paul Klampfl el FPK Pascal nunca significo Free Pascal Kompiler aunque mucha gente pensaba eso de todos modos escribir el Compilador con K es infrecuente en Alemania A finales de 1997 el nombre del proyecto fue cambiado a Free Pascal Compiler FPC Compilador Free Pascal para evitar esta confusion y por la cantidad cada vez mayor de gente que contribuia FPC es un proyecto razonablemente bien documentado con manuales que alcanzan las 1800 paginas en total Las partes visuales de las bibliotecas de Delphi el VCL y la creacion de un IDE y un RAD visuales son parte de un proyecto separado denominado Lazarus La distribucion de Free Pascal incluye un IDE en modo de texto semejante al de Turbo Pascal Aunque este IDE se estuvo deteriorando por algun tiempo debido a una falta de mantenimiento en un esfuerzo comun la mayoria de los bugs fueron corregidos asi que ahora esta en una muy buena forma De manera similar a Turbo Pascal y Delphi Free Pascal tiene excelente soporte para la integracion del lenguaje ensamblador en el codigo Pascal Ademas soporta multiples arquitecturas y notaciones Dialecto del lenguaje EditarEl FPC adopto los dialectos estandar de facto de los programadores Pascal los dialectos de Borland especificamente Borland Pascal 7 y Delphi 2 para la version 1 0 x del FPC y Delphi 6 7 para la version 2 0 x del FPC Sin embargo el proyecto tiene un concepto de modo de compilacion y el equipo hizo claro que incorporaria los parches para los dialectos estandarizados ANSI ISO para crear un modo conforme con el estandar Tambien se ha hecho un pequeno esfuerzo de soportar algo de la sintaxis del Apple Pascal para la facil interconexion con el Mac OS X Funcionalidad de Delphi faltante en Free Pascal Delegacion usando la palabra clave implements Interfaces duales COM IDispatch automaticas dispinterfaces dispid en interfaces normales Paquetes el compilador soporta importacion y exportacion de clases desde y hacia librerias compartidas util por ejemplo para Lazarus el cual implementa el empaquetado de componentes set types pueden tener diferentes tamanosHistoria EditarPrimeros anos Editar Free Pascal emergio cuando Borland dejo claro que no habria un Borland Pascal 8 y que la version siguiente seria un producto solamente para Windows que posteriormente resulto convertirse en Delphi Un estudiante Florian Paul Klampfl comenzo a trabajar en su propio compilador El compilador fue escrito desde el principio en el dialecto de Turbo Pascal de Borland y producia codigo de 32 bits para el DOS extender go32v1 desarrollado en ese tiempo por el proyecto DJGPP Originalmente el compilador en si mismo era un ejecutable DOS de 16 bits compilado por Turbo Pascal Despues de dos anos el compilador podia compilarse a si mismo asi que tambien llego a ser de 32 bits Expansion Editar IDE FreePascal para Linux El computador era preparado para ser usado en el 2002 para el National Olympiad in Informatics China El compilador inicial de 32 bits fue publicado en la red y los primeros contribuidores se unieron el proyecto En los anos siguientes a publicarse en Internet Michael van Canneyt hizo un traslado al Linux 5 anos completos antes de Kylix El traslado al DOS fue adaptado para el uso en el OS 2 a traves del EMX extender La version del DOS tambien mejoro gradualmente y emigro al go32v2 extender Esto culmino en el lanzamiento de la version 0 99 5 que fue usada mucho mas extensamente que las versiones anteriores y el ultimo lanzamiento que apuntaba solamente a la conformidad con el Turbo Pascal Lanzamientos posteriores agregarian un modo de compatibilidad con Delphi El 0 99 5 tambien fue trasladado a sistemas que usaban los CPU de la serie 680x0 En la version 0 99 8 fue agregado como destino la compilacion para el Win32 y se inicio la incorporacion de algunas caracteristicas de Delphi Fue iniciada la estabilizacion para el lanzamiento de la version 1 0 y este hito fue alcanzado en julio de 2000 La serie 1 0 x y los lanzamientos para estabilizacion y correccion de errores que siguieron hasta la version 1 0 10 en julio de 2003 fueron ampliamente usadas como una herramienta tanto empresarial como educativa Para los lanzamientos de esta serie el traslado a los CPUs 680x0 fue hecho de nuevo con lo cual el compilador pudo producir codigo estable para un numero de computadores con procesadores 68k como sistemas UNIX y AmigaOS La siguiente generacion Editar Durante la estabilizacion de lo que se convirtio en la version 1 0 x y especialmente cuando se transportaba a los sistemas m68k estaba claro que el diseno del generador de codigo estaba muy limitado de muchas maneras Los dos problemas mas importantes eran que 1 agregar procesadores significaba basicamente que habia que reescribir el generador de codigo y 2 la asignacion de registros estaba basada en un principio que era dificil de mantener e inflexible obligando a tener 3 registros entre los bloques de construccion Por estas razones FPC 1 1 x se separo de la rama principal del 1 0 x en diciembre de 1999 Al principio los cambios eran sobre todo limpieza reescritura de codigo en todas las partes del compilador entonces se reescribieron el generador de codigo y la asignacion de registros Como un bono se agrego la compatibilidad que faltaba con Delphi El trabajo sobre 1 1 x continuo lentamente pero con constancia y a finales de 2003 el traslado al PowerPC comenzo trabajar seguido por los traslados al ARM y al Sparc en el verano y otono de 2004 Continuo luego el traslado al AMD64 a principios de 2004 Este ultimo efectivamente convirtio al compilador en uno de 32 y 64 bits En noviembre de 2003 un primer lanzamiento beta de la rama del 1 1 x fue empaquetado y para la ocasion el numero de version fue subido a 1 9 0 Estos fueron seguidos rapidamente por 1 9 2 y 1 9 4 La version 1 9 4 fue especial porque fue la primera version con soporte para Mac OS X El trabajo continuo con la version 1 9 6 en enero de 2005 1 9 8 a finales de febrero de 2005 2 0 0 en mayo de 2005 2 0 2 en diciembre de 2005 y 2 0 4 en agosto de 2006 Actualmente la ultima version es la 3 0 3 El futuro Editar Mapa de camino a corto plazo 2 1 x crear y mejorar el soporte para COM y OLE Esto tiene multiples facetas interfaces vmt compatible con COM Variants necesario para OLE delegacion al estilo de implements cambios y mejoras en los formatos de enlazado depuracion archivo mejora de enlazado inteligente elimina los archivos a menos uso de memoria mejora de paquetes y librerias dinamicas soporte PIC en general enlazado cruzado cross linking actualmente el 2 0 ya tiene bastante capacidad de enlazado cruzado crossover stabs gt dwarf Algun soporte para resources compatibles con Kylix todavia bajo discusion soporte para tipos de archivo nativo de tamano de 64 bits hecho cambios en relacion a Apple Pascal tener la capacidad de pasar un subprocedimiento como un procvar a un diferente proc Algunas de las funcionalidades de destino especialmente en la seccion enlazadora pudieron requerir reestructuras relacionadas con introduccion de un linker interno para algunas plataformas principales no mas LD reescritura del manejo del modulo unit Plataformas disponibles EditarLa disponibilidad del compilador FPC depende de la version principal Version 2 4 0 2 4 2 2 4 4 2 6 0 Editar ARM Game Boy Advance Nintendo DS linux Windows CE intel i386 DOS GO32v2 extender FreeBSD FreeBSD 6 x and 7 x linux Mac OS X OS 2 Win32 and Windows CE Windows 98 Windows ME Windows NT Windows 2000 Windows XP Windows Vista Power PC linux Mac OS X Power PC 64 bit linux Mac OS X sparc linux amd64 x86 64 linux Win64Version 2 2 4 Editar ARM linux Windows CE intel i386 DOS GO32v2 extender FreeBSD FreeBSD 6 x and 7 x linux Mac OS X OS 2 Win32 and Windows CE Windows 95 Windows 98 Windows ME Windows NT Windows 2000 Windows XP Windows Vista Power PC linux Mac OS X Power PC 64 bit linux sparc linux amd64 x86 64 linux Win64Version 2 1 x Editar Win64 Mac OS X en la plataforma Intel PowerPC de 64 bitsVersion 2 0 x Editar La version estable actual 2 0 4 soporta lo siguiente Procesadores iA 32 Intel 80386 y compatibles AMD64 x86 64 PowerPC ARM Sparc v8 y v9 sistemas operativos Linux todos los CPUs FreeBSD Mac OS X y Darwin PowerPC Mac OS DOS Go32V2 extender PMode extender usado a veces para sistemas empotrados Win32 OS 2 EMX y nativo Novell Netware WinCEVersion 1 0 x Editar El previo lanzamiento estable 1 0 x estaba disponible para procesadores Intel 80386 y compatibles Motorola 680x0 sistemas operativos Linux x86 m68k FreeBSD NetBSD x86 m68k DOS Go32V2 extender PMode extender a veces usado para proyectos embebidos Win32 OS 2 EMX Amiga Classic m68k plataformas beta BeOS beta SunOS Solaris QNX Windows CEVease tambien EditarLazarus un IDE Integrated Development Environment o Entorno de Desarrollo Integrado para RAD Rapid Application Development o Desarrollo Rapido de Aplicaciones Enlaces externos Editar Wikilibros alberga un libro o manual sobre Programacion en Pascal Free Pascal pagina oficial Lazarus un RAD para el FPC MSEide MSEgui RAD multiplataforma para el FPC FPC on Mac pagina del estado de los ports de FPC al Mac OS clasico El port a Mac OS X esta a cargo del equipo de FPC Unix Introduction to Free Pascal 2 0 por Daniel Mantione una introduccion detallada a la nueva version y un poco sobre la historia de su desarrollo FPS una IDE completamente basada en Win 32 para FPC que incluye un depurador trazas puntos de interrupcion y ventanas de observacion Pascal con Free Pascal en espanol Datos Q210295 Multimedia Free Pascal Obtenido de https es wikipedia org w index php title Free Pascal amp oldid 138002001, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos