home *** CD-ROM | disk | FTP | other *** search
- From: Xavier CREGUT <Xavier.CREGUT@enseeiht.fr>
- To: colnet@loria.fr
- Subject: Probl`emes avec SmallEiffel
- Date: Mon, 20 May 1996 17:40:54 +0200 (MET DST)
-
-
- Bonjour,
-
- Je viens de dÈcouvrir SmallEiffel. Je l'utilise essentiellement chez moi
- sous Linux. Au bureau, j'utilise le compilateur de ISE.
-
- Les deux compilateurs n'ayant pas les mÍmes bibliothËques, j'ai dÈfini pour
- SmallEiffel une classe LINKED_LIST[G] qui simule le comportement de la
- LINKED_LIST de ISE.
-
- J'utilise Ègalement une table de hachage, HTABLE[G, K], que j'ai dÈcidÈ
- d'implanter de maniËre simpliste : une liste de valeurs (hÈritage) et une
- liste de clÈs (clientÈlisme).
-
- La classe XC_TRAVERSABLE [G] dÈfinit des opÈrations de parcours d'une
- structure (start, forth, after, item, etc.). HTABLE [G, K] hÈrite de
- XC_TRAVERSABLE [G].
-
- En Ècrivant ces diffÈrentes classes (version encodÈe ‡ la fin de ce message),
- j'ai dÈcouvert plusieurs problËmes :
-
- 1. le type HTABLE [G, K] n'est pas considÈrÈ comme conforme au type
- XC_TRAVERSABLE [G].
-
- En supprimant le commentaire devant la ligne display(table); de TEST.make
- on obtient le message suivant :
-
- =====[ Message d'erreur ]=======================================================
- ------
- -- SmallEiffel -- Release (- 0.96 / Beta) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- Parsing :
- 1 test.e
- 2 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
- 3 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
- 4 htable.e
- 5 xc_traversable.e
- 6 linked_list.e
- 7 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/string.e
- 8 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/comparable.e
- 9 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer.e
- 10 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer_ref.e
- 11 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/numeric.e
- 12 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean.e
- 13 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean_ref.e
- 14 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/array.e
- 15 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/collection.e
- 16 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/pointer.e
- 17 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/pointer_ref.e
- 18 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_input_output.e
- 19 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_input.e
- 20 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file_read.e
- 21 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file.e
- 22 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_output.e
- 23 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_file_write.e
- 24 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/character.e
- 25 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/character_ref.e
- 26 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/std_error.e
- ****** Error : Type HTABLE[INTEGER,STRING] is not a kind of Type
- XC_TRAVERSABLE[INTEGER] (TYPE_GENERIC).
- Line 21 column 13 in TEST (test.e) :
- table: HTABLE [INTEGER, STRING];
- ^
- Line 28 column 17 in TEST (test.e) :
- display (l: XC_TRAVERSABLE[INTEGER]) is
- ^
- ------
- ****** Error : Real/Formal argument mismatch (3).
- Line 28 column 17 in TEST (test.e) :
- display (l: XC_TRAVERSABLE[INTEGER]) is
- ^
- Line 25 column 14 in TEST (test.e) :
- display(table);
- ^
- ------
- ****** Fatal Error : Bad instruction (when interpreted in TEST).
- Line 25 column 6 in TEST (test.e) :
- display(table);
- ^
- File "test.make" not found. Error(s) during `compile_to_c'.
- /homes/genie-u/cregut/local/tools/SmallEiffel/bin/compile_to_c test make
- ===============================================================================
-
-
- 2. Lorsque je dÈclare une variable de type HTABLE en oubliant le deuxiËme
- paramËtre gÈnÈrique :
- table: HTABLE [INTEGER];
- le compilateur ne signale pas d'erreur et plante
- parce qu'il ne trouve pas le fichier test.make.
-
- =====[ Message d'erreur ]========================================================
- -- SmallEiffel -- Release (- 0.96 / Beta) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare'- Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- Parsing :
- 1 test.e
- 2 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
- 3 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
- 4 htable.e
- 5 xc_traversable.e
- 6 linked_list.e
- sh: 12267 Memory fault
- File "test.make"not found. Error(s) during `compile_to_c'.
- ===============================================================================
-
- 3. Lorsque je veux utiliser le double hÈritage sur LINKED_LIST [G] dans
- HTABLE [G, K] pour redÈfinir les mÈthodes forth, start et go_to et
- utiliser les versions hÈritÈes de ces mÈthodes, SmallEiffel indique une
- ´ Internal error ª sur inherit.
-
- =====[ Message d'erreur ]========================================================
- /homes/genie-u/cregut/local/tools/SmallEiffel/bin/compile_to_c test make
- ^[h-- SmallEiffel -- Release (- 0.96 / Beta) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare'- Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- Parsing :
- 1 test.e
- 2 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/any.e
- 3 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/general.e
- 4 htable.e
- 5 xc_traversable.e
- 6 linked_list.e
- 7 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/string.e
- 8 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/comparable.e
- 9 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer.e
- 10 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/integer_ref.e
- 11 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/numeric.e
- 12 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean.e
- 13 /homes/genie-u/cregut/local/tools/SmallEiffel/lib_std/boolean_ref.e
- ****** Fatal Error : Internal Error #1 in PARENT_LIST.
- Line 14 column 1 in HTABLE (htable.e) :
- inherit
- ^
- ------
- File "test.make"not found. Error(s) during `compile_to_c'.
- ================================================================================
-
-
- Finalement, en utilisant ´ pretty ª, j'ai ÈtÈ surpris de constatÈ que le
- mot-clef deferred n'Ètait pas indentÈ. Est-ce volontaire ?
-
- Xavier CrÈgut.
-
-
- begin 644 SmallEiffel-tests.tar.gz
- M'XL( %"/H#$ ^U9_6[;-A#/O]93,,& *:B=2/[**K<!TLY(@P0)8+M#AR$0
- M5)E*B,B22U&IVV'ON[W%CI^6+#MVMBS%4!^"B#KRCL?C\>XG>C@)XKA/H@C'
- M#88SEAW>LN!CC _PSI.1ZSC==AOM(.0>'37EL^/PIZ!6VVTCU'4[CNMT.\TC
- MZ.ZT'7<'.4]GPFK*,Q90A'9"BF]RMGI<G-Z0D.#X.6QZ1B+)&,](<F/QG4B"
- M">9/#Z&]=Z.3-Q?]/<$/<G:;4LG_$-P33-';0?_T_4AVCP-FQ)R7AT[G\&6W
- MCES7ZSB>TY1C[O"7SRD=9WR,Y$QS.DTSC"3':C3@#Z$?+M*;'_B+%<9!EB%I
- M!OKMM([.4>,8O3L9ON.<:\LBR2VFA EE'][ZH\')+_W!4 V_MFH4\_58-=Y/
- M&)Z@(!-//TJI#PT:,)(F5@TGXYY0<G%V>=[_V;\X&XXJ"B;!'>8*XMCGS;KD
- M@B9VJ]BBK?@\IICBBW9]G1EJP"UT2C%H*=Y-ZK-4<45;\:>YG@):L(S9%"Q
- MOU]>7?;_D"/*QB[8N&!::<J%F>04Z@7/&'A,N4WL6<5SC8;V';26>D_Q%Y:K
- MN ]Y20TIKQV8Y=6K48O3R7FD>6,<D<08J!RCWI1?U)OP!'_)<(Q#]B@1Z23(
- M+3+6M"\L*P).3J%AW&-G7SUT=CGJG_8'^XAD5FV<EK:Q)]]V=^$L90>*PR=
- ML E2JW:-/?/0:0_=>>B\K$INGCW;5\J$*L6\VR_HXVZUS&;8=XBK J5"6YR&
- M02P5A!YZ^WXPO!KTYI-$-)U8M5J(O-<HS&F64NBL"0^I:?.$$5!0$],'$6PO
- M2BF\&Y/XK <D\_&G/(C!,N6(-)W"*.%YI4G;*[N$P1%*4H@.H97=8CCAM0'.
- M\IAQ>ZHQ55!4.&]V6/0&E[)T'BN+@U]*'IY/91;2TX=EGC(6MK>X(B&F&=H
- M\2X5R-RRH*#H7*% ,[0"\2X5\$/' X3OYYNKJXO^R>5#*X#A,EZT*GZ$K'EB
- MLDT(5**VX$ECV!+ORM.BCX0ZPS >N@+&*/F8LPQ-*;G'/V9F%Z"2%+/.^76/
- M5X3[@)(@D34A@P3DARG$FB>G%FT$,<F?,!SF%Y/(&F-9W[H6?PL:5O!?3)([
- M//9CDK$G H'K\%^SW93XS^D<M: #N3!\B_^>A4KX[Q$XK^D>.BV)\W[RW);G
- M=I>B.@GB%N#!9O6PF$MV=RF>BI)GNW74='1&D2<:,I6C&&(YFE&NC3J]B'P^
- MF<9_37#"A!EHG(LZA7.*QAC)TR MP9,I^[(N3=HZL3C%K"9$I1:5A%1Q5X6
- M^% ';#*O^;JZ4BAZA&K@BHY?(U>O#KTRV6N)'=Q'O-[8I%2[?%TY>)^>Y"%I
- M[L/%ZK>R>AF/R\8+8>R2LF5@R7YUD5"O_33R1-U.HZBP.&X42-JSNESW4H@B
- M\4M1NQ8W\2$;+^:>C!3K6$R13Z=SL, 9%&?DJP@V,>R%:T+.."5:;Z&"RM)*
- M 4C6AI+TXG%5EQ!7NP ^VE#1*^3N [1Z0"_H6H4KS-:Z#P.)T[5 PA;!Q=7!
- M/@.:,'&\%%=$A&9L@T!UB])"2,I#SME$O&( EY,:*)ZD]]CGC*71*@]W;V6@
- M-4HN*VB3ZC^3*?;3G"V/U6+JTB/5 >8>+.:14E(+PO!/^)PRN4SE'@' D<9H
- M"VE5ND5FULJYEZ*;8#T3*>'!?1#GN KN%M"==O/40R>#P<FO_(N]@,@*!>.[
- M1&7/1U7\Q_\_Y>W?6OSG.FUS_\<Q(+__ ]X6_ST'K;S_&_6'HT??_C4=<_O7
- M]AS7<U_^N]L_;L0CX&+A7D)<8GOF^E"ES#H:C@9GESS7%)*@'*S@I2GTDLE+
- M>Z>.]D*2?-J#+G7!,R;9- Z^V&+0?@5K%H8@._86KB>U-=?E)*JN3>*#93<E
- ML;PF*=V#D)2;YY.$X1M,[5B4-6Z,[LG@XSFYL??0GN#&!ZMO3@RH @DV3\1B
- M [YUC&[IOZ-J_I^%/J/!/:;94_T.M"[_NT[+Y/\6;[M';K.[S?_/02OS?SEE
- M/;H2N"U3";J><^2U__'O0&,<84KQ&,F2L.27GG(U,-\Q*KR05F 8\\O8ZC?9
- M!D+F&WB#L85/[@U&5V\;-A"2*+V([S<06@KGU\CIFE#>@>_SVG1+6]K2EK:T
- 0I2UMZ7]+?P/OTRS= "@ !"2
-
- end
-
-
- --
- ,
- Xavier CREGUT
- ENSEEIHT - Informatique tel: (+33) 61 58 83 57
- 2, rue Charles Camichel fax: (+33) 61 58 82 09
- F- 31071 TOULOUSE CEDEX e-mail: cregut@enseeiht.fr
-