Article de reference

Pascal intelligent

( Apprenez comment et quand supprimer ce message ) Smart Pascal est un langage de programmation Object Pascal dérivé de Delphi Web Script et adapté à Smart Mobile Studio pour la...

langage de programmation Object Pascal dérivé de Delphi Web Script et adapté à Smart Mobile Studio pour la génération de code machine JavaScript commercial . Langage de développement rapide d'applications (RAD), il intègre une bibliothèque de classes et de composants. Le compilateur Smart Pascal est un compilateur source-à-source qui génère des applications indépendantes du serveur et conformes à HTML5 . Les applications Smart compilées peuvent être exécutées dans un navigateur moderne compatible HTML5 . Un programme compilé est généralement intégré dans un élément conteneur DIV ou peut être affiché en plein écran.

open source , pour la vérification et l'analyse syntaxique. Le 18 mai 2012, Optimale Systemer a annoncé avoir acquis auprès de sa société, Creative IT, les droits d'un générateur de code personnalisé développé par Eric Grange, mainteneur de Delphi Web Script. Eric Grange a introduit les classes anonymes dans Smart Pascal à partir de la version 1.0.

Prototype

Le premier prototype a été publié le 20 décembre 2011. Le projet a fait l'objet d'un article de deux pages dans le magazine Blaise Pascal . La bibliothèque d'exécution s'est enrichie de la prise en charge du SDK Remobjects et d'Embarcadero Datasnap. À partir de la version 2.0, Smart Pascal a également pris en charge NodeJS , les Web Workers et la plateforme de microcontrôleurs Espruino .

Différences linguistiques

Expressions de propriété

En Object Pascal, une propriété est une valeur exposée qui peut être liée à un champ ou à une méthode membre d'une classe. Le consommateur ignore si la propriété est explicitement liée à un champ ou à une méthode d'écriture. Smart Pascal introduit une technique appelée « expressions de propriété ». Elle permet à l'utilisateur de programmer la logique de lecture et d'écriture directement dans les déclarations de propriétés.

L'environnement de développement intégré Smart Pascal permet de créer des applications modulaires orientées objet , conçues pour s'exécuter dans un document HTML . Des fenêtres distinctes peuvent contenir des contrôles, auxquels des événements de code peuvent être associés pour réagir aux actions de l'utilisateur. Smart Mobile Studio intègre un concepteur de formulaires visuel et un éditeur de propriétés . La bibliothèque d'exécution Smart Pascal prend entièrement en charge la création de styles CSS3 , l'interpolation (tweening ), la synchronisation du rafraîchissement de l'affichage, les sprites 2D et 3D gérés par le GPU et WebGL .

Accès à la base de données

Les moteurs WebSQL , IndexedDB et l'API WebStorage sont pris en charge. L'environnement de développement intégré Smart Pascal (Smart IDE) permet également d'accéder à Embarcadero DataSnap, un framework d'accès aux données distantes. L'utilisation de ces bibliothèques d'importation permet aux applications Smart Pascal de lire, d'écrire et de mettre à jour des ensembles de données distants. Smart Pascal est lui-même écrit en Embarcadero Delphi . La bibliothèque d'exécution inclut des classes pour le kit de développement logiciel RemObjects (RemObjects SDK) , un framework d'appel de procédure distante similaire à Microsoft RPC . JSON RPC et WebSockets font également partie de la bibliothèque de classes.

Les opérations sur les tableaux ont été ajoutées à la syntaxe Smart Pascal pour une meilleure compatibilité avec JavaScript. Smart Pascal intègre une fonction pour tous les tableaux, à condition que les types de données correspondent.

Cours anonymes

En Object Pascal traditionnel, toutes les classes héritent d'un type racine appelé TObject . C'était également le cas pour Delphi Web Script. Pour importer des classes JavaScript, il a fallu modifier la dépendance à TObject comme type racine de toutes les classes. Cela permet à l'utilisateur de définir une classe comme externe , et ainsi de créer et d'utiliser des classes JavaScript compatibles avec l'interface, en parallèle de celles écrites en Pascal. Les classes anonymes peuvent également servir d'objets légers.

Soutien limité

La méthode anonyme a été introduite dans Smart Pascal afin d'améliorer la compatibilité avec JavaScript. En Pascal natif, les utilisateurs disposent de procédures de classe et de procédures ordinaires . La seule différence entre les deux est que, pour accéder à une méthode de classe, il faut ajouter « of object » à sa déclaration. Le compilateur n'autorise pas l'accès à une méthode d'objet sans que « of object » soit clairement défini.

Les classes partielles ne sont pas encore une fonctionnalité intégrée à la norme Object Pascal. Smart Pascal prend en charge deux formats de déclaration pour les classes partielles : la syntaxe RemObjects Oxygene Pascal et la variante « type mytype = classe partielle (type ancêtre) ».

En Pascal, un ensemble est une collection d'éléments de même type. La syntaxe Smart Pascal ne prend actuellement en charge que les ensembles d'énumérations avec l'opérateur « in » et les méthodes « include(aSet, aValue) » ou « exclude(aSet, aValue) ». Smart Pascal ne prend pas en charge les génériques . La syntaxe originale de Delphi Web Script Smart Pascal était compatible avec Delphi 7. Les informations de type à l'exécution (RTTI) sont partiellement prises en charge par DWScript, notamment la possibilité d'énumérer les propriétés et les membres de classe. Le compilateur JavaScript Smart Pascal implémente les RTTI si l'option « Émettre les informations RTTI » est définie dans les options du compilateur du projet.