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

  FORUM HardWare.fr
  Programmation
  Algo

  théorie des langages

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

théorie des langages

n°310321
Vic le vik​ing
Posté le 15-02-2003 à 14:13:51  profilanswer
 

:hello:  
 
connaitriez vous un site ou un e-book expliquant la théorie des langages ?  :jap:


---------------
Bougredane et bougre d'andouille ne font qu'un !
mood
Publicité
Posté le 15-02-2003 à 14:13:51  profilanswer
 

n°310326
R3g
fonctionnaire certifié ITIL
Posté le 15-02-2003 à 14:25:10  profilanswer
 

keskecé ?

n°310329
lorill
Posté le 15-02-2003 à 14:29:47  profilanswer
 

automates, grammaires & compilation, en gros.
je connais pas de doc bien faite... y'avait un livre sur la compilation sur oopweb mais je l'ai pas trouvé terrible.
 
[:blueflag]

n°310332
R3g
fonctionnaire certifié ITIL
Posté le 15-02-2003 à 14:30:54  profilanswer
 

Ah ok. trop compliqué pour moi, mais par curiosité, drapal.

n°310333
Taz
bisounours-codeur
Posté le 15-02-2003 à 14:31:12  profilanswer
 

moi je crois qu'il s'agit plutot des differents paradigmes

n°310335
Vic le vik​ing
Posté le 15-02-2003 à 14:36:32  profilanswer
 

lorill a écrit :

automates, grammaires & compilation, en gros.
je connais pas de doc bien faite... y'avait un livre sur la compilation sur oopweb mais je l'ai pas trouvé terrible.
 
[:blueflag]


merci pour ton lien :jap:
 
le langage de ta signature, je suppose que tu en es l'auteur ! sur quelle doc t'es tu appuyée ? as tu une formation d'ingénieur ?


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°310337
lorill
Posté le 15-02-2003 à 14:40:16  profilanswer
 

vic le viking a écrit :


le langage de ta signature, je suppose que tu en es l'auteur ! sur quelle doc t'es tu appuyée ?  


pas de doc précise, on va dire que j'ai pas mal regardé le fonctionnement d'autres langages comme python, ruby, ferite..., et que ca fait un bout de temps que je lis des articles & news dans ce domaine. Apres le reste c'est un peu de reflexion et pas mal de bon sens.
 
Mais cela dit, si quelqu'un a une bonne doc, je voudrais bien la lire, parce que je suis persuadé que mon implémentation a plein d'eccueils facilement evitables.
 

vic le viking a écrit :


as tu une formation d'ingénieur ?


pas tout a fait. DUT + licence, mais on n'a pas vraiment appris ca en cours. Juste les automates, dans une certaine mesure, mais je m'en suis même pas servi  [:sinclaire]

n°310343
Vic le vik​ing
Posté le 15-02-2003 à 14:45:52  profilanswer
 

lorill a écrit :


pas de doc précise, on va dire que j'ai pas mal regardé le fonctionnement d'autres langages comme python, ruby, ferite..., et que ca fait un bout de temps que je lis des articles & news dans ce domaine. Apres le reste c'est un peu de reflexion et pas mal de bon sens.  


tes articles & news, tu les lis ou généralement ?


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°310345
lorill
Posté le 15-02-2003 à 14:50:36  profilanswer
 

vic le viking a écrit :


tes articles & news, tu les lis ou généralement ?


lambda.weblogs.com, et le reste un peu au hasard

n°310365
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-02-2003 à 15:16:50  profilanswer
 

[:blueflag]


---------------
J'ai un string dans l'array (Paris Hilton)
mood
Publicité
Posté le 15-02-2003 à 15:16:50  profilanswer
 

n°311557
Vic le vik​ing
Posté le 17-02-2003 à 20:59:15  profilanswer
 

:bounce:


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°312968
nraynaud
lol
Posté le 19-02-2003 à 13:11:16  profilanswer
 

lorill a écrit :


pas de doc précise, on va dire que j'ai pas mal regardé le fonctionnement d'autres langages comme python, ruby, ferite..., et que ca fait un bout de temps que je lis des articles & news dans ce domaine. Apres le reste c'est un peu de reflexion et pas mal de bon sens.
 
Mais cela dit, si quelqu'un a une bonne doc, je voudrais bien la lire, parce que je suis persuadé que mon implémentation a plein d'eccueils facilement evitables.
 
 
pas tout a fait. DUT + licence, mais on n'a pas vraiment appris ca en cours. Juste les automates, dans une certaine mesure, mais je m'en suis même pas servi  [:sinclaire]  


 
J'ai regardé un peu.
Si tu utilises du prototypage, pompe sur Self (le langage de Sun).
 
J'ai l'impression que tu gardes des strings comme clef durant l'exécution, utilises plutôt le système des littéraux (une big table associative du système numéro=>chaîne et ne stocker que des entiers traffiqués dans les instances) de Smalltalk, c'est plus compact et efficace.  
Bien entendu, le GC conservatif est à gicler ; mais bon, je suppose que c'est prévu mais que face à l'ampleur de la tache, tu gardes celui-ci temporairement.
 
J'ai vu dans l'archive de la ML que tu voulais faire un système de copie profonde => utilises le système de marquage (enfin les bits) du GC pour la détection des cycles, si c'est possible (avec un marquage tricolore, c'est pas possible).
 
essaye de "déboxer" tes types primitifs unitaires (int, real) en utilisant un système de bits (comme O'caml et smalltalk par ex.).
 
j'ai une petite question, à quoi sert la fonction (enfin le pointeur) initAttributes dans http://www.lucane.org/cgi-bin/view [...] cvs-markup ?
 
En tout cas, je trouve ça marrant de concevoir un petit langage comme ça, surtout avec un paradigme super-rare.

n°315743
lorill
Posté le 23-02-2003 à 10:35:23  profilanswer
 

nraynaud a écrit :


Bien entendu, le GC conservatif est à gicler ; mais bon, je suppose que c'est prévu mais que face à l'ampleur de la tache, tu gardes celui-ci temporairement.
J'ai vu dans l'archive de la ML que tu voulais faire un système de copie profonde => utilises le système de marquage (enfin les bits) du GC pour la détection des cycles, si c'est possible (avec un marquage tricolore, c'est pas possible).


Le probleme, c'est que les deux points vont ensemble. Tant que j'ai un GC que je ne maitrise pas, je peux difficilement me baser dessus. C'est quoi l'inconvénient du conservatif au fait ?
 

nraynaud a écrit :


essaye de "déboxer" tes types primitifs unitaires (int, real) en utilisant un système de bits (comme O'caml et smalltalk par ex.).


Tu peux préciser ? je vois pas de quoi tu parles.
 
 

nraynaud a écrit :


j'ai une petite question, à quoi sert la fonction (enfin le pointeur) initAttributes dans http://www.lucane.org/cgi-bin/view [...] cvs-markup ?


C'est du au fait que j'utilise mes types directement dans Object. Par exemple, un object a la méthode clone. Donc si je mets cette méthode dans object, j'instancie un objet Method, un StringTable, et pas mal de String. L'objet Method a une méthode clone, donc on recommence, et ca s'arrete jamais. L'idée c'est donc d'instancier les attributs le plus tard possible, c'est a dire au moment ou on accède a la table des attributs.
 
 

nraynaud a écrit :


En tout cas, je trouve ça marrant de concevoir un petit langage comme ça, surtout avec un paradigme super-rare.


 
 :jap: et merci d'avoir passé du temps a regarder mon projet, ca fait toujours plaisir !

n°315955
nraynaud
lol
Posté le 23-02-2003 à 19:08:05  profilanswer
 

lorill a écrit :


1) Le probleme, c'est que les deux points vont ensemble. Tant que j'ai un GC que je ne maitrise pas, je peux difficilement me baser dessus. C'est quoi l'inconvénient du conservatif au fait ?
 
 
2) Tu peux préciser ? je vois pas de quoi tu parles.
 
 
 
3) C'est du au fait que j'utilise mes types directement dans Object. Par exemple, un object a la méthode clone. Donc si je mets cette méthode dans object, j'instancie un objet Method, un StringTable, et pas mal de String. L'objet Method a une méthode clone, donc on recommence, et ca s'arrete jamais. L'idée c'est donc d'instancier les attributs le plus tard possible, c'est a dire au moment ou on accède a la table des attributs.
 
 
 
 
4) :jap: et merci d'avoir passé du temps a regarder mon projet, ca fait toujours plaisir !


Je pense qu'il faudrait soit ouvrir un thread soit passer par mail mais on est loin de la théorie là, on est dans le camboui.
 
J'ai numéroté tes paragraphes pour suivre.
 
 
1) Le conservatisme c'est le fait de ne pas déplacer un objet en mémoire, Il est dû dans ton cas au fait qu'en C rien ne ressemble plus à un pointeur qu'en mot de 32 bits. Comme tu ne peux pas déplacer tes objets, ta mémoire se fragmente, ton allocateur est plus complexe (genre un "first-fit" ), et tu consomes une tonne de mémoire.
 
2) boxer un type primitif, c'est lui mettre une "coquille" pour l'adapter au langage, ça vaut dire qu'au moment d'être utilisé par le proc, il faudra le "déboxer" (le sortir de sa coquille). Comme c'est sur des types primitifs, tu passes ta vie à boxer et à déboxer mais tu fais pas grand'chose d'utile dans ton programme. C'est pourquoi, il existe des techniques (bidouilles) pour éviter le boxing. Regarde O'Caml, il y a des entier 32 bits lents et des entiers 31 bits rapides, c'est toute la différence.
petite démo :
http://www.lucane.org/cgi-bin/view [...] cvs-markup

Code :
  1. LuInteger * LuInteger_abs(LuInteger * self)
  2. {
  3.   mpz_t absValue;
  4.   mpz_init(absValue);
  5.   mpz_abs(self->value, absValue);
  6.   return LuInteger_create(mpz_get_str(0, 0, absValue));
  7. }


Et le moins qu'on puisse dire c'est que LuInteger_create est coûteuse derrière. C'est la phase de Boxing.
 
3) J'ai pas tout compris mais ça a une tête de lazy. Quel est l'intérêt de copier l'attribut ?

n°317507
lorill
Posté le 25-02-2003 à 15:44:37  profilanswer
 

nraynaud a écrit :


Je pense qu'il faudrait soit ouvrir un thread soit passer par mail mais on est loin de la théorie là, on est dans le camboui.


ouais... je te file mon adresse par MP

n°317540
chrisbk
-
Posté le 25-02-2003 à 16:09:22  profilanswer
 

vic le viking a écrit :

:hello:  
 
connaitriez vous un site ou un e-book expliquant la théorie des langages ?  :jap:  


 
Y'a un e-book ici (http://inger.sourceforge.net/)sur la creation d'un compilo. G pas lu donc je peux pas dire de quoi ca retourne, si c bien ou non (g fais le mien en me basant sur les cours de la fac)
 

n°320178
Vic le vik​ing
Posté le 28-02-2003 à 13:40:47  profilanswer
 

sympa ton book chrisbk :jap:
 
lorill: tu peux m'expliquer brievemant l'algo que tu utilises pour creer ton langage ?


---------------
Bougredane et bougre d'andouille ne font qu'un !
n°320183
lorill
Posté le 28-02-2003 à 13:48:29  profilanswer
 

vic le viking a écrit :


lorill: tu peux m'expliquer brievemant l'algo que tu utilises pour creer ton langage ?


euuuh... déja c'est pas compilé, donc c'est beaucoup plus simple. ensuite c'est une implémentation extrèmement naive...
 
Bon, déja j'ai différents objets représentant le langage (bloc, chaine, tableau, instruction, methode, ...). Je lis le fichier source, et j'instancie mes objets en fonction de ce que je lis. C'est a peu près tout ce qu'il y a a dire.
 
L'interprétation se fait la :  
http://www.lucane.org/cgi-bin/view [...] cvs-markup
 

n°320349
djok_fb
C'était mieux avant!
Posté le 28-02-2003 à 16:13:50  profilanswer
 

c'te question, ca me rappelle mes cours de maitrise info...
 
par contre, il me reste rien sur "theorie de la compilation"...
 
il me reste peut etre des cours de lambda calcul (pour faire des langages fonctionnels comme Scheme, Lisp, Caml, ...)
 
si ca interresse kelkun je peux tenter des scans...
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Algo

  théorie des langages

 

Sujets relatifs
[ théorie ] - L'algorithme le plus balèze que vous connaissez ?theorie des graphes et vocabulaire
[Topic unique] débats sur les langagesHardware, software et langages de programmation
[langages] et si[TOUS LANGAGES] - Conversion de couleurs YUV --> RGB
Théorie de la complexitéJe cherche un editeur de texte qui reconaisse plein de langages pour..
[TOUS LANGAGES] montrez vos codesapprendre les differents langages
Plus de sujets relatifs à : théorie des langages


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR