Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2786 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5
Page Suivante
Auteur Sujet :

[Ada][Topic Unic][Open Source] Je fais péter mes codes.

n°2445248
rufo
Pas me confondre avec Lycos!
Posté le 24-04-2023 à 15:30:01  profilanswer
 

Reprise du message précédent :

MaybeEijOrNot a écrit :

Ah oui mais en ce moment donner de tels outils librement ça revient à soutenir le gouvernement dans sa politique, je n'aime donc pas trop ce logiciel macroniste. :/


 :whistle:  
 
De toute manière, la GPL v1 est obsolète comme le logiciel :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
mood
Publicité
Posté le 24-04-2023 à 15:30:01  profilanswer
 

n°2446758
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 20-05-2023 à 15:02:59  profilanswer
 


Je ne roule pas au GPL, ton soft n'est pas pour moi :/


---------------
J'ai un string dans l'array (Paris Hilton)
n°2448511
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 12-06-2023 à 16:18:21  profilanswer
 

c'était une blague, laisse couler...


---------------
J'ai un string dans l'array (Paris Hilton)
n°2483509
lady287
La lumière fuse
Posté le 02-11-2024 à 20:20:11  profilanswer
 

Bonsoir.
 
Si ça vous interresse, j'ai un code qui fais ça avec Ada.
 
Ca cherche le premier nom et ça lui colle tous les adjectifs.
 

Loading : Lexique383.tsv
 142673
Voici le décompte du lexique français :  
 48277 noms ;
 64929 verbes ;
 27002 adjectifs ;
 1841 adverbes ;
 88 auxiliaires ;
 35 conjonctions ;
 80 prepositions ;
 171 pronoms ;
 236 onomatopés ;
 0 sans genre ;
 142673Done
Ok !Begin...
word : je : PRO Ok !
word : suis : VER Ok !
word : un : PRO Ok !
word : homme : NOM Ok !
 
Line : le ciel est bleu.
word : le : PRO Ok !
word : ciel : NOM Ok !
word : est : NOM Ok !
word : bleu : ADJ Ok !
 suis
 un
 homme
 le
 ciel
 est bleu
 
 
Line : je suis un homme blanc.
word : je : PRO Ok !
word : suis : VER Ok !
word : un : PRO Ok !
word : homme : NOM Ok !
word : blanc : ADJ Ok !
 suis
 un
 homme
 le
 ciel
 est bleu
 je
 suis
 un
 homme blanc
 
 
Line : je mange une pomme rouge.
word : je : PRO Ok !
word : mange : VER Ok !
word : une : PRO Ok !
word : pomme : NOM Ok !
word : rouge : ADJ Ok !
 suis
 un
 homme
 le
 ciel
 est bleu
 je
 suis
 un
 homme blanc
 je
 mange
 une
 pomme rouge
 
 
Line :  
homme bleu blanc rouge
 
Line : je suis un homme intelligent.
word : je : PRO Ok !
word : suis : VER Ok !
word : un : PRO Ok !
word : homme : NOM Ok !
word : intelligent : ADJ Ok !
homme bleu blanc rouge suis
 un
 homme intelligent
 
 
Line :  
homme bleu blanc rouge intelligent suis
 un
 homme intelligent
 
 
Line :


Message édité par lady287 le 02-11-2024 à 20:22:54
n°2484328
lady287
La lumière fuse
Posté le 12-11-2024 à 18:36:27  profilanswer
 

Bonjour,
 
Vous aimerez peut-être jouer avec.
 
Le jeu consiste à trouver le nom du programme.
 
Il s'agit d'un programme Ada/Prolog dont le but est de sortir du programme en fournissant le bon nom.
 
Le script originel Prolog : nommé "main.pl"
 

Code :
  1. name(main).
  2. is_name(V) :-
  3. name(V), !,
  4. write('Eureka')
  5. ; write('false'),
  6. open('./error.txt', write, Stream),
  7. close(Stream).


 
Le script permettra à Swi-Prolog d'écrire "false" si le nom fourni n'est pas celui attendu puis d'écrire un ficher "error.txt" qui sera effcaer par le program Ada ou d'afficher Eureka si le nom est celui attendu.
 
Le programme Ada est le suivant : nommé main.adb, il est un peu long parce qu'on regénaire un ficher source... Pour le fun.
 

Code :
  1. with Ada.Text_Io;
  2. use Ada;
  3. with System.Os_Lib;
  4. use System;
  5. with Ada.Characters.Handling;
  6. use Ada.Characters;
  7. with Ada.Command_Line;
  8. use Ada.Command_Line;
  9. with Ada.Directories;
  10. use Ada.Directories;
  11. procedure Main is
  12.  
  13.   function System(Cmd : in String) return Integer;
  14.   pragma Import(C, System, "system" );
  15.   Errno : Integer := 0;
  16.  
  17.   Verax : Boolean := False;
  18.   Args   : Os_Lib.Argument_List_Access := new Os_Lib.Argument_List(1..0);
  19.   Pid    : Os_Lib.Process_Id;
  20.   Prolog : Text_Io.File_Type;
  21.   Ada    : Text_Io.File_Type;
  22. begin
  23.  
  24.   Text_Io.Put("Name : " );
  25.   declare
  26.      Name : String := Text_Io.Get_Line;
  27.   begin
  28.      
  29.      Name := Handling.To_Lower(Name);
  30.      
  31.      Errno := System("echo is_name\(" & Name & "\). | /usr/bin/swipl -q -f " & Base_Name(Command_Name) & ".pl" & Character'Val(0));
  32.  
  33.      if Os_Lib.Is_Regular_File("./error.txt" ) then
  34.  
  35.         Os_Lib.Delete_file("./error.txt", Verax);
  36.         Text_Io.Create(Prolog, Text_Io.Out_File, Name & ".pl" );
  37.         Text_Io.Put_Line(Prolog, "name(" & Name & " )." );
  38.         Text_Io.Put_Line(Prolog, "is_name(V) :-" );
  39.         Text_Io.Put_Line(Prolog, " name(V), !," );
  40.         Text_Io.Put_Line(Prolog, " write('Eureka')" );
  41.         Text_Io.Put_Line(Prolog, "; write('false')," );
  42.         Text_Io.Put_Line(Prolog, "open('./error.txt', write, Stream)," );
  43.         Text_Io.Put_Line(Prolog, "close(Stream)." );
  44.         Text_Io.Close(Prolog);
  45.        
  46.         Errno := System("ln -s main bin/" & Name & Character'Val(0));
  47.         if Errno = 0 then
  48.            Text_Io.Create(Ada, Text_Io.Out_File, Name & ".adb" );
  49.  
  50.            
  51.            Text_Io.Put_line(Ada, "with Ada.Text_Io;" );
  52.            Text_Io.Put_line(Ada, "use Ada;" );
  53.            Text_Io.Put_line(Ada, "with System.Os_Lib;" );
  54.            Text_Io.Put_line(Ada, "use System;" );
  55.            Text_Io.Put_line(Ada, "with Ada.Characters.Handling;" );
  56.            Text_Io.Put_line(Ada, "use Ada.Characters;" );
  57.            Text_Io.Put_line(Ada, "with Ada.Command_Line;" );
  58.            Text_Io.Put_line(Ada, "use Ada.Command_Line;" );
  59.            Text_Io.Put_line(Ada, "with Ada.Directories;" );
  60.            Text_Io.Put_line(Ada, "use Ada.Directories;" );
  61.            
  62.            Text_Io.Put_line(Ada, "procedure " & Name & " is" );
  63.            Text_Io.New_Line(Ada);
  64.            Text_Io.Put_Line(Ada, "   function System(Cmd : in String) return Integer;" );
  65.            Text_Io.Put_Line(Ada, "   pragma Import(C, System, ""system"" );" );
  66.            Text_Io.Put_Line(Ada, "   Errno : Integer := 0;" );
  67.            Text_Io.Put_Line(Ada, "   Verax : Boolean := False;" );  
  68.            Text_Io.Put_Line(Ada, "   Args   : Os_Lib.Argument_List_Access;" );
  69.            Text_Io.Put_Line(Ada, "   Pid    : Os_Lib.Process_Id;" );
  70.            Text_Io.Put_Line(Ada, "   Prolog : Text_Io.File_Type;" );
  71.            Text_Io.Put_Line(Ada, "   Ada    : Text_Io.File_Type;" );
  72.            Text_Io.Put_Line(Ada, "begin" );
  73.            Text_Io.New_Line(Ada);
  74.            Text_Io.Put_Line(Ada, "   Text_Io.Put(""Name : "" );" );
  75.            Text_Io.Put_Line(Ada, "   declare" );
  76.            Text_Io.Put_Line(Ada, "      Name : String := Text_Io.Get_Line;" );
  77.            Text_Io.Put_Line(Ada, "   begin" );
  78.            Text_Io.New_Line(Ada);
  79.            Text_Io.Put_Line(Ada, "      Name := Handling.To_Lower(Name);" );
  80.            Text_Io.Put_Line(Ada, "      Errno := System(""echo is_name\("" & Name & ""\). | /usr/bin/swipl -q -f "" & Base_Name(Command_Name) & "".pl"" & Character'Val(0));" );
  81.            Text_Io.Put_Line(Ada, "      if Errno /= 0 then" );
  82.            Text_Io.Put_Line(Ada, "         Text_Io.Create(Prolog, Text_Io.Out_File, Name & "".pl"" );" );
  83.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, ""name("" & Name & "" )."" );" );
  84.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, ""is_name(V) :-"" );" );
  85.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, "" name(V), !,"" );" );
  86.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, "" write('Eureka')"" );" );
  87.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, ""; write('false'),"" );" );
  88.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, ""open('./error.txt', write, Stream),"" );" );
  89.            Text_Io.Put_Line(Ada, "         Text_Io.Put_Line(Prolog, ""close(Stream)."" );" );
  90.            Text_Io.Put_Line(Ada, "         Text_Io.Close(Prolog);" );
  91.            Text_Io.Put_Line(Ada, "         Errno := System(""ln -s main bin/"" & Name & Character'Val(0));" );
  92.            Text_Io.Put_Line(Ada, "         pid := Os_Lib.Non_Blocking_Spawn(""./bin/"" & Name, Args.all);" );
  93.            Text_Io.Put_Line(Ada, "      end if;" );Errno := System("ln -s main bin/" & Name & Character'Val(0));
  94.            Text_Io.Put_Line(Ada, "   end;" );
  95.            Text_Io.Put_Line(Ada, "end " & Name & ";" );
  96.  
  97.            Text_Io.Close(Ada);
  98.  
  99.            Os_Lib.Spawn("./bin/" & Name, Args.all, verax);
  100.            
  101.         else
  102.            Text_Io.Put("Faillure" );
  103.         end if;
  104.      end if;
  105.  
  106.   end;
  107. exception
  108.   when Text_Io.End_Error =>
  109.      Text_Io.Put_Line("bye!" );
  110. end Main;


 
Ce programme est à compiler pour produire un exécutable qui faudra placer dans le répertoire "$HOME/bin".
 
Celui ci appelle Swi-Prolog avec à l'origine le fichier main.pl en argument puis, si un fichier "error.txt" est présent, regénaire un fichier source, donc ; Et crée un lien sur "bin/main" avec le nom fourni puis appelle le programme main en utilisant le lien nouvellement créé ; Si non termine normalement.
 
 
Test :

XTERM:  9.5%: 18:17:52: 0.00$ main            
Name : Manuel
false
true.
 
 
Name : Manuel
Eureka
true.
 
 
 
 


Message édité par lady287 le 12-11-2024 à 19:19:13
n°2484458
lady287
La lumière fuse
Posté le 13-11-2024 à 19:19:49  profilanswer
 

Bonjour,
 
J'ai trouvé une amélioration à apporter qui donne le résultat voulu en fait.
 
Il faudrait modifier le fichier main.adb en conséquence.
 

Code :
  1. name(main).
  2. is_name(V) :-
  3. name(V), !,
  4. write('Eureka')
  5. ; open('./error.txt', write, Stream),
  6.     close(Stream),
  7.     name(V), !,
  8.     write('').


 
Test :

XTERM: 17.8%: 18:19:18: 0.00$ main            
Name : Manuel
false.
 
 
Name : Manuel
Eureka
true.
 
 
 
 

n°2503512
lady287
La lumière fuse
Posté le 21-07-2025 à 20:52:01  profilanswer
 

Bonjour,
 
J'ai poursuivi l'enrichissement de Skywalker en ajoutant l'agent de dialogue et un system client/serveur web dans le projet main sur sourceforge.
 
C'est évidemment un projet écrit avec Ada ; Qu'est pas pleinnement fonctionnel malgrès tout mais ça fait un peu de taf quand même.
 
La doc est incluse dans le paquet d'archive des sources, c'est au nom de prehander.


---------------
jovalise (C) 2002 Manuel De Girardi
n°2503818
lady287
La lumière fuse
Posté le 27-07-2025 à 14:54:08  profilanswer
 

Bonjour !
 
Je regrète de ne pas avoir eu la présence d'esprit de vous indiquer le nom du projet faisant suite à Skywalker.
 
Comme je suis là ponctuellement pour vous faire pare de l'évolution du projet nommé "main" se trouvant à présent en version 0.6.1r je vous anonce l'implementation de ces derniers jour.
 
En supplement des modes de Skywalker vous trouverez les modes suivants :
 
Maj+F4 : un menu pour gérer le serveur web et une fonction "search" dont l'usage de la touche Entree" menne lors de recherche fructueuse à l'ouverture de la page trouvée avec lynx ; Alors que la recherche commence la localhost ; Les top domaine ciblés sont fr us ca net ; J'en oublie peut - être.
 
Maj+F2 : Projet en cours de développement visant à construire automatiquement une page de documentation ; Bien que la fabrication de cette page pourrait être assuré de manière semi automatique.
 
Maj+F6 : un jeu à l'image d'un guerre des étaloiles.
 
have a nice day.


Message édité par lady287 le 27-07-2025 à 14:55:32

---------------
jovalise (C) 2002 Manuel De Girardi
n°2503976
lady287
La lumière fuse
Posté le 29-07-2025 à 17:55:49  profilanswer
 

Bonjour !
J'avais oublié de vous indiquer une commande supplémentaire dans le mode Engine en cours de développement.
En effet ; La commande "load" permet de charger une documentation.
Bienq que récemment la distribution Debian 10 ai été abandonné ; Vous pouver abandonné la recherche web implémenté ici grâce à la bibliothèque AWS laquelle est aujourd'huit assuré par une suite de paquet dont j'ignore les contraintes.
 
Pour ce mode Engine, vous pouvez créer un programme objet "program" dans un premier temps grâce à la commande "make program" ; Ce qui devrait afficher l'ensemble des objets implémentés que vous pouver ajouter grâce à la commande make.


---------------
jovalise (C) 2002 Manuel De Girardi
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Probleme robot google ? Ma source internet ? aidez moiInterface ADA avec C
Projet de frontend Open-Source pour émulateursOpen Office: Base de données
code source pdf ?Modifier le code source de SIP-Communicator
[JS] Pb avec un page de javascripts et module open flash chart[ADA] /!\ Combien on peux boire de biere JEUDI MIDI §§§ la defense ??
Fonction window.open (javascript) 
Plus de sujets relatifs à : [Ada][Topic Unic][Open Source] Je fais péter mes codes.


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)