Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
D'avance merci, Houssam
On 11 mars 09, at 15:44, Houssam Fakih wrote:
Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
Oui. A priori, il n'y a pas de limite de taille de fichier .ST. La limite que je connais est dans certains compilateurs une limite sur le nombre de littéraux. C'est pour cela que les méthodes dans le .ST sont suivies par un point d'exclamation. Peut-être qu'il n'y en a pas dans ton fichier .ST. Ca peut poser problème.
Noury http://vst.ensm-douai.fr/noury/ -------------- -ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Merci pour ta réponse.
J'ai envoyé un peu vite mon courriel.. Squeak traite bien des fichiers dont la taille dépasse 1 KO. Je voulais parler des blocs de code qui dépassent 1 KO que Squeak ne compile pas.
Ma question : est ce que cette limitation est imposée pour éviter des méthodes avec un nombre de lignes important ou bien y a t-il une autre raison pour cela ?
Houssam
2009/3/11 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 11 mars 09, at 15:44, Houssam Fakih wrote:
Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
Oui. A priori, il n'y a pas de limite de taille de fichier .ST. La limite que je connais est dans certains compilateurs une limite sur le nombre de littéraux. C'est pour cela que les méthodes dans le .ST sont suivies par un point d'exclamation. Peut-être qu'il n'y en a pas dans ton fichier .ST. Ca peut poser problème.
Noury http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
On 12 mars 09, at 15:26, Houssam Fakih wrote:
Merci pour ta réponse.
J'ai envoyé un peu vite mon courriel.. Squeak traite bien des fichiers dont la taille dépasse 1 KO. Je voulais parler des blocs de code qui dépassent 1 KO que Squeak ne compile pas.
Ma question : est ce que cette limitation est imposée pour éviter des méthodes avec un nombre de lignes important ou bien y a t-il une autre raison pour cela ?
Certes, ce n'est pas de l'ordre du bon style d'écrire des méthodes avec plus d'une dizaine de ligne. Mais, c'est un pb d'implantation. Je me demande si cela n'a pas été corrigé dans le nouveau compilo. Mais, je crois c'est l'ancien qui est toujours utilisé dans Squeak.
As-tu essayé avec Pharo ? Probablement, que le nouveau compilateur y est utilisé (ou au moins il devrait l'être).
A noter que rien n'empêche d'avoir des méthodes avec de grands tableaux de literaux ou de longues chaînes de caractères, même avec l'ancien compilo.
Noury
Houssam
2009/3/11 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 11 mars 09, at 15:44, Houssam Fakih wrote:
Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
Oui. A priori, il n'y a pas de limite de taille de fichier .ST. La limite que je connais est dans certains compilateurs une limite sur le nombre de littéraux. C'est pour cela que les méthodes dans le .ST sont suivies par un point d'exclamation. Peut-être qu'il n'y en a pas dans ton fichier .ST. Ca peut poser problème.
Noury http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
--
Simone de Beauvoir - "To catch a husband is an art; to hold him is a job." _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Noury Bouraqadi http://vst.ensm-douai.fr/noury/ -------------- -ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Bonjour,
Je ne connais pas bien squeak et encore moins son compilateur mais ton problème ressemble à un problème que j'ai eu l'occasion de rencontrer un jour sur VisualWorks. En gros l'idée était la suivante : Un branchement conditionnel (ifTrue:, ...) produit l'évaluation de la condition et une instruction de saut (jump ou un truc comme ça) pour 'sauter' pas dessus les instructions à ne pas exécuter. Le saut est limité et s'il y a trop d'instructions dans la branche, le compilateur signale une erreur.
... condition jump --------- . | . | . | suite <------|
En espérant que ça peut aider à trouver une piste. Bonne chance, Jean-François LEFEVRE
2009/3/12 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 12 mars 09, at 15:26, Houssam Fakih wrote:
Merci pour ta réponse.
J'ai envoyé un peu vite mon courriel.. Squeak traite bien des fichiers dont la taille dépasse 1 KO. Je voulais parler des blocs de code qui dépassent 1 KO que Squeak ne compile pas.
Ma question : est ce que cette limitation est imposée pour éviter des méthodes avec un nombre de lignes important ou bien y a t-il une autre raison pour cela ?
Certes, ce n'est pas de l'ordre du bon style d'écrire des méthodes avec
plus d'une dizaine de ligne. Mais, c'est un pb d'implantation. Je me demande si cela n'a pas été corrigé dans le nouveau compilo. Mais, je crois c'est l'ancien qui est toujours utilisé dans Squeak.
As-tu essayé avec Pharo ? Probablement, que le nouveau compilateur y est utilisé (ou au moins il devrait l'être).
A noter que rien n'empêche d'avoir des méthodes avec de grands tableaux de literaux ou de longues chaînes de caractères, même avec l'ancien compilo.
Noury
Houssam
2009/3/11 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 11 mars 09, at 15:44, Houssam Fakih wrote:
Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
Oui. A priori, il n'y a pas de limite de taille de fichier .ST. La limite que je connais est dans certains compilateurs une limite sur le nombre de littéraux. C'est pour cela que les méthodes dans le .ST sont suivies par un point d'exclamation. Peut-être qu'il n'y en a pas dans ton fichier .ST. Ca peut poser problème.
Noury http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31
- September 4, 2009
http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/http://bat710.univ-lyon1.fr/%7Esycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
--
Simone de Beauvoir - "To catch a husband is an art; to hold him is a job." _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Noury Bouraqadi
http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/http://bat710.univ-lyon1.fr/%7Esycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
On 12 mars 09, at 19:45, Jean-François LEFEVRE wrote:
Bonjour,
Je ne connais pas bien squeak et encore moins son compilateur mais ton problème ressemble à un problème que j'ai eu l'occasion de rencontrer un jour sur VisualWorks. En gros l'idée était la suivante : Un branchement conditionnel (ifTrue:, ...) produit l'évaluation de la condition et une instruction de saut (jump ou un truc comme ça) pour 'sauter' pas dessus les instructions à ne pas exécuter. Le saut est limité et s'il y a trop d'instructions dans la branche, le compilateur signale une erreur.
C'est un pb historique car l'offset du jump est codé sur un nombre de bits n limité(10 bits semble coller avec le 1Ko) et il y a dépassement s'il y a trop de lignes.
Noury
... condition jump --------- . | . | . | suite <------|
En espérant que ça peut aider à trouver une piste. Bonne chance, Jean-François LEFEVRE
2009/3/12 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 12 mars 09, at 15:26, Houssam Fakih wrote:
Merci pour ta réponse.
J'ai envoyé un peu vite mon courriel.. Squeak traite bien des fichiers dont la taille dépasse 1 KO. Je voulais parler des blocs de code qui dépassent 1 KO que Squeak ne compile pas.
Ma question : est ce que cette limitation est imposée pour éviter des méthodes avec un nombre de lignes important ou bien y a t-il une autre raison pour cela ?
Certes, ce n'est pas de l'ordre du bon style d'écrire des méthodes avec plus d'une dizaine de ligne. Mais, c'est un pb d'implantation. Je me demande si cela n'a pas été corrigé dans le nouveau compilo. Mais, je crois c'est l'ancien qui est toujours utilisé dans Squeak.
As-tu essayé avec Pharo ? Probablement, que le nouveau compilateur y est utilisé (ou au moins il devrait l'être).
A noter que rien n'empêche d'avoir des méthodes avec de grands tableaux de literaux ou de longues chaînes de caractères, même avec l'ancien compilo.
Noury
Houssam
2009/3/11 Noury Bouraqadi bouraqadi@ensm-douai.fr
On 11 mars 09, at 15:44, Houssam Fakih wrote:
Bonjour la liste,
J'essaye de faire fileIn d'un fichier .st. J'ai une exception avec le message suivant : 'A block compiles more than 1K bytes of code'.
Est ce que vous pourriez m'aider pour comprendre pourquoi il y a cette limitation et qu'est ce que je peux faire pour "fileIn" des fichiers qui dépassent 1 KO.
Oui. A priori, il n'y a pas de limite de taille de fichier .ST. La limite que je connais est dans certains compilateurs une limite sur le nombre de littéraux. C'est pour cela que les méthodes dans le .ST sont suivies par un point d'exclamation. Peut-être qu'il n'y en a pas dans ton fichier .ST. Ca peut poser problème.
Noury http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
--
Simone de Beauvoir - "To catch a husband is an art; to hold him is a job." _______________________________________________ Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Noury Bouraqadi
http://vst.ensm-douai.fr/noury/
-ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Squeak-fr mailing list Squeak-fr@lists.squeakfoundation.org http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
Noury Bouraqadi http://vst.ensm-douai.fr/noury/ -------------- -ESUG 17th International Smalltalk Conference - Brest, France, August 31 - September 4, 2009 http://www.esug.org/Conferences/2009
-17èmes Journées Francophones sur les Systèmes Multi-Agents (JFSMA’09). Lyon, 21-23 Octobre 2009 http://bat710.univ-lyon1.fr/~sycosma/JFSMA09/
squeak-fr@lists.squeakfoundation.org