{"issue":{"created_at":"2011-12-11T03:30:42Z","state":"open","updated_at":"2011-12-11T11:54:59Z","comments":2,"user":{"gravatar_id":"2dd008fb445f75598c8ff100ca498621","id":1108145,"url":"https://api.github.com/users/jorisgio","avatar_url":"https://secure.gravatar.com/avatar/2dd008fb445f75598c8ff100ca498621?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jorisgio"},"body":"Le traitement des portes est la première étape de la construction du graphe. On y fait une grosse partie d'analyse sémantique, d'analyse de portée et de typage.\r\n\r\nEn sortie, on veut un circuit contenant une map de toutes les portes, avec pour chacune l'environnement local, la liste des entrées et sorties.","assignee":{"gravatar_id":"2dd008fb445f75598c8ff100ca498621","id":1108145,"url":"https://api.github.com/users/jorisgio","avatar_url":"https://secure.gravatar.com/avatar/2dd008fb445f75598c8ff100ca498621?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jorisgio"},"id":2514616,"pull_request":{"patch_url":null,"html_url":null,"diff_url":null},"labels":[],"number":2,"title":"Traitement des portes ","html_url":"https://github.com/jorisgio/lics-compiler/issues/2","closed_at":null,"url":"https://api.github.com/repos/jorisgio/lics-compiler/issues/2","milestone":{"created_at":"2011-12-11T03:23:55Z","state":"open","closed_issues":0,"due_on":"2011-12-11T08:00:00Z","creator":{"gravatar_id":"2dd008fb445f75598c8ff100ca498621","id":1108145,"url":"https://api.github.com/users/jorisgio","avatar_url":"https://secure.gravatar.com/avatar/2dd008fb445f75598c8ff100ca498621?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"jorisgio"},"number":1,"description":"Capable de compiler des circuits avec registre","title":"V2 fonctionnelle","url":"https://api.github.com/repos/jorisgio/lics-compiler/milestones/1","open_issues":4}},"action":"created","comment":{"created_at":"2011-12-11T11:54:59Z","updated_at":"2011-12-11T11:54:59Z","user":{"gravatar_id":"cb99820c7323079efca2591d53dee488","id":1108325,"url":"https://api.github.com/users/Zimmi48","avatar_url":"https://secure.gravatar.com/avatar/cb99820c7323079efca2591d53dee488?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","login":"Zimmi48"},"body":"Je vois en lisant ton Ast qu'on a pas du tout la même conception des portes et des blocs.\r\nTel que tu l'as écrit, les portes sont \"simples\" au sens qu'elles ne font appel qu'à des opérateurs booléens et des registres.\r\nToutes les combinaisons se font au niveau des blocs.\r\nUn problème important de ceci est que si tu veux par exemple créer un additionneur 32 bits, tu créeras d'abord une porte additionneur 1 bit que tu devras ensuite instancier 32 fois en créant des liens entre les blocs. Mais si tu veux ensuite 4 additionneurs 32 bits, tu ne pourras pas instancier 4 fois celui que tu as créé puisque c'est un ensemble de blocs et pas une porte. Tu seras obligé de faire une boucle For. Mais ce sera beaucoup plus compliqué si tu souhaites pouvoir réutiliser cet additionneur à des endroits très différents de ton circuit.","id":3096803,"url":"https://api.github.com/repos/jorisgio/lics-compiler/issues/comments/3096803"}}