2008-10-05 17 views
28

J'ai besoin d'une syntaxe Object Pascal complète (de préférence Delphi 2009). Une partie de la syntaxe est donnée par les fichiers d'aide, mais toutes les informations ne sont pas fournies. J'ai donc commencé à recueillir des bribes d'information. Récemment, j'ai ajouté ceux-ci à une description de syntaxe plus ou moins complète (EBNF like).Recherche d'une syntaxe Delphi complète (objet pascal)

Bien que cela semble important, il y a encore des bogues et je suis sûr que des parties sont manquantes (spécialement dans la syntaxe .NET). Donc, je demande à la communauté SO Delphi. Avez-vous des informations ou pouvez-vous corriger les erreurs? En retour, je fournis la syntaxe complète à la communauté. Cela vous fait probablement gagner du temps ;-). Dans le futur, j'aime faire la même chose pour d'autres langages (comme C#/C++/Java). La description de la syntaxe que j'ai déjà est donnée: My Syntax sofar. Ou si vous aimez un Text version. (Le XHTML est généré à partir de la version texte).

Veuillez noter que la syntaxe se concentre sur la partie syntaxique, car la partie lexicale n'est pas vraiment un problème.

Mise à jour

J'ai une nouvelle version de Delphi syntaxe. html version. Il comprend toutes les versions, y compris 2009. Les extensions de prisme sont toujours sur la liste de todo. Et je ne suis pas sûr si je vais les garder ensemble.

Pour les puristes réels, il contient également le code assembleur complet (qui ne supporte pas la totalité de l'ensemble intel mais seulement quelques instructions manquent).

+0

Une grammaire toute seule n'est pas utile pour beaucoup. Est-il destiné à être lisible par une machine (par exemple pour un générateur d'analyseur)? –

+0

@ menjaraz, non, je n'ai pas trouvé de ressource supplémentaire. Mais j'ai presque fini avec la syntaxe XE2 en utilisant des informations provenant de sources, de l'aide, des sites Web et des essais et erreurs. –

+3

Votre version 2009 de la grammaire Delphi est maintenant utilisée dans le plugin Sonar Delphi qui a été publié en février 2012, disponible sur http://docs.codehaus.org/display/SONAR/Delphi+Plugin – mjn

Répondre

1

Quels sont exactement les bogues et les fonctionnalités qui vous manquent? De la numérisation de votre document, il semble que vous mélangez la syntaxe et la sémantique. Je ne comprends pas pourquoi distinguer SimpleTypeFloat et SimpleTypeOrdinal sur un niveau syntaxique, ou la priorité des opérateurs de code en tant que fonction syntaxique dans AddOp et MulOp. true, false, nil sont des identifiants comme n'importe quel nom de variable que vous choisissez.

0

Vous pouvez toujours lire la source sur le Free Pascal Compiler. Il supporte Object Pascal.

+0

Ou essayez simplement d'exécuter votre analyseur sur la suite de tests FPC. Il a beaucoup d'exemples de programmes les plus "ODD" caractéristiques Obj Pascal –

16

Essayez ceci: DGrok - grammaire Delphi

+0

Cela semble prometteur. Merci! –

+0

Nice. Niveau Delphi 2007 Analyseur en C#. J'aurais aimé qu'il y en ait un au niveau XE. –

+0

@Warren P: [PasParse] (https://github.com/Turbo87/PasParse) est un port Delphi DGrok Profitez ;-) mais encore niveau Delphi 2007 :-( – menjaraz

3

Il n'y a pas de syntaxe complète, publiée pour Delphi. Gardez à l'esprit que .net et win32 delphi ont des syntaxes différentes.

This project possède un analyseur Delphi à la main. Et beaucoup de cas de test de code qui compile mais repousse les limites de la syntaxe.

1

La grammaire de Delphi 7 se trouve à la fin du livre Object Pascal.

Vous voulez dire pour quelques milliers de dollars qu'ils ne vous envoient même pas? Est-ce qu'ils vous envoient même un poster de 6 'x 6'?

+0

Non, je ne les ai pas non plus. Cest pourquoi –

2

Cela pourrait être une bonne aide. C'est le parser utilisé dans TwoDesk's Castalia. Qu'est-ce que vous essayez d'atteindre, c'est-à-dire quel est votre objectif final?

+0

Le FPC en utilisant RAD, Lazarus a également mis en évidence les analyseurs basés sur mw * (plus tard synhighlighter) –