Necesito una sintaxis completa de Object Pascal (preferiblemente Delphi 2009). Parte de la sintaxis viene dada por los archivos de ayuda, pero no se proporciona toda la información. Así que comencé a recopilar pequeños trozos de información. Recientemente, los agregué a una descripción de sintaxis más o menos completa (como EBNF).Buscando una sintaxis completa de Delphi (objeto pascal)
Aunque parece extenso, todavía hay errores y estoy seguro de que faltan partes (especialmente en la sintaxis .NET). Así que le pregunto a la comunidad SO Delphi. ¿Tiene alguna información o puede corregir los errores? A cambio, proporciono la sintaxis completa a la comunidad. Probablemente le ahorrará tiempo ;-). En el futuro, me gustaría hacer lo mismo para otros idiomas (como C#/C++/Java).
La descripción de la sintaxis que ya tengo está dada: My Syntax sofar. O si te gusta un Text version. (El XHTML se genera a partir de la versión de texto).
Tenga en cuenta que la sintaxis se centra en la parte sintáctica, porque la parte léxica no es realmente un problema.
actualización
tengo una nueva versión de la sintaxis de Delphi. html version. Incluye todas las versiones incluidas 2009. Las extensiones de prisma aún están en la lista de tareas pendientes. Y no estoy seguro si los voy a mantener juntos.
Para los puristas reales, también contiene el código de ensamblador completo (que no admite el 100% completo del conjunto de intel, pero solo faltan algunas instrucciones).
¿Qué estás tratando de lograr, es decir, cuál es tu objetivo final? Una gramática en sí misma no es útil por mucho. ¿Está destinado a ser legible por máquina (por ejemplo, para un generador de analizador sintáctico)? –
@menjaraz, no, no he encontrado un recurso adicional. Pero ya casi termino con la sintaxis XE2 usando cualquier información de fuentes, ayuda, sitios web y prueba y error. –
Su versión 2009 de la gramática Delphi ahora se utiliza en el complemento Sonar Delphi que se ha lanzado en febrero de 2012, disponible en http://docs.codehaus.org/display/SONAR/Delphi+Plugin – mjn