C est un langage procédural.
Lisaac est un langage intégralement objet. Ce n'est même plus un langage "orienté" objet. C'est un langage objet.
Tout, absolument tout, en lisaac, est objet :
Les types de bases (entiers, char, chaînes), les types élaborés( listes chaînées, tables de hashage (Dictionnary), ensembles, etc...). Lisaac a été conçu pour créer Isaac, un système entièrement et uniquement constitué d'objets dialoguant enrte eux, sans VM.
La difficulté de la traduction de C vers lisaac est de reconnaîtres des structures.
En C tu crée une liste chainée en déclarant une structure, son contenu, et en y définissant un pointeur sur la prochaine structure, d'où l'appelation Liste Chainée.
Une liste chainée, est un tableau infini, contenant ce que tu veux.
Faire une IA qui traduise du C standard, ya pas de problème, mais il est de notoriété publique que beaucoup de logiciel sont codés "à la barbare", avec des astuces, des subtilités difficilement "compréhensibles" pour un logiciel automatique.
Regarde un peu les sources de certains codecs que l'on trouve dans MPlayer pour t'en convaincre...
J'en ai pas mal discuté avec Benoit (Sonntag), le chercheur qui a mis au point lisaac pendant sa thèse, et il lui semble à peu près illusoire de faire un compilateur C vers lisaac. Etant donné qu'il est un des meilleurs chercheurs dans le domaine de la compilation justement, je craint que son avis, même s'il est intuitif, soit assez fondé...
Et c'est vrai qu'à la réflexion, quand tu vois certains sources, tu te pose des questions...
Cela dit, c'est surement possible, mais il y a AMHA plusieurs mois de travail pour un spécialiste chevronné.
Il serait interessant de récupérer le langage intermédiaire de GCC, mais du coup on perdrait les commentaires, les constantes (car inlinée), etc...
Bref, c'est un peu cornellien comme problème.
cela dit il ya peut être des solution auxquelles on a pas pensé...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: idée
Posté par Ontologia (site web personnel) . En réponse au message [débutant]Regexp sur chaîne de longueur inconnu. Évalué à 1.
C est un langage procédural.
Lisaac est un langage intégralement objet. Ce n'est même plus un langage "orienté" objet. C'est un langage objet.
Tout, absolument tout, en lisaac, est objet :
Les types de bases (entiers, char, chaînes), les types élaborés( listes chaînées, tables de hashage (Dictionnary), ensembles, etc...). Lisaac a été conçu pour créer Isaac, un système entièrement et uniquement constitué d'objets dialoguant enrte eux, sans VM.
La difficulté de la traduction de C vers lisaac est de reconnaîtres des structures.
En C tu crée une liste chainée en déclarant une structure, son contenu, et en y définissant un pointeur sur la prochaine structure, d'où l'appelation Liste Chainée.
En lisaac, tu fait
+ mavariable : LINKED_LIST[MONOBJET];
mavariable := LINKED_LIST[MONOBJET].create;
mavariable.add_last monobj1;
mavariable.add_last monobj2;
(mavariable.item 1).print;
Une liste chainée, est un tableau infini, contenant ce que tu veux.
Faire une IA qui traduise du C standard, ya pas de problème, mais il est de notoriété publique que beaucoup de logiciel sont codés "à la barbare", avec des astuces, des subtilités difficilement "compréhensibles" pour un logiciel automatique.
Regarde un peu les sources de certains codecs que l'on trouve dans MPlayer pour t'en convaincre...
J'en ai pas mal discuté avec Benoit (Sonntag), le chercheur qui a mis au point lisaac pendant sa thèse, et il lui semble à peu près illusoire de faire un compilateur C vers lisaac. Etant donné qu'il est un des meilleurs chercheurs dans le domaine de la compilation justement, je craint que son avis, même s'il est intuitif, soit assez fondé...
Et c'est vrai qu'à la réflexion, quand tu vois certains sources, tu te pose des questions...
Cela dit, c'est surement possible, mais il y a AMHA plusieurs mois de travail pour un spécialiste chevronné.
Il serait interessant de récupérer le langage intermédiaire de GCC, mais du coup on perdrait les commentaires, les constantes (car inlinée), etc...
Bref, c'est un peu cornellien comme problème.
cela dit il ya peut être des solution auxquelles on a pas pensé...
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker