--- rpl/LIMITATIONS 2010/01/26 15:22:44 1.1.1.1 +++ rpl/LIMITATIONS 2010/05/05 08:40:51 1.20 @@ -1,30 +1,41 @@ RESTRICTIONS Only sequential formatted files are supported. -Rajouter les options de compilation dans mkrplso et les versions et dates dans -les pages de manuel. - Économisons notre mépris eut égard au nombre de nécessiteux. Chateaubriand. Mettre les variables dans un arbre avec une liste chaîne des niveaux dans chaque maillon de la pile système. -> version 4.1 -Assembleur sparc +Mettre les variables dans un arbre mis à plat : +[ niveau 1 ][ niveau 2,1 ][ niveau 2,5 ][ niveau 3,1 ]... +avec des pointeur relatifs pour pouvoir copier rapidement par un +memcpy() l'ensemble de la structure de description des variables lors +d'un spawn. -SPARC:ROUTINE -<< - // Arguments d'entrée : --> fonctionne pour INT, REL, CPL, CHN - label1: sethi $g1,$hi(12524) +ATEXIT casse SIGFSTOP lors d'un arrêt par abort ! - call next // fournit le prochain élément de la liste +Empêcher les interruptions ctrlC dans les appels récursifs (evaluation et +sequenceur) +Connexion au terminal de contrôle perdue ! -$g1 contient la base de la pile - La question est : comment charger des objets ? +Routing library unloaded. - .pull $l0 ->> ++++Erreur : Type d'argument invalide pour la commande SWAP [27630] + ++++Information : Génération du fichier rpl-core [27630] ++++Erreur : Type d'argument invalide pour la commande GET [27630] + ++++Erreur : Type d'argument invalide pour la commande >> [27630] ++++Information : Génération du fichier rpl-core [27630] + ++++Erreur : Type d'argument invalide pour la commande > [27630] ++++Information : Génération du fichier rpl-core [27630] + ++++Information : Génération du fichier rpl-core [27630] +tchaikovski:[~/rpl/cvs/optimisation] > ./serveur.rpl + +-> toujours une erreur de type _type d'argument invalide_ ! Dessiner les niveaux sur les graphes { "main" { "default" } { "automatic" 10 } } axes redraw @@ -32,29 +43,55 @@ Ne fonctionne pas... // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction // peut avoir plusieurs interfaces. -ROUTINE - INTERFACE fonction - ALTERN - integer - real matrix - integer/real/complex vector - table - list - RESULT - type - END - END -REQUIRES -PROVIDES -CONTAINS +FONCTION << + INTERFACE + ALTERN + RESULT + REQUIRES + END + END >> -ROUTINE +fonction + INTERFACE + generic + integer scalar + real matrix + complex vector + table + list + binary + name + string + algebraic + expression + file + socket + library + process + sql + mutex + semaphore + CONSTRAINED + 4 pick size 6 pick size same + RESULT + type + END + + INTERFACE + integer + real matrix + integer/real/complex vector + table + list + RESULT + type + END +REQUIRES + variables globales ou définitions +PROVIDES << - -> I - << - >> >> Traiter les expressions et les noms dans les fichiers. Rajouter un @@ -79,7 +116,7 @@ Pseudo inverse dgelss, zgelss Tables dans interface_tex -Fichiers à accès direct -> entretenir une table en mémoire +Fichiers à accès direct -> entretenir une table en mémoire (hsearch()) Les enregistrements sont de la forme : [Position enregistrement suivant][enregistrement] ADDNODE @@ -92,6 +129,9 @@ appelé du noeud maître FOREIGN (pour les variables) +FOREIGN permet à un esclave d'accéder à une variable partagée +du maître. + ADDNOTE envoie les variables de niveau 0 au noeud client. SUBMIT envoie l'adresse de création des variables 'foreign' au client // Maître