Pascal composant
Le Pascal composant est un langage de programmation dans la tradition du Pascal de Niklaus Wirth, du Modula-2 , du Oberon et de l'Oberon-2 . Il porte le nom du langage de programmation de Pascal mais est incompatible avec lui. Au lieu de cela, c'est une variante et une amélioration mineures d'Oberon-2, conçues et soutenues par une petite compagnie secondaire du ETH Zürich appelée les microsystèmes d'Oberon. Leur ide (environnement de développement Integrated ) s'appelle le constructeur de BlackBox Component. Lorsque la première version a été libérée (1994 comme Oberon/F ) il a présenté une approche originale à la construction graphique de l'interface utilisateurs (GUI) basée sur les formes editable, où des champs et les boutons de commande sont liés aux variables exportées et aux procédures exécutables. Cette approche soutient une certaine similitude au Code-derrière la manière de utilisée dans le .0 de Microsoft au code d'accès dans le XAML .
Une exécution d'Open Source existe pour le .NET et les plates-formes du JVM , des jardins dirigent l'équipe autour de John Gough à l'université de technologie du Queensland en Australie.
Le le 23 juin , des microsystèmes du 2004 Oberon a annoncé que le constructeur composant de boîte noire a été rendu disponible comme téléchargement gratuit et qu'une version de la source ouverte a été prévue. La bêta version de source ouverte a été au commencement libérée en décembre, le 2004 et mise à jour à un dégagement v1.5 final en décembre, le 2005 . Elle inclut le code source complet de l'ide, du compilateur, du programme de mise au point, de l'analyseur de source, du profileur et des bibliothèques de interface et peut également être téléchargée de leur site Web.
La boîte noire Pascal composant emploie les prolongements .odc (ument de = de de c d'o de d de beron de O ) pour des dossiers de document, tels que des fichiers source par exemple, et .osf (ile de f de ymbol de s de beron de = de O ) pour des dossiers de symbole tandis que le point Pascal composant de jardins emploie .cp pour la source et .cps pour des dossiers de symbole. La boîte noire Pascal composant a son propre format exécutable et chargeable .ocf (ile de f d'ode de c de beron de d'objet = de O ) ; il icludes un chargeur de enchaînement d'exécution pour ce format.
Syntaxe
La pleine syntaxe pour le CP, comme donné par le rapport de langue, est montrée ci-dessous. Noter que dans le la forme prolongée de Backus-Naur seulement 34 productions grammaticales sont exigées, juste un davantage que pour le Oberon-2 , bien que ce soit un langage un peu plus évolué.
" de module = d'identification de MODULE ; ; " ; " d'identification d'EXTRÉMITÉ de DeclSeq StatementSeq StatementSeq ;. ImportList = " d'IMPORTATION ; : =" ; identification {" ; , " ; " ; : =" ; " d'identification} ; ; " ;. DeclSeq = {CONST {" de ConstDecl ; ; " ; } | DACTYLOGRAPHIER {" de TypeDecl ; ; " ;} | Variété {" de VarDecl ; ; " ;}} {" de ProcDecl ; ; " ; | " de ForwardDecl ; ; " ;}. " de ConstDecl = d'IdentDef ; =" ; ConstExpr. " de TypeDecl = d'IdentDef ; =" ; Type. " de VarDecl = d'IdentList ; : " ; Type. ProcDecl = PROCÉDÉ IdentDef MethAttributes DeclSeq [COMMENCER l'identification d'EXTRÉMITÉ de StatementSeq]. MethAttributes = NOUVEAU (ABSTRAIT | VIDE | EXTENSIBLE). ForwardDecl = " de PROCÉDÉ ; " de ^ ; IdentDef MethAttributes. FormalPars = " ; (" ; {" ; ; " ; " de FPSection} ;)" ; Type. FPSection = | DANS | DEHORS identification {" ; , " ; " d'identification} ; : " ; Type. Récepteur = " ; (" ; | DANS le " d'identification ; : " ; " d'identification ;)" ;. Type = Qualident | RANGÉE {" ; , " ; ConstExpr} de type | | EXTENSIBLE | FieldList RECORD LIMITÉ {" ; ; " ; EXTRÉMITÉ de FieldList} | INDICATEUR à dactylographier | PROCÉDÉ. FieldList = " ; : " ; Type. StatementSeq = rapport {" ; ; " ; Rapport}. " de rapport = d'indicateur ; : =" ; Expr | Indicateur [" d'ExprList ;)" ;] | SI Expr PUIS StatementSeq {ELSIF Expr PUIS StatementSeq} EXTRÉMITÉ de StatementSeq | CAISSE Expr de cas {" ; |" ; Cas} EXTRÉMITÉ de StatementSeq | TANDIS QU'Expr FONT l'EXTRÉMITÉ de StatementSeq | RÉPÉTER StatementSeq JUSQU'à Expr | POUR le " d'identification ; : =" ; Expr à Expr ConstExpr FONT l'EXTRÉMITÉ de StatementSeq | EXTRÉMITÉ de StatementSeq de BOUCLE | AVEC le garde FAIRE StatementSeq {" ; |" ; Le garde FONT l'EXTRÉMITÉ de StatementSeq} StatementSeq | SORTIE | RETOUR ]. Cas = {" ; , " ; " de CaseLabels} ; : " ; StatementSeq. CaseLabels = ConstExpr ConstExpr. " de garde = de Qualident ; : " ; Qualident. Expr = SimpleExpr SimpleExpr. SimpleExpr = | " ; - " ; Limite {limite d'AddOp}. Limite = facteur {facteur de MulOp}. Facteur = indicateur | nombre | caractère | corde | ZÉRO | Ensemble | " ; (" ; " d'Expr ;)" ; | " ; " de ~ ; Facteur. Ensemble = " ; {" ; {" ; , " ; " d'élément} ;}" ;. Élément = Expr Expr. Relation = " ; =" ; | " ; #" ; | " ; <" ; | " ; <=" ; | " ; >" ; | " ; >=" ; | DANS | EST. AddOp = " ; +" ; | " ; - " ; | OU. MulOp = " ; * " ; | " ; /" ; | Division | Mod | " ; &" ;. Indicateur = Qualident {" ;. " ; identification | " ; " d'ExprList ; " ; | " ; " de ^ ; | " ; (" ; " de Qualident ;)" ; | " ; (" ; " ;)" ;} " ; $" ; . ExprList = Expr {" ; , " ; Expr}. IdentList = IdentDef {" ; , " ; IdentDef}. " ; identification. IdentDef = identification * " ; | " ; - " ;.
| Random links: | Walter Sickert | Antonio García Gutiérrez | Ozzmosis | Stocker-dans-un-stocker | Parc de Hastings | Pascal_componente |