home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / contrib / japanese / iconlec3.lzh / ICONLEC3.TXT < prev   
Text File  |  1997-05-08  |  105KB  |  3,063 lines

  1.                                                    Rev.03 1997/05/08 òùé┬é⌐éó
  2.                                                    Rev.01 1997/05/03 òùé┬é⌐éó
  3. üí  Icon > IconÄGïLÆá  é═é╢é▀é╔                      òùé┬é⌐éó
  4.  
  5.   Iconé═ AWKéΓ Perlé╠Æçè╘é╠âeâLâXâgÅêù¥î╛îΩé┼é╖üB
  6.   Iconé═ âfü[â^ì\æóé¬ûLòxé┼üAâeâLâXâgë≡É═é╔ ê╨ù═é≡ö¡è÷é╖éΘ ï¡ù═é╚ɺîΣì\æó
  7. é≡Ä¥é┴é─éóé▄é╖üB
  8.  
  9.               éαé┴é╞üOéQ ÄgéφéΩé─éµéóî╛îΩé╞Ävéóé▄é╖üB
  10.  
  11.   é╡é⌐é╡üAûóé╛ ô·û{îΩé╠ôⁿûσÅæ鬠éáéΦé▄é╣é±é╠é┼üA AWKé╔é┬éóé─üAéáéΘÆ÷ôxé╠
  12. ÆmÄ»é≡ é¿Ä¥é┐é╔é╚é┴é─éóéΘò√é≡ æ╬Å█é╞é╡é─üAôⁿûσìuì└é≡Åæé½é▄é╡é╜üB
  13.  
  14.    üEâeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└ ---AWKeré╠é╜é▀é╠ Iconôⁿûσ---
  15.    üEIconô·ïL ---âeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└éQ---
  16.  
  17.   é▒é╠ IconÄGïLÆáé═ é╗é╠æ▒ò╥é╞é╡é─üAé╗é╠îπ ì∞é┴é╜âvâìâOâëâÇéΓ æOé╠ ìuì└é┼
  18. Åæé½ùÄé╞é╡é╜ òöò¬é╠ ë≡Éαé≡üAé▄é╞é▀é╜éαé╠é┼é╖üB
  19.  
  20.   æOé╠ éQò╥é╠ìuì└é╞ éóé┴é╡éσé╔ é▓ùùé╔é╚é┴é─ Iconé≡Ägé┴é─Æ╕é»éΘé╞ éñéΩé╡éó
  21. é┼é╖üB
  22.  
  23.   Iconé╠âvâìâOâëâÇé¿éµé╤âëâCâuâëâèü[é═üAăé╠é╞é▒éδé⌐éτôⁿÄΦé┼é½é▄é╖üB
  24.             http://www.cs.arizona.edu/icon/index.html
  25.  
  26.   Iconé═ PDSé┼é╖é╠é┼üAé▒é╠ôⁿûσìuì└éαô»é╢ê╡éóé╞é╡é▄é╖üBüiô]ì┌üEò╥ÅWÄ⌐ùRüj
  27.                (This textbook is in the public domain.)
  28.  
  29. û┌ă
  30.          é═é╢é▀é╔
  31.   üiéPüj jsplit.icnüiéPüj
  32.   üiéQüj jsplit.icnüiéQüj
  33.   üiéRüj jsplit.icnüiéRüj
  34.   üiéSüj generatoré╠Ägéóò√üiéPüj
  35.   üiéTüj generatoré╠Ägéóò√üiéQüj
  36.   üiéUüj generatoré╠ì∞éΦò√üiéPüj
  37.   üiéVüj generatoré╠ì∞éΦò√üiéQüj
  38.   üiéWüj generatoré╠é▄é╞é▀
  39.   üiéXüj IYAX.ICN
  40. üiéPéOüj Åçù±
  41. üiéPéPüj ægé▌ìçéφé╣
  42. üiéPéQüj pipeòùé╠âvâìâOâëâÇ
  43. üiéPéRüj ârâfâIûΓæΦé═üAô╣ëôé╡
  44. üiéPéSüj ârâfâIûΓæΦü^ægé▌ìçéφé╣
  45. üiéPéTüj ârâfâIûΓæΦü^è╚ê╒ë≡û@
  46. üiéPéUüj ârâfâIûΓæΦü^ô∩é╡éó
  47. üiéPéVüj ì\æóæ╠ treeò\ĪüiéPüj
  48. üiéPéWüj jimage.icn
  49. üiéPéXüj ì\æóæ╠ treeò\ĪüiéQüj
  50. üiéQéOüj dir2treeüiéPüj
  51. üiéQéPüj dir2treeüiéQüj
  52. üiéQéQüj dir2treeüiéRüj
  53.          é▐é╖é╤
  54.  
  55. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  56. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  57. BGM: La Fiesta / Chick Corea
  58. (icon_224.txt 1997/05/03 PCVAN PIG)
  59.  
  60. üí  Icon > IconÄGïLÆáüiéPüj jsplit.icnüiéPüj         òùé┬é⌐éó
  61.  
  62.   Iconô·ïL é╔ê°é½æ▒é½üAIconÄGïLÆá é╞éóéñâ^âCâgâïé┼üAIconè╓ÿAé╠ é¿ÿbé╡é≡é╡
  63. é─éóé½é╜éó é╞Ävéóé▄é╖üB Iconé╠ÿbæΦé¬æ╜éóé⌐ ÄGïLÆáé╠ò√é¬æ╜éóé⌐é═üAé┐é╞ÉSöz
  64. é╚é╞é▒éδéα éáéΦé▄é╖é¬üB
  65.  
  66.   é╞é▒éδé┼üAégéa£aÉ»é┼é╖é¬éRîÄë║Å{é╔é╚éΘé╞üAù[ò√é╠éUÄ₧ü`éVÄ₧ìáé╔ûkÉ╝é╠ï≤
  67. é╔î⌐éªéΘé╞éóéñé▒é╞é┼üAè·æ╥é╡é─éóé╜é╠é┼é╖é¬üAù]éΦî⌐éªé▄é╣é±üB
  68.   éUÄ₧ìáé═ûóé╛æ╛ùzé¬Æ╛é▌é½é┴é─éóé╚éóé╠é╞üAéVÄ₧ìáé═î⌐ê╒éóé═é╕é╚é╠é┼é╖é¬üA
  69. îïì\ ë_é¬Åoé─é╜éΦüAôVïCé¬ù╟é¡é╚é⌐é┴é╜éΦé╡é─ î⌐éªé╚éóé▒é╞é¬æ╜éóé┼é╖üBîïï╟
  70. ë║Å{é╔é╚é┴é─ é▄é╛éPôxé╡é⌐î⌐é─éóé▄é╣é±üB
  71.  
  72.   é│é─ìíô·é═âVâtâgéiéhérè╓ÿAé╠ procedureé╠æ▒é½é┼üAsplit.icné╠âVâtâgéiéhér
  73. æ╬ë₧é≡éΓé┴é─é▌é╜éóé╞Ävéóé▄é╖üB split.icné═ò╢ÄÜù±é≡éáéΘò╢ÄÜüiâZâbâgüjé┼üA
  74. ïµÉ╪é┴é─ listé╔èiö[é╖éΘéαé╠é┼é╖üB  spaceïµÉ╪éΦéΓ tabïµÉ╪éΦé╠âfü[â^Åêù¥é╔
  75. Ägéóé▄é╖üB  é┼üAé▄é╕üAôûÅëé╠ split.icné╠ò£ÅK é≡üB
  76.  
  77.   ò╢ÄÜù±é⌐éτ ÆPîΩé≡É╪éΦÅoé╡é─ Åæé½Åoé╖ âvâìâOâëâÇé┼é╖üB É╪éΦÅoé╡é╜ ÆPîΩé≡
  78. listé╔é╡é─ Åπê╩âvâìâOâëâÇé╔ôné╖ éΓéΦò√é╞ generatoré┼ Åπê╩é╔ôné╖ éΓéΦò√ é╠
  79. éQÄφù▐é╠éΓéΦò√ é¬ ôⁿé┴é─éóé▄é╖é¬üAîïë╩é═ ô»é╢é┼é╖üB
  80. -----^ SPLIT4.ICN ( date:97-03-29 time:17:04 ) -------------<cut here
  81. # ò╢ÄÜù±é⌐éτé╠âfü[â^é╠É╪éΦÅoé╡é╠âeâXâg
  82. # This file is in the public domain.
  83. # Rev.01 1997/03/29 windy
  84. # list é≡ÄgéñüB
  85. procedure split(line,c)
  86. # stringé≡ cüicsetüjé┼ò¬èäé╡üAlisté╓ò╧è╖é╖éΘ procedure
  87. # Iconôⁿûσìuì└üiéVüjIconé╠ô┴ÆÑüiéTüj âXâLâââô ÄQÅ╞
  88.   /c := ' \t'              # ê°Éöé╔ cé¬Å╚ù¬é│éΩé─éóé╜éτâXâyü[âXé⌐â^âué╞é▌é╚é╖
  89.                            # / é═ nullé⌐é╟éñé⌐é╠â`âFâbâNüBnullé╚éτé╬üDüDüDüB
  90.   /line := &subject        # lineé¬Å╚ù¬é│éΩé─éóéΩé╬üA &subject
  91.   list := []               # û▀éΦÆlùpâèâXâgé≡É╢ɼ
  92.   line ? {                 # line é≡æûì╕æ╬Å█é╞é╖éΘüB
  93.     while tab(upto(~c)) do     # cê╚èOé╠ò╢ÄÜé¬î⌐é┬é⌐é┴é╜éτæûì╕ê╩Æué≡é╗é▒ûÿê┌ô«
  94.       put(list,tab(many(~c)))  # cê╚èOé╠ò╢ÄÜê╚èOüié╖é╚éφé┐ cüjé¬î⌐é┬é⌐éΘê╩Æuûÿ
  95.   }                            # ê┌ô«é╡üAê┌ô«é╡é╜ê╩Æué╠è╘é╠ò╢ÄÜù±é≡listé╓Æ╟ë┴
  96.   return list                  # îïë╩(list)é≡ò╘é╖üB
  97. end
  98.  
  99. # generator é≡ÄgéñüB
  100. # stringé≡ cüicsetüjé┼ò¬èäé╡Åoù═é╖éΘ generator
  101. # Iconô·ïLüiéXüjsuspend/generator ÄQÅ╞
  102. procedure getword(c,s)
  103. # function : split a string with c
  104.   /s := &subject                   # ÄwÆΦé¬û│é»éΩé╬ &subject
  105.   /c := ' \t'                      # ÄwÆΦé¬û│é»éΩé╬âXâyü[âXé⌐â^âué╞é▌é╚é╖üB
  106.   s ? {
  107.     while tab(upto(~c)) do {
  108.       word := tab(many(~c))
  109.       suspend word                 # generatoré╠ÅΩìçé═ suspendé┼îïë╩é≡ò╘é╖üB
  110.     }
  111.   }
  112. end
  113.  
  114. # test data
  115. procedure main()
  116.   s1 := " The Icon Programming Language"
  117.   s2 := "éáé╜éΦ é¬ æO é╚éτ üA ï▀Åè é═ ù╫ üB"   # ÆPîΩé╠è╘é╔âXâyü[âXé≡
  118.                                                # é═é│é±é┼éáéΦé▄é╖üB
  119.   write("ò╢ÄÜù±é⌐éτé╠ÆPîΩé╠ĵéΦÅoé╡âeâXâg")
  120.   write("split.icné┼éΓéΘé╞")
  121.   write("data:\"",s1,"\"")
  122.   n := 0
  123.   s1 ? {                           # s1é≡îƒì⌡æ╬Å█ò╢ÄÜù±é╞é╖éΘüB
  124.     every s := !split() do {       # sé╠ÆPîΩé≡ listé╔èiö[é╡é╜éαé╠é⌐éτ
  125.                                    # éPé┬é╕é┬ĵéΦÅoé╖üB
  126.       write(n +:= 1,":",s)         # ö╘ìåé≡é┬é»é─ÆPîΩé≡Åoù═üB
  127.     }
  128.   }
  129.   write("\ndata:\"",s2,"\"")
  130.   n := 0
  131.   s2 ? every s := !split() do write(n +:= 1,":",s)  # s1é╠Åèéαé▒éñÅæé»é▄é╖üB
  132.   # ü½ü¬ö╘ìåüin +:=1é╠é╞é▒éδüjé≡é┬é»é╚éóé╚éτüAë║é╠ò\î╗é┼énéjé┼é╖üB
  133.   #s2 ? every write(!split())
  134.  
  135. #  write("\ngetword.icné┼éΓéΘé╞")                # split.icné╞îïë╩é═ô»é╢üB
  136. #  write("data:\"",s1,"\"")
  137. #  n := 0
  138. #  s1 ? every s := getword() do write(n +:= 1,":",s)
  139. #  write("\ndata:\"",s2,"\"")
  140. #  n := 0
  141. #  s2 ? every s := getword() do write(n +:= 1,":",s)
  142. end
  143. -----$ SPLIT4.ICN ( lines:62 words:240 ) -------------------<cut here
  144.  
  145.   ô«é⌐é╡é╜îïë╩é═é▒é±é╚òùé╔é╚éΦé▄é╖üB
  146. -----^ SPLIT4.TXT ( date:97-03-29 time:17:04 ) -------------<cut here
  147. ò╢ÄÜù±é⌐éτé╠ÆPîΩé╠ĵéΦÅoé╡âeâXâg
  148. split.icné┼éΓéΘé╞
  149. data:" The Icon Programming Language"
  150. 1:The
  151. 2:Icon
  152. 3:Programming
  153. 4:Language
  154.  
  155. data:"éáé╜éΦ é¬ æO é╚éτ üA ï▀Åè é═ ù╫ üB"
  156. 1:éáé╜éΦ
  157. 2:é¬
  158. 3:æO
  159. 4:é╚éτ
  160. 5:üA
  161. 6:ï▀Åè
  162. 7:é═
  163. 8:ù╫
  164. 9:üB
  165. -----$ SPLIT4.TXT ( lines:18 words:29 ) --------------------<cut here
  166.  
  167.   é▒é▒é┼üAëpò╢é╚éτé╬ ÆPîΩé╠è╘鬠âXâyü[âXé┼ ïµÉ╪éτéΩé─éóé▄é╖ é╠é┼üAÆPîΩé╠
  168. É╪éΦÅoé╡ é¬ ùeê╒é╚é╠é┼é╖üB  ô·û{îΩé┼é═üAÆPîΩé╠è╘é╔ âXâyü[âXé≡ôⁿéΩéΘ ÅKè╡
  169. é═éáéΦé▄é╣é± é╠é┼ É╪éΦÅoé╡é¬éΓé┴é⌐éóé┼é╖üB
  170.   âTâôâvâïé╠ ô·û{ò╢é╔é═üAÆPîΩé╠è╘é╔ âXâyü[âXé≡ôⁿéΩé▄é╡é╜é╠é┼üAÉ╪éΦÅoé╣éΘ
  171. é╠é┼é╖é¬üAÄ└ì█é╠ ô·û{ò╢é┼é═ ô∩é╡éóé┼é╖é╦üB
  172.  
  173.   ëpò╢é┼é═üAÆPîΩé╠ïµÉ╪éΦ鬠" "é┼üAìXé╔ ","é¬Ägéªé▄é╖é¬üA  ô·û{ò╢é┼é═ "üA"
  174. é╛é»é┼ ïµÉ╪éτé╚éóé╞ éóé»é▄é╣é±üB  Iconô·ïLé┼éαüAò╢Å═é≡Åæéóé─éóé─üA "üA"é≡
  175. Ägéñé╞ ò╢Å═鬠ì╫É╪éΩé╔é╚éΦé╖é¼éΘ é╞é▒éδé┼é═üAé┬éó ïµÉ╪éΦé╠é╜é▀é╔ âXâyü[âX
  176. é≡ ôⁿéΩé╜é¡ é╚éΦé▄é╡é╜üB
  177.  
  178.   é┼üAëpò╢é╞ ô»é╢éµéñé╔ ÆPîΩé╠É╪éΦÅoé╡ é╔ Ägéñé╠é═ û│ù¥é┼é╖é¬üAô┴ÆΦé╠ò╢ÄÜ
  179. é┼üAò╢ÄÜù±é≡ É╪éΦò¬é»éΘ âvâìâOâëâÇé≡üAì∞é┴é─é▌éµéñ é╞Ävéóé▄é╖üB
  180.  
  181.   é▄é╜éPâoâCâgò╢ÄÜé╚éτ æSò╢ÄÜÉöé═ éQéTéUé┼é╖é¬üAô·û{îΩé═éQâoâCâgé┼ ò\éφé╡
  182. é▄é╖üB éQéTéUéÿéQéTéUÆ╩éΦé┼üAéUéTéTéRéUò╢ÄÜüB  Ä└ì█é═ éPâoâCâgò╢ÄÜ鬠ì¼ì▌
  183. é╡é▄é╖é╠é┼üAé╗éΩéµéΦé═ Å¡é╚é¡é╚éΦé▄é╖ é¬üAé╗éΩé╔é╡é─éα éQéTéUò╢ÄÜé╠è┤èoé┼
  184. é═ Åêù¥é═ é┼é½é╚éó é╞Ävéóé▄é╖üB
  185.  
  186.   é┼ü`üB  ò╢ÄÜÉöé¬éQîàé═æ╜éó é┬éαéΦé┼ Ägéφé╚éóé╞üAéóé¡éτébéoétö\ù═鬠éáé┴
  187. é─éα Ä└ùpôI é┼é═é╚éóé⌐éαé╡éΩé▄é╣é±üB  é▄éáüAè┐ÄÜâ`âFâbâNé╔ æSè┐ÄÜé╠âZâbâg
  188. é╞Å╞ìçé╡é╜éΦ é╡é╚é»éΩé╬üAæσÅΣòvé╠éµéñé╚ïCéαé╡é▄é╖üB
  189.  
  190.   æOé╠ split4.icné┼üA~cüicset cê╚èOüjé╞éóéñò\î╗é╠Åèé═üAcseté═éPâoâCâgò╢ÄÜ
  191. æSæ╠é╠ÅWìç é┼é╖é╠é┼ ìéüXéQéTéUî┬é┼üAÄgéóò¿ é╔ é╚éΦé▄é╖é¬üAéQâoâCâgò╢ÄÜ é┼
  192. éUéTéTéRéUî┬ é≡ æèÄΦé┼é═üAé▄é╕éóé╛éδéñé╞Ävéóé▄é╖üB
  193.  
  194. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  195. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  196. BGM: Europe/Carlos Santana
  197. (icon_201.txt 1997/03/30 PCVAN PIG)
  198.  
  199. üí  Icon > IconÄGïLÆáüiéQüj jsplit.icnüiéQüj         òùé┬é⌐éó
  200.  
  201.   ìíô·é═üAÆgé⌐éóÉ░éΩé╠ôVïCé┼üAì≈éαî⌐ìáé╞é╚é┴é─éóé▄é╖üBîÄé╔îQë_ ë╘é╔òù
  202. é╠ ùßéªé╠Æ╩éΦüAï¡òù鬠Éüéóé─ùêé▄é╡é╜üB Åté╠ùÆ é┼é╖é╦ü`üB
  203.  
  204.   é│é─üAìíë±é═üAjsplit.icné╠æ▒é½é┼é╖üB split.icné═üAupto()é╞ many()é┼
  205. ì\ɼé│éΩé─éóé▄é╖üB é▒éΩé≡ âVâtâgéiéhéræ╬ë₧é╔ é╡é╜ jupto()é╞ jmany()é╔
  206. é╖éΩé╬éóéóé╠é┼é╖é¬üAéαéñêΩé┬ûΓæΦé¬éáéΦé▄é╖üB
  207.  
  208.   ~cé╞éóéñ ò\î╗é≡ Ägé┴é─ éóé▄é╖üB  é╡é⌐é╡ æOë± é¿ÿbé╡ é╡é▄é╡é╜ éµéñé╔
  209. éQâoâCâgò╢ÄÜé┼ òΓÅWìçüiÄwÆΦò╢ÄÜâZâbâgê╚èO é╠ò╢ÄÜüjé≡ Ägéñé╞ ûcæσé╚ ò╢
  210. ÄÜÉö é╠ Å╞ìç é¬ òKùvé╞é╚éΦé▄é╖ é╠é┼üAjupto_not()é╞ jmany_not() é╞éóéñ
  211. òΓÅWìçé≡ Ägéφé╚éó procedureé≡ ì∞éδéñ é╞ Ävéóé▄é╖üB
  212.  
  213.   é╞éóéñû≤é┼üAăé╔ òΓÅWìçé≡ Ägéφé╚éóé╜é▀ procedureé┼é╖üB
  214. -----^ SJIS5.ICN ( date:97-03-30 time:18:11 ) --------------<cut here
  215. # SJISè╓îW procedure é╗é╠éT
  216. # jsplit.icnùp procedure
  217. # Iconô·ïLüiéQéOüjü`üiéQéQüjâVâtâgéiéhérÅêù¥ ÄQÅ╞
  218. # Rev.01 1997/03/30 windy
  219. # This file is in the public domain.
  220.  
  221. procedure jupto_not(S,s,i1,i2)
  222. # ò╢ÄÜù± sé╠Æåé╠  ÅWìç Sé╔è▄é▄éΩé╚éóò╢ÄÜé╠ê╩Æué≡É╢ɼé╖éΘ generator
  223. # value: ò╢ÄÜé╠ɵô¬ê╩Æu
  224. # üÖé╠òöò¬é≡üAjuptoé╞ ö╗ÆΦÅ≡îÅé≡ ïté╔ é╡é─éáéΦé▄é╖üB
  225. # Rev.01 1997/03/30 windy
  226.   /i1 := 1                               # default
  227.   if /s then {                           # default
  228.     s  := &subject
  229.     i1 := &pos
  230.   }
  231.   /i2 := *s +1                           # default
  232.  
  233.   every L := jpos(s,i1,i2) do {          # ò╢ÄÜé≡ Åçă ÄµéΦÅoé╖üB
  234.     if not member(S,s[L[1]:L[2]]) then { # üÖò╢ÄÜ鬠Sé╔è▄é▄éΩé╚éóâeâXâg
  235.       suspend L[1]
  236.     }
  237.   }
  238. end
  239.  
  240. # ò╢ÄÜù± sé╠Æå &posê╚ì~é┼üAÅWìç Sé╔è▄é▄éΩéΘò╢ÄÜé╠ê╩Æué≡É╢ɼé╖éΘ
  241. # value: ò╢ÄÜé╠ɵô¬ê╩Æu
  242. # üÖé╠òöò¬é≡üAjmanyé╞ ö╗ÆΦÅ≡îÅé≡ ïté╔ é╡é─éáéΦé▄é╖üB
  243. # Rev.01 1997/03/30 windy
  244. procedure jmany_not(S,s,i1,i2)
  245.   /i1 := 1                               # default
  246.   if /s then {                           # default
  247.     s  := &subject
  248.     i1 := &pos
  249.   }
  250.   /i2 := *s +1                           # default
  251.  
  252.   if i1 = i2 then return i2              # ìsûûÄΦôû
  253.   every L := jpos(s,i1,i2) do {          # ÅçăĵéΦÅoé╖üB
  254.     if member(S,s[L[1]:L[2]])            # üÖò╢ÄÜ鬠Sé╔è▄é▄éΩéΘâeâXâg
  255.     then {
  256.       return L[1]
  257.     }
  258.     else {
  259.       if L[2] = i2 then {                # ìsûûé╚éτè▄é▄éΩé╚éóò╢ÄÜé╞é▌é╚é╖üB
  260.         return L[2]
  261.       }
  262.     }
  263.   }
  264.   fail
  265. end
  266.  
  267.  
  268. # SJISâRü[âhé╠ò╢ÄÜù±é╠ò╢ÄÜé╠ɵô¬ê╩Æué≡ö¡É╢é╖éΘ generator
  269. # value: list [1]:ɵô¬ê╩Æu,[2]:ăé╠ò╢ÄÜé╠ɵô¬
  270. # Rev.03 1997/03/02 windy  ö═ê═ûûÄΦôûö▓é»æ╬ì⌠
  271. # Rev.02 1997/03/02 windy  ö═ê═ÄwÆΦüii1,i2üjÆ╟ë┴
  272. # Rev.01 1997/02/27 windy, Rev.03 1997/03/02 windy
  273. procedure jpos(s,i1,i2)
  274. #  write("jpos:",s,":",i1,":",i2)
  275.   mode := 1                              # éPâoâCâgû┌üiü^éQâoâCâgû┌üjâéü[âh
  276.   every i := i1 to (i2 -1) do {          #
  277.     n := ord(s[i])
  278.     case mode of {
  279.             # SJISâRü[âhé╠éPâoâCâgû┌â`âFâbâNüi16ré═16ÉiÉöé≡Īé╖üBüj
  280.       1 :   if {16r80 < n < 16rA0} | {16rDF < n < 16rFD}
  281.             then {                       # éQâoâCâgâRü[âh
  282.               if i = i2 -1 then {        # ö═ê═ûûÄΦôû
  283.                 suspend [i,i+2] 
  284.               }
  285.               else  mode := 2            # ü⌐éQâoâCâgû┌âéü[âhé╓
  286.             }
  287.             else suspend [i,i+1]         # éPâoâCâgâRü[âh
  288.       2 : { # éQâoâCâgâRü[âhé╠éQâoâCâgû┌
  289.             mode := 1                    # âéü[âhé≡éPâoâCâgû┌â`âFâbâNé╓
  290.             suspend [i-1,i+1]            # éQâoâCâgâRü[âh
  291.           }
  292.     }
  293.   }
  294. end
  295.  
  296.  
  297. # test driver
  298. #procedure main()
  299. #  S := set(L := ["d","éª","e","é¿","f","é⌐"]) # îƒì⌡é┼æ{é╖ò╢ÄÜé╠âZâbâg
  300. #  s := "abcdeféáéóéñéªé¿é⌐abcéáéóéñ"          # îƒì⌡æ╬Å█ò╢ÄÜù±
  301. #  write("îƒì⌡æ╬Å█ü½")
  302. #  write(s)
  303. #  writes("æ{é╖ò╢ÄÜ")
  304. #  n := 0
  305. #  every ss := !L do writes(" ",n +:= 1,":",ss)
  306. #  write()
  307. #  write("every write(jupto_not(S\,s\,3\,22))")
  308. #  every write(jupto_not(S,s,3,22))            # jupto_not(S,s,i1,i2)
  309. #  write("write(jmany_not(S\,s\,9\,22))")
  310. #  write(jmany_not(S,s,9,22))                  # jmany_not(S,s,i1,i2)
  311. #  write("write(jmany_not(S\,s\,26))")
  312. #  write(jmany_not(S,s,26))                    # jmany_noté╠ìsûûÄΦôû
  313. #
  314. #  write("Sé╔è▄é▄éΩéΘò╢ÄÜê╚èOé╠É╪éΦÅoé╡")
  315. #  s ? {                                       # jupto_noté╞jmany_not
  316. #    while tab(jupto_not(S)) do {
  317. #      write(tab(jmany_not(S)))
  318. #    }
  319. #  }
  320. #end
  321. -----$ SJIS5.ICN ( lines:106 words:370 ) -------------------<cut here
  322.  
  323. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  324. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  325. BGM: âgâëâCâAâôâOâïüEâuâïü[ü^âAâôüEâïâCâX
  326. (icon_202.txt 1997/03/30 PCVAN PIG)
  327.  
  328. üí  Icon > IconÄGïLÆáüiéRüj jsplit.icnüiéRüj         òùé┬é⌐éó
  329.  
  330.   ìíë±éα jsplit.icné╠æ▒é½é┼é╖üB
  331.   âVâtâgéiéhéræ╬ë₧é╠ split.icnâvâìâOâëâÇé┼é╖üB linké╡é─éóéΘ sjis5é═ æOë±
  332. é╠ âvâìâOâëâÇé┼é╖üB
  333. -----^ SPLIT5.ICN ( date:97-03-30 time:18:38 ) -------------<cut here
  334. # ò╢ÄÜù±é⌐éτé╠âfü[â^é╠É╪éΦÅoé╡é╠âeâXâg
  335. # This file is in the public domain.
  336. # Rev.01 1997/03/30 windy
  337. link sjis5
  338. # list é≡ÄgéñüB
  339. procedure jsplit(S,s)
  340. # split.icné╞ê°Éöé╠Åçé≡ôⁿéΩæ╓éª
  341. # stringé≡ ò╢ÄÜù±é╠âZâbâgS é┼ ò¬èäé╡üAlisté╓ò╧è╖é╖éΘ procedure
  342.   /S := set([" ","\t"])    # ê°Éöé╔ Sé¬Å╚ù¬é│éΩé─éóé╜éτüAspaceé⌐ tab
  343.   /s := &subject           # s鬠Å╚ù¬é│éΩé─éóéΩé╬üA &subject
  344.   list := []               # û▀éΦÆlùpâèâXâgé≡É╢ɼ
  345.   s ? {                    # s é≡æûì╕æ╬Å█é╞é╖éΘüB
  346.     while tab(jupto_not(S)) do     # Sê╚èOé╠ò╢ÄÜé¬î⌐é┬é⌐é┴é╜éτæûì╕ê╩Æué≡
  347.                                    # é╗é▒ûÿê┌ô«
  348.       put(list,tab(jmany_not(S)))  # Sê╚èOé╠ò╢ÄÜê╚èOüié╖é╚éφé┐ Süjé¬î⌐é┬
  349.                                    # é⌐éΘê╩Æuûÿ ê┌ô«é╡üAê┌ô«é╡é╜ê╩Æué╠è╘
  350.   }                                # é╠ò╢ÄÜù±é≡listé╓Æ╟ë┴
  351.   return list              # îïë╩(list)é≡ò╘é╖üB
  352. end
  353.  
  354. # generator é≡ÄgéñüB
  355. # stringé≡ Süisetüjé┼ò¬èäé╡Åoù═é╖éΘ generator
  356. procedure jgetword(S,s)
  357. # function : split a string with S
  358.   /s := &subject                   # ÄwÆΦé¬û│é»éΩé╬ &subject
  359.   /S := set([" ","\t"])            # ÄwÆΦé¬û│é»éΩé╬ spaceé⌐ tab
  360.   s ? {
  361.     while tab(jupto_not(S)) do {
  362.       word := tab(jmany_not(S))
  363.       suspend word                 # generatoré╠ÅΩìçé═ suspendé┼îïë╩é≡ò╘é╖üB
  364.     }
  365.   }
  366. end
  367.  
  368. # test data
  369. procedure main()
  370.   s1 := " The Icon Programming Language"
  371.   s2 := "éáé╜éΦé¬üAæOé╚éτüAï▀Åèé═üAù╫üB"
  372.   write("ò╢ÄÜù±é⌐éτé╠ÆPîΩé╠ĵéΦÅoé╡âeâXâg")
  373.   write("jsplit.icné┼éΓéΘé╞")
  374.  
  375.   write("data:\"",s1,"\"")
  376.   n := 0
  377.   s1 ? every s := !jsplit() do write(n +:= 1,":",s) 
  378.  
  379.   write("\ndata:\"",s2,"\"")
  380.   n := 0
  381.   s2 ? every s := !jsplit(set(["üA","üB"])) do write(n +:= 1,":",s) 
  382.  
  383. #  write("\njgetword.icné┼éΓéΘé╞")         # jsplit.icné╞îïë╩é═ô»é╢üB
  384. #  write("data:\"",s1,"\"")
  385. #  n := 0
  386. #  s1 ? every s := jgetword() do write(n +:= 1,":",s)
  387. #  write("\ndata:\"",s2,"\"")
  388. #  n := 0
  389. #  s2 ? every s := jgetword(set(["üA","üB"])) do write(n +:= 1,":",s)
  390. end
  391. -----$ SPLIT5.ICN ( lines:57 words:210 ) -------------------<cut here
  392.  
  393.   split5 > split5.txté╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  394. -----^ SPLIT5.TXT ( date:97-03-30 time:18:38 ) -------------<cut here
  395. ò╢ÄÜù±é⌐éτé╠ÆPîΩé╠ĵéΦÅoé╡âeâXâg
  396. jsplit.icné┼éΓéΘé╞
  397. data:" The Icon Programming Language"
  398. 1:The
  399. 2:Icon
  400. 3:Programming
  401. 4:Language
  402.  
  403. data:"éáé╜éΦé¬üAæOé╚éτüAï▀Åèé═üAù╫üB"
  404. 1:éáé╜éΦé¬
  405. 2:æOé╚éτ
  406. 3:ï▀Åèé═
  407. 4:ù╫
  408. -----$ SPLIT5.TXT ( lines:13 words:16 ) --------------------<cut here
  409.  
  410.   ìíô·é╠ù[ò√é═üAégéa£aÉ»é¬ù╟é¡î⌐éªé▄é╡é╜üB
  411.  
  412. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  413. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  414. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  415. (icon_203.txt 1997/03/30 PCVAN PIG)
  416.  
  417. üí  Icon > IconÄGïLÆáüiéSüj generatoré╠Ägéóò√üiéPüj  òùé┬é⌐éó
  418.  
  419.   âAâèâ]âiæσé╠ Icon-Webé╔ âAâNâZâXé╡é▄é╡é╜éτüAIcon Newsletteré╠ No.52
  420. é¬üAÅoé─éóé▄é╡é╜üB urlé═üAăé╠Æ╩éΦé┼é╖üB
  421.   http://www.cs.arizona.edu/icon/newsletter/inl52/inl52.html
  422.  
  423.   û┌ăé╠òöò¬é≡ê°ùpé╡é─é¿é½é▄é╖üB
  424. >No. 52 -- April 1, 1997 
  425. >
  426. >Contents
  427. >
  428. >      Mail-Order Program Material 
  429. >      Teaching Icon 
  430. >      Web Links 
  431. >      Native Interface Components in Windows Icon 9.3 
  432. >      Programming Language Handbook 
  433. >      From Our Mail 
  434. >      Knowledge Explorer 
  435.  
  436.   é▓ï╗ûíé╠éáéΘò√é═üAé▓ùùé╔é╚é┴é─ë║é│éóüB
  437.  
  438.   é│é─üAìíô·é═üAIconé╠ô┴ÆÑ é╠éPé┬é┼éáéΘ generatoré╠Ägéóò√ é╔é┬éóé─üA
  439. é¿ÿbé╡ é╡é▄é╖üB
  440.   generatoré╞üAé╗é╠Ägéóò√é≡ éáé░é─ é▌é▄é╡éσéñüB
  441.   Ä└ùßé≡ Äªé╡é╜ò√鬠æüéóé╞Ävéóé▄é╖é╠é┼üAæüæ¼âTâôâvâïé≡üB
  442.       every (generatoré≡è▄é▐Ä«)     é▄é╜é═üA
  443.       every (generatoré≡è▄é▐Ä«)  do ...
  444. é╠èiìDé┼ Ägéóé▄é╖üB
  445. -----^ GEN01.ICN ( date:97-04-01 time:01:02 ) --------------<cut here
  446. # generator Ägéóò√éP
  447. # Rev.01 1997/04/01 windy
  448. procedure main()
  449.   write("generatoré╠Ägéóò√éP")
  450.   write("! : ùvæfé≡ Åçă ÄµéΦÅoé╖")
  451.   
  452.   every writes(" ",!"ABC")              ; write() # string
  453.   every writes(" ",!["D","E","F"])      ; write() # list
  454.   every writes(" ",!set(["G","H","I"])) ; write() # setüiÅçö╘é═û│ò█Å╪üj
  455.   write()
  456.  
  457.   write("! : Åçă ÄµéΦÅoé╡é╠ ægé▌ìçéφé╣")
  458.   every writes(" ",!("MNO") || !("123"))
  459.   write()
  460.   write()
  461.  
  462.   write("! : Åçă ÄµéΦÅoé╡é─üAĵéΦÅoé╖ôxé╔ ë╜é⌐é╠ òtæ╤Åêù¥éαìséñ")
  463.   n := 0
  464.   every s := !"PQR" do write(" ",n +:=1,":",s)
  465.   write()
  466.  
  467.   write("alternation")
  468.   every writes(" ","éá" | "éó" | "éñ")     ; write() # alternation
  469.   every writes(" ",(1 | 2 | 3) + (10 | 20 | 30))
  470.   write()
  471.   write()
  472.  
  473.   write("i to k by j : Éöù±é╠ö¡É╢")
  474.   every writes(" ",1 to 20 by 2)       ; write()
  475.   s := "W1X2Y3Z4"
  476.   write("! : Éöù±é≡ö¡É╢é╡é─üAé╗é╠Éöé≡Ägé┴é─ ë╜é⌐é╠ Åêù¥é≡ ìséñ")
  477.   every writes(" ",s[1 to *s])         ; write()
  478.   n := 0
  479.   every i := 1 to *s by 2 do write(" ",n +:=1,":",s[i]) 
  480.   write()
  481.  
  482.   write("seq()è╓Éö : Éöù±é╠ö¡É╢")
  483.   every writes(" ",seq() \10)          ; write()  # seq() 10î┬î└ÆΦ
  484.   write()
  485.  
  486.   write("ò╢ÄÜù±âXâLâââô")
  487.   s := "ABCDE12345ABCDE12345"
  488.   write(s)
  489.   write("upto(\'C1\')")
  490.   s ? every writes(" ",upto('C1'))     ; write()
  491.   write("find(\"AB\" | \"CD\")")
  492.   s ? every writes(" ",find("AB"|"12"))  ; write()
  493.  
  494. end
  495. -----$ GEN01.ICN ( lines:49 words:179 ) --------------------<cut here
  496.  
  497.  
  498.   gen01 > gen01.txt é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  499. -----^ GEN01.TXT ( date:97-04-01 time:01:03 ) --------------<cut here
  500. generatoré╠Ägéóò√éP
  501. ! : ùvæfé≡ Åçă ÄµéΦÅoé╖
  502.  A B C
  503.  D E F
  504.  H G I
  505.  
  506. ! : Åçă ÄµéΦÅoé╡é╠ ægé▌ìçéφé╣
  507.  M1 M2 M3 N1 N2 N3 O1 O2 O3
  508.  
  509. ! : Åçă ÄµéΦÅoé╡é─üAĵéΦÅoé╖ôxé╔ ë╜é⌐é╠ òtæ╤Åêù¥éαìséñ
  510.  1:P
  511.  2:Q
  512.  3:R
  513.  
  514. alternation
  515.  éá éó éñ
  516.  11 21 31 12 22 32 13 23 33
  517.  
  518. i to k by j : Éöù±é╠ö¡É╢
  519.  1 3 5 7 9 11 13 15 17 19
  520. ! : Éöù±é≡ö¡É╢é╡é─üAé╗é╠Éöé≡Ägé┴é─ ë╜é⌐é╠ Åêù¥é≡ ìséñ
  521.  W 1 X 2 Y 3 Z 4
  522.  1:W
  523.  2:X
  524.  3:Y
  525.  4:Z
  526.  
  527. seq()è╓Éö : Éöù±é╠ö¡É╢
  528.  1 2 3 4 5 6 7 8 9 10
  529.  
  530. ò╢ÄÜù±âXâLâââô
  531. ABCDE12345ABCDE12345
  532. upto('C1')
  533.  3 6 13 16
  534. find("AB" | "CD")
  535.  1 11 6 16
  536. -----$ GEN01.TXT ( lines:36 words:113 ) --------------------<cut here
  537.  
  538. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  539. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  540. BGM: Four On Six / Wes Montgomery
  541. (icon_204.txt 1997/04/01 PCVAN PIG)
  542.  
  543. üí  Icon > IconÄGïLÆáüiéTüj generatoré╠Ägéóò√üiéQüj  òùé┬é⌐éó
  544.  
  545.   ìíë±é═üAgeneratoré╠æ▒é½é┼é╖üB
  546.   âfü[â^é≡ Åçă ö¡É╢é╖éΘéαé╠é╔é═üAæOë±éáé░é╜éαé╠é╠æ╝é╔éα éáéΦé▄é╖üB
  547.  
  548.   üEread(), reads() é╠éµéñé╚ âtâ@âCâïô╟é▌é╛é╡è╓Éö
  549.   üEget(), pull()   é╠éµéñé╚ âfü[â^ĵéΦÅoé╡è╓Éö
  550.   üEupto(), find()  é╠éµéñé╚ âXâLâââôè╓Éö
  551. é╞
  552.   üEwhile ...
  553.   üEuntil ...
  554.   üErepeat ...
  555. é╠éµéñé╚ é¡éΦò╘é╡ì\ò╢ é╠ægé▌ìçéφé╣é┼éαüAâfü[â^é≡ Åçă ö¡É╢é┼é½é▄é╖üB
  556.  
  557.   æüæ¼âTâôâvâïé≡üB
  558. -----^ GEN02.ICN ( date:97-04-02 time:23:04 ) --------------<cut here
  559. # generator Ägéóò√éQ
  560. # This file is in the public domain.
  561. # Rev.01 1997/04/02 windy
  562. procedure main()
  563.   write("generatoré╠Ägéóò√éQ")
  564.   write()
  565.  
  566.   write("while ... read()é╠âTâôâvâï  ì┼Åëé╠éTìsé╠é▌Åæé½Åoé╡")
  567.   dir := open(f_name := "gen02.icn") | stop("cannot open ",f_name)
  568.                           #ü¬é▒é╠â\ü[âXâvâìâOâëâÇé≡âIü[âvâô
  569.   n := 0
  570.   while s := read(dir) do {
  571.     n +:= 1
  572.     write(5 >= n," :",s)  # ì┼Åëé╠éTìsé╠é▌Åæé½Åoé╖
  573.  }
  574. #  while s := read(dir) do write( 5 >= (n +:= 1), " :",s)  # é▒éΩé┼éαô»é╢üB
  575. #  while write(5 >= (n +:= 1) ," :",read(dir))             # é▒éΩé┼éαô»é╢üB
  576.   write()
  577.  
  578.   write("while ... get()é╠âTâôâvâï   Éµô¬é⌐éτĵéΦÅoé╡")
  579.   L := ["A","B","C"]
  580.   n := 0
  581.   while s := get(L) do writes(" ",n +:= 1,":",s) ; write()
  582.   write()
  583.  
  584.   write("while ... pull()é╠âTâôâvâï  ûûö÷é⌐éτĵéΦÅoé╡")
  585.   L := ["A","B","C"]
  586.   n := 0
  587.   while writes(" ",n +:= 1,":",pull(L)) ; write() # get()éαé▒éñÅæé»é▄é╖üB
  588.   write()
  589.  
  590.   write("until ... do ... pop() é╠âTâôâvâï")
  591.   L := ["A","B","C","D","E","F","G"]
  592.   n := 0
  593.   until n = 5 do writes(" ",n +:= 1,":",pop(L))   # pop()é═ get()é╞ô»é╢üB
  594.   write() 
  595.   write()
  596.  
  597.   write("repeat { if ... break  } é╠âTâôâvâï")
  598.   L := ["A","B","C","D","E","F","G"]
  599.   n := 0
  600.   repeat {
  601.     writes(" ",n +:= 1,":",get(L))
  602.     if n >= 5 then break
  603.   }
  604.   write() 
  605.   write()
  606.  
  607.   write("while ... upto() do {... many() ...} é╠âTâôâvâï")
  608.   s := " The Icon Programming Language"
  609.   n := 0
  610.   s ? { while tab(upto(~' ')) do writes(" ",n +:= 1,":",tab(many(~' '))) }
  611.   write()
  612.  
  613. end
  614. -----$ GEN02.ICN ( lines:55 words:209 ) --------------------<cut here
  615.  
  616.  
  617.   gen02 > gen02.txté╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  618. -----^ GEN02.TXT ( date:97-04-02 time:23:04 ) --------------<cut here
  619. generatoré╠Ägéóò√éQ
  620.  
  621. while ... read()é╠âTâôâvâï  ì┼Åëé╠éTìsé╠é▌Åæé½Åoé╡
  622. 1 :# generator Ägéóò√éQ
  623. 2 :# This file is in the public domain.
  624. 3 :# Rev.01 1997/04/02 windy
  625. 4 :procedure main()
  626. 5 :  write("generatoré╠Ägéóò√éQ")
  627.  
  628. while ... get()é╠âTâôâvâï   Éµô¬é⌐éτĵéΦÅoé╡
  629.  1:A 2:B 3:C
  630.  
  631. while ... pull()é╠âTâôâvâï  ûûö÷é⌐éτĵéΦÅoé╡
  632.  1:C 2:B 3:A
  633.  
  634. until ... do ... pop() é╠âTâôâvâï
  635.  1:A 2:B 3:C 4:D 5:E
  636.  
  637. repeat { if ... break  } é╠âTâôâvâï
  638.  1:A 2:B 3:C 4:D 5:E
  639.  
  640. while ... upto() do {... many() ...} é╠âTâôâvâï
  641.  1:The 2:Icon 3:Programming 4:Language
  642. -----$ GEN02.TXT ( lines:23 words:78 ) ---------------------<cut here
  643.  
  644.   é╚é±é╛é⌐üAé¡éΦò╘é╡ì\ò╢é╠Éαû╛é╔é╚é┴é─é╡é▄é┴é╜üB
  645.  
  646. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  647. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  648. BGM: öMé¡é╚éΩü^æσìòûâïG
  649. (icon_205.txt 1997/04/02 PCVAN PIG)
  650.  
  651. üí  Icon > IconÄGïLÆáüiéUüj generatoré╠ì∞éΦò√üiéPüj  òùé┬é⌐éó
  652.  
  653.   ìíë±é═üAgeneratoré╠Ägéóò√é╔ ò╧éφé┴é─üAì∞éΦò√é┼é╖üB
  654. é╞éóé┴é─éαüAæOüXë±üAæOë±é╠ generatoré╠Ägéóò√é┼üAwrite()éΓ writes()é┼
  655. âfü[â^é≡Åæé½Åoé╡é─éóéΘé╞é▒éδé≡üA suspend âfü[â^ é╞éóéñî`é╔üAò╧éªéΩé╬
  656. é╗é╠é▄é▄ generatoré¬é┼é½éáé¬éΦé▄é╖üB
  657.  
  658.   ùßéªé╬üAæOüXë±é╠ gen01.icné╠
  659.   every writes(" ",!"ABC")              ; write() # string
  660. é═üA
  661. procedure abc()
  662.   suspend !"ABC"
  663. end
  664. é╞ò╧î`é╖éΩé╬üAé▒éΩé═ generatoré╞é╚éΦé▄é╖üB
  665.  
  666. procedure main()
  667.   every writes(" ",abc())
  668. end
  669. é╞é╖éΘé╞üAì┼Åëé╠üAevery writes(" ",!"ABC") é╞ô»é╢ô«ì∞é╞é╚éΦé▄é╖üB
  670.  
  671.   Ä└ì█é╠âvâìâOâëâÇé┼é═üAô»é╢ô«ì∞é┼é═Ädò√é¬û│éóé╠é┼é╖é¬üAgenerator
  672. é≡Ägé┴é─üAgeneratoré≡ì∞éΘêΩö╘è╚ÆPé╚âTâôâvâïé╞é╡é─éáé░é▄é╡é╜üB
  673.  
  674.   Ä└ì█é═üAòíÄGé╚ generatoré≡üAöΣèrôIè╚ÆPé╚ generatoré≡ÆièKôIé╔ægé▌
  675. ìçéφé╣é─ì∞é┴é─éóé½é▄é╖üB
  676.  
  677.   gen01.icné≡ generatoré╔ò╧è╖é╡é▄é╖é╞üAăé╠éµéñé╔ é╚éΦé▄é╖üB
  678. -----^ GEN01A.ICN ( date:97-04-04 time:21:46 ) -------------<cut here
  679. # generator Ägéóò√éP é╠ procedureé≡ generatoré╓ò╧è╖
  680. # This file is in the public domain.
  681. # Rev.01 1997/04/04 windy
  682. procedure main()
  683.   write("generatoré╠Ägéóò√éP")
  684.   write("! : ùvæfé≡ Åçă ÄµéΦÅoé╖")
  685.   every writes(" ",abc())   ; write() # string
  686.   every writes(" ",def())   ; write() # list
  687.   every writes(" ",ghi())   ; write() # setüiÅçö╘é═û│ò█Å╪üj
  688.   write()
  689.  
  690.   write("! : Åçă ÄµéΦÅoé╡é╠ ægé▌ìçéφé╣")
  691.   every writes(" ",mno123())
  692.   write()
  693.   write()
  694.  
  695.   write("! : Åçă ÄµéΦÅoé╡é─üAĵéΦÅoé╖ôxé╔ ë╜é⌐é╠ òtæ╤Åêù¥éαìséñ")
  696.   n := 0
  697.   every s := pqr() do write(" ",n +:=1,":",s)
  698.   write()
  699.  
  700.   write("alternation")
  701.   every writes(" ",AIU())   ; write() # alternation
  702.   every writes(" ",number1())
  703.   write()
  704.   write()
  705.  
  706.   write("i to k by j : Éöù±é╠ö¡É╢")
  707.   every writes(" ",number2())       ; write()
  708.   write("! : Éöù±é≡ö¡É╢é╡é─üAé╗é╠Éöé≡Ägé┴é─ ë╜é⌐é╠ Åêù¥é≡ ìséñ")
  709.   n := 0
  710.   every writes(" ",wxyz1())  ; write()
  711.   every L := wxyz2() do write(" ",L[1],":",L[2]) 
  712.   write()
  713.  
  714.   write("seq()è╓Éö : Éöù±é╠ö¡É╢")
  715.   every writes(" ",seque() \10)     ; write()  # 10î┬î└ÆΦ
  716.   write()                 #ü¬É╢ɼÉöî└ÆΦ
  717.  
  718.   write("ò╢ÄÜù±âXâLâââô")
  719.   s := "ABCDE12345ABCDE12345"
  720.   write(s)
  721.   write("upto(\'C1\')")
  722.   s ? every writes(" ",n_upto(s))   ; write()
  723.   write("find(\"AB\" | \"CD\")")
  724.   s ? every writes(" ",n_find(s))   ; write()
  725.  
  726. end
  727.  
  728.  
  729. # generator
  730. procedure abc()
  731.   suspend !"ABC"                # string
  732. end
  733. procedure def()
  734.   suspend !["D","E","F"]        # list
  735. end
  736. procedure ghi()
  737.   suspend !set(["G","H","I"])   # setüiÅçö╘é═û│ò█Å╪üj
  738. end
  739. procedure mno123()
  740.   suspend !("MNO") || !("123")
  741. end
  742. procedure pqr()
  743.   suspend !"PQR"
  744. end
  745. procedure AIU()
  746.   suspend "éá" | "éó" | "éñ"
  747. end
  748. procedure number1()
  749.   suspend (1 | 2 | 3) + (10 | 20 | 30)
  750. end
  751. procedure number2()
  752.   suspend 1 to 20 by 2
  753. end
  754. procedure wxyz1()
  755.   s := "W1X2Y3Z4"
  756.   suspend s[1 to *s]
  757. end
  758. procedure wxyz2()
  759.   n := 0
  760.   s := "W1X2Y3Z4"
  761.   every i := 1 to *s by 2 do suspend [n +:= 1,s[i]]
  762. end
  763. procedure seque()
  764.   suspend seq()
  765. end
  766. procedure n_upto(s)
  767.   s ? suspend upto('C1')
  768. end
  769. procedure n_find(s)
  770.   s ? suspend find("AB"|"12")
  771. end
  772. -----$ GEN01A.ICN ( lines:93 words:279 ) -------------------<cut here
  773.  
  774.   gen02.icné≡ generatoré╔ò╧è╖é╡é╜éαé╠é═üAăë±é╔é╡é▄é╖üB
  775.  
  776. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  777. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  778. BGM: élénéré`éhébü^ùVì▓ûóÉX
  779. (icon_206.txt 1997/04/04 PCVAN PIG)
  780.  
  781. üí  Icon > IconÄGïLÆáüiéVüj generatoré╠ì∞éΦò√üiéQüj  òùé┬é⌐éó
  782.  
  783.   ìíë±éα generatoré╠ì∞éΦò√é╠æ▒é½é┼é╖üBgen02.icné╠
  784.   L := ["A","B","C"]
  785.   n := 0
  786.   while s := get(L) do writes(" ",n +:= 1,":",s) ; write()
  787.  
  788. é╠ while ...é╠òöò¬é≡
  789.   while s := get(L) do suspend s
  790. é╞é╖éΘé╞üAé▒éΩéα generatoré╞é╚éΦé▄é╖üB é▒éΩé¬üAé¡éΦò╘é╡ì\ò╢é≡Ägé┴é─
  791. generatoré≡ì∞éΘ êΩö╘è╚ÆPé╚âTâôâvâïé╞é╚éΦé▄é╖üB
  792.  
  793.   é▒é╠ÅΩìçé╔üAnéαò╘é╡é╜é»éΩé╬üA
  794.   while s := get(L) do suspend [n +:= 1,s]
  795. é╞é╖éΘé╞üAâèâXâgé≡ö¡É╢é╖éΘ generatoré╞éóéñé▒é╞é╔é╚éΦé▄é╖üB
  796.  
  797.   generatoré≡ Ägé┴é─üAgeneratoré≡ èKæwôIé╔ ì∞é┴é─éóé¡éΓéΦò√é═üAè∙é╔
  798. jsplit.icné┼ Ägé┴é─éóé▄é╖üB
  799.  jsplit.icné╠Æåé╠ jgetword()é═üAăé╠éµéñé╚ èKæwì\æóé╔ é╚é┴é─éóé▄é╡é╜üB
  800.  
  801.  generator --- jgetword() ---
  802.   |  ...                     |
  803.   |  while ... jupto_not()...| <----   ò╢ÄÜù±é⌐éτÆPîΩé≡É╪éΦÅoé╖
  804.   |  ...                     |      |  generator
  805.    --------------------------       |
  806.                      ---------------
  807.                     |
  808.  generator --- jupto_not() -- 
  809.   |  ...                     |         ò╢ÄÜù±é≡üAéPò╢ÄÜé╕é┬ é╚é▀é─
  810.   |  every ... jpos() do ... | <----   ò╢ÄÜâZâbâgé╞é╠Å╞ìçé≡é╡é─üA
  811.   |  ...                     |      |  ÆPîΩé╠ïµÉ╪éΦê╩Æué≡ÆTé╖
  812.    --------------------------       |  generator
  813.                      ---------------
  814.                     |
  815.  generator --- jpos()--------          ò╢ÄÜù±é≡üAéPâoâCâgé╕é┬ é╚é▀é─
  816.   |  ...                     |         âVâtâgéiéhéré╠ò╢ÄÜé╠ Éµô¬ê╩Æu
  817.   |  every ... i to j do ... |         é≡ÆTé╖ generator
  818.   |  ...                     |         üi i to j é╞éóéñ generatoré≡
  819.    --------------------------             é≡Ägé┴é╜ generatoré┼é╖üBüj
  820.  
  821.   é│é─üAgen02.icné≡ generatoré╔ò╧è╖é╡é╜éαé╠é≡üAăé╔üB
  822. -----^ GEN02A.ICN ( date:97-04-04 time:21:50 ) -------------<cut here
  823. # generator Ägéóò√éQ é╠ procedureé≡ generatoré╓ò╧è╖
  824. # This file is in the public domain.
  825. # Rev.01 1997/04/04 windy
  826. procedure main()
  827.   write("generatoré╠Ägéóò√éQ")
  828.   write()
  829.  
  830.   write("while ... read()é╠âTâôâvâï  ì┼Åëé╠éTìsé╠é▌Åæé½Åoé╡")
  831.   dir := open(f_name := "gen02a.icn") | stop("cannot open ",f_name)
  832.                           #ü¬é▒é╠â\ü[âXâvâìâOâëâÇé≡âIü[âvâô
  833.   # ì┼Åëé╠éTìsé╠é▌Åæé½Åoé╖
  834.   every L := line(dir) \5 do write(L[1]," :",L[2])
  835.   write()             #ü¬É╢ɼÉöî└ÆΦüiìsÉöɺî└é╔Ägéñüj
  836.  
  837.   write("while ... get()é╠âTâôâvâï   Éµô¬é⌐éτĵéΦÅoé╡")
  838.   L := ["A","B","C"]
  839.   every LL := get_l(L) do writes(" ",LL[1],":",LL[2])       ; write()
  840.   write()
  841.  
  842.   write("while ... pull()é╠âTâôâvâï  ûûö÷é⌐éτĵéΦÅoé╡")
  843.   L := ["A","B","C"]
  844.   every LL := pull_l(L) do writes(" ",LL[1],":",LL[2])      ; write()
  845.   write()
  846.  
  847.   write("until ... do ... pop() é╠âTâôâvâï")
  848.   L := ["A","B","C","D","E","F","G"]
  849.   every LL := until_l(L) do writes(" ",LL[1],":",LL[2])     ; write() 
  850.   write()
  851.  
  852.   write("repeat é╠âTâôâvâï")
  853.   L := ["A","B","C","D","E","F","G"]
  854.   every LL := repeat_l(L) \5 do writes(" ",LL[1],":",LL[2]) ; write() 
  855.   write()                #ü¬É╢ɼÉöî└ÆΦüiìsÉöɺî└é╔Ägéñüj
  856.  
  857.   write("while ... upto() do {... many() ...} é╠âTâôâvâï")
  858.   s := " The Icon Programming Language"
  859.   every LL := word(s) do writes(" ",LL[1],":",LL[2])        ; write()
  860. end
  861.  
  862.  
  863. # generator
  864. procedure line(dir)
  865.   n := 0
  866.   while s := read(dir) do suspend [n +:= 1,s] # ìsÉöɺî└é═üAÅπê╩é╓ê┌ô«
  867. end
  868. procedure get_l(L)
  869.   n := 0
  870.   while s := get(L) do suspend [n +:= 1,s]
  871. end
  872. procedure pull_l(L)
  873.   n := 0
  874.   while s := pull(L) do suspend [n +:= 1,s]
  875. end
  876. procedure until_l(L)
  877.   n := 0
  878.   until n = 5 do suspend [n +:= 1,pop(L)]     # pop()é═ get()é╞ô»é╢üB
  879. end
  880. procedure repeat_l(L)
  881.   n := 0
  882.   repeat suspend [n +:= 1,get(L)]             # ìsÉöɺî└é═üAÅπê╩é╓ê┌ô«
  883. end
  884. procedure word(s)
  885.   n := 0
  886.   s ? {
  887.     while tab(upto(~' ')) do {
  888.       s := tab(many(~' '))     # é▒é▒é═üAsuspendé╠èOé┼éΓéτé╚éóé╞éñé▄é¡
  889.                                # ô«é½é▄é╣é±üB
  890.       suspend [n +:= 1,s]
  891.     }
  892.   }
  893. end
  894. -----$ GEN02A.ICN ( lines:71 words:251 ) -------------------<cut here
  895.  
  896. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  897. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  898. BGM: élénéré`éhébü^ùVì▓ûóÉX
  899. (icon_207.txt 1997/04/04 PCVAN PIG)
  900.  
  901. üí  Icon > IconÄGïLÆáüiéWüj generatoré╠é▄é╞é▀        òùé┬é⌐éó
  902.  
  903.   é▒é╠é╞é▒éδüAëJé╠ô·é¬æ╜éóé┼é╖üB  é┼éαüAì≈é╠ë╘é═ îïì\ é╡é╘é╞é¡Äcé┴é─
  904. éóé▄é╖é╦üB  é│é─üAëJé╠ô·é═üAIconé┼éαéΓéδéñé⌐é╚üB
  905.  
  906.   ìíô·é═üAgeneratoré╠ìléªò√é╠é▄é╞é▀é≡üAéΓé┴é─é▌éµéñé╞Ävéóé▄é╖üB
  907.   generatoré≡ Ägé┴é╜âvâìâOâëâÇ é╠ì\ɼé═üA
  908.  
  909.      - generator---------                -consumer----------
  910.     |  âfü[â^ö¡É╢òö      |   âfü[â^     |  âfü[â^Å┴ö∩òö     |
  911.     |    suspend data ----------------->  every  generator  |
  912.     |                    |              |                   |
  913.      --------------------                -------------------
  914.       âfü[â^é≡ÅçăÉ╢ɼ                       âfü[â^ë┴ìH
  915.                                              âfü[â^æIæ≡
  916. é╠ éµéñé╚ èiìDé╔é╚éΦé▄é╖üB
  917.   âfü[â^é≡ ÅçăÉ╢ɼé╖éΘ âvâìâOâëâÇé¬éáé┴é─üAé╗é╠âfü[â^é≡ Å┴ö∩é╖éΘâvâìâO
  918. âëâÇ鬠éáéΘüB  é╞éóéñì\ɼé╔é╚éΦé▄é╖üB
  919.  
  920.   é▒é▒é┼üAgeneratoré¬É╢ɼé╡é╜âfü[â^é╔æ╬é╡é─üAconsumer鬠Å≡îÅé╔ ìçéφé╚éó
  921. âfü[â^é≡èⁿé─é─üAăé╠âfü[â^é≡ÄÄé╡é─é▌éΘüB é╞é╡é╜ ÅΩìçé¬üABacktracking é╞
  922. éóéñé▒é╞é╔ é╚éΦé▄é╖üB
  923.  
  924.  
  925.   æOë±üAéáé░é▄é╡é╜ jgetword()é═üAâvâìâOâëâÇì\ɼÅπé═üA
  926.  
  927.           -----------
  928.   Åπê╩   | jgetword  | ÆPîΩ É╪éΦÅoé╡
  929.    ü¬     -----------
  930.    üb             |    ------------
  931.    üb         î─é╘ -->| jupto_not  | ÆPîΩ ïµÉ╪éΦê╩Æu îƒì⌡
  932.    üb         call     ------------
  933.    üb                           |    ---------------
  934.    üb                       î─é╘ -->| jpos          | âVâtâgéiéhérò╢ÄÜ
  935.    ü½                       call    |    |          | ïµÉ╪éΦê╩Æu îƒì⌡
  936.   ë║ê╩                              |î─é╘ -> i to j |
  937.                                      ---------------
  938.  
  939. é╞éóéñèKæwé╔ é╚é┴é─éóé▄é╖é¬üAìléªò√é╞é╡é─é═üA
  940.  
  941.                                drive     -----------
  942.   Åπê╩                         ï∞ô«  -->| jgetword  | ÆPîΩ É╪éΦÅoé╡
  943.    ü¬                               |    -----------
  944.    üb           drive    ------------
  945.    üb           ï∞ô« -->| jupto_not  | ÆPîΩ ïµÉ╪éΦê╩Æu îƒì⌡
  946.    üb               |    ------------
  947.    üb     ---------------
  948.    üb    |ï∞ô« --> jpos  | âVâtâgéiéhérò╢ÄÜ
  949.    ü½    |    |          | ïµÉ╪éΦê╩Æu îƒì⌡
  950.   ë║ê╩   | i to j        |
  951.           ---------------
  952.  
  953.   generatoré¬É╢ɼé╖éΘâfü[â^é┼üAÅçă Åπê╩âvâìâOâëâÇé≡ ï∞ô«é╡é─éóé¡ì\ɼé╞
  954. ìléªé╜ò√é¬üAò¬é⌐éΦéΓé╖éóé╞Ävéóé▄é╖üB  âfü[â^ï∞ô«î^é╠âvâìâOâëâÇì\ɼ é╞é┼
  955. éαî╛éªéΘé┼é╡éσéñüB
  956.  
  957.  
  958.   âeâLâXâgâfü[â^é┼üA
  959.     üEéPìsé╔ âfü[â^鬠âXâyü[âXïµÉ╪éΦé┼üAèiö[é│éΩé─éóéΘî`Ä«é┼üA
  960.       é╗é╠âfü[â^é≡Ägé┴é─üAë╜éτé⌐é╠Åêù¥é≡ éΓéΦé╜éóÅΩìç
  961. é┼é╖é╞üA
  962.   AWKé╠éµéñé╔üAìsâfü[â^é≡ Ä⌐ô«ôIé╔ âJâëâÇò¬èäé╡é─ $1,$2,...é╞ò╧Éöé╔âZâbâg
  963. é╡é─é¡éΩé╜ò√é¬üAâvâìâOâëâÇé═ ægé▌éΓé╖é¡ é╚éΦé▄é╖üB
  964.   Iconé┼é═üAé▒é╠ÅΩìçé═üAâJâëâÇò¬èä procedureé≡ ì∞éτé╚éóé╞ éóé»é▄é╣é±üB
  965.  
  966.   êΩò√üA
  967.     üEâeâLâXâgâfü[â^é¬üAÆ╩Åφé╠ò╢Å═ é╞é⌐ âvâìâOâëâÇâ\ü[âXé┼üA
  968.       ò╢ÄÜéΓÆPîΩé╠Åoî╗Åçé╔üAë╜é⌐é╠Åêù¥é≡ éΓéΦé╜éóÅΩìç
  969. é┼é╖é╞üA
  970.   Iconé╠éµéñé╔üAò╢ÄÜéΓÆPîΩé≡üAɵô¬é⌐éτ Åçă É╪éΦÅoé╡é─ éóé¡ï@ö\鬠òKùvé╔
  971. é╚éΦé▄é╖üB  é▒é╠éµéñé╚Åêù¥é┼ generator鬠ö±Åφé╔ û≡ùºé┐é▄é╖üB
  972.   generatoré═üAò╢Å═é╠éµéñé╚ âeâLâXâgâfü[â^é≡üAò╢ÄÜé╠ÅWé▄éΦ ÆPîΩé╠ÅWé▄éΦ é╞
  973. é▌é╚é╡é╜ò√鬠Ä⌐æRé╚âPü[âX é╠âvâìâOâëâÇé╔üAîⁿéóé─éóé▄é╖üB
  974.  
  975. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  976. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  977. BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
  978. (icon_208.txt 1997/04/05 PCVAN PIG)
  979.  
  980. üí  Icon > IconÄGïLÆáüiéXüj IYAX.ICN                 òùé┬é⌐éó
  981.  
  982.   Iconôⁿûσìuì└é┼üAYAXî`Ä«é╠âoâCâôâ_ü[ YAB.ICNé≡Éαû╛é╡é▄é╡é╜é¬üAÄ└é═âeâL
  983. âXâgâtâ@âCâïé⌐éτüAâtâ@âCâïé≡ĵéΦÅoé╖ YAX.ICNéα éóé┴é╡éσé╔Éαû╛é╖éΘù\ÆΦé┼
  984. é╡é╜üB
  985.  
  986.   é╡é⌐é╡üAâRâüâôâgòté»é¬âüâôâhâCé╠é┼ é═é╡éσé┴é─ é╡é▄éóé▄é╡é╜üB
  987.   Äƒé╠âVâèü[âYé┼é═üAÉαû╛é╡éµéñé╞ Ävé┴é─éóé╜ é╠é┼é╖é¬üAIconô·ïLé≡Åæéóé─éΘ
  988. ìáé╔é═ üAé╖é┴é⌐éΦ ûYéΩé─é╡é▄é┴é─ éóé▄é╡é╜üB
  989.   é╞éóéñé╠é═üAYABé═Ägéñé╠é┼é╖é¬üAYAXé═ù]éΦÄgéφé╚éóéαé╠é┼üB
  990.   é╟é╚é╜é⌐é╠ Åæé½ì₧é▌é╠Æåé╠ âXâNâèâvâgé≡üAâìâOé⌐éτö▓é½Åoé╡é─üAé┐éσé┴é╞
  991. ô«é⌐é╡é─é▌éΘé╠é═üAâGâfâBâ^ü[é┼É╪éΦÅoé╡é─éαüAæσì╖é═û│éóé┼é╖é⌐éτé╦üB
  992.  
  993.   Iconôⁿûσìuì└éΓüAIconô·ïLé⌐éτüAé▄é╞é▀é─ âvâìâOâëâÇé≡ É╪éΦÅoé╖ é╠é╚éτ
  994. éáé┴é╜ò√é¬üAù╟éóé╞Ävéñé╠é┼é╖é¬üB
  995.  
  996.   é┼éαüAYABé╞ YAXé═éΓé═éΦ âyâAé┼æ╡éªé─ Æué½é╜éóüBé╞éóéñé▒é╞é┼üAé╛éóé╘æO
  997. é╔ì∞é┴é╜âvâìâOâëâÇé╔üAâRâüâôâgé≡Æ╟ë┴é╡é─üAÉ«éªé─é▌é▄é╡é╜üB
  998.  
  999. -----^ IYAX.ICN ( date:97-04-05 time:22:22 ) ---------------<cut here
  1000. ###################
  1001. # YAX.LZH awkâXâNâèâvâgîfì┌òWÅÇî`Ä«òzï│âpâbâPü[âW Version 1.00 July/4/1990
  1002. # by takun@ô·îoMIX é╠YAX.BATé≡Iconé╔Æuè╖é╡é╜éαé╠üBì╫é⌐éóô«ì∞é═æ╜Å¡ê┘é╚éΘüB
  1003. ###################
  1004. # This file is in the public domain.
  1005. # iyax.icn 1.8 1997/04/05 windy âRâüâôâgÆ╟ë┴
  1006. # iyax.icn 1.1 1995/07/01 - Yet Another eXtractor
  1007. global T, S
  1008. #link split
  1009. procedure main(args)
  1010.   Usage := "Usage : iyax input_file"
  1011.  
  1012.   # âtâ@âCâïâIü[âvâô
  1013.   if *args = 1 then in_dir := open(args[1]) | stop("cannot open ",args[1])
  1014.   else stop(Usage)
  1015.   write(&errout,args[1])  # âtâ@âCâïû╝ò\Ī
  1016.   T := table()            # âtâ@âCâïæ«É½èiö[âeü[âuâïÉ╢ɼ
  1017.   S := table()            # âtâ@âCâïæ«É½èiö[âeü[âuâïüiâ`âFâbâNùpüjÉ╢ɼ
  1018.   files := 0              # âtâ@âCâïÉö
  1019.  
  1020.   # âtâ@âCâïô╟é▌ì₧é▌
  1021.   while line := read(in_dir) do {    # éPìsé├é┬ô╟é▌ì₧é▐
  1022.     line ? {
  1023.       # Éµô¬é¬ "-" é┼üAé╗é╠îπé╔ "-"é¬òíÉöéáé┴é╜éτô╟é▌ö≥é╬é╖
  1024.       if ( tab(match("-")) & tab(many('-')) ) then {
  1025.         case s := move(2) of {       # é╗é╠îπé╠éQò╢ÄÜé≡â`âFâbâN
  1026.           "^ " :  {                  # âtâ@âCâïèJÄnïLìå
  1027.                     # âtâ@âCâïÅoù═Æåé╔üAé▄é╜âwâbâ_ü[é¬ùêé╜Ä₧é╠Änûû
  1028.                     if \T["f_name"] then {  # Åoù═Æåâtâ@âCâïû╝é¬æ╢ì▌é╖éΩé╬
  1029.                       f_close(o_dir) # Åoù═âtâ@âCâï âNâìü[âYÅêù¥
  1030.                       files  +:= 1
  1031.                       write(&errout,"no trailer error") # âgâîü[âëü[û│é╡
  1032.                     }
  1033.                     # Æ╩ÅφÅêù¥
  1034.                     head_anl(line)                    # âwâbâ_ü[ë≡É═
  1035.                     o_dir := open(T["f_name"],"a") |  # Åoù═âtâ@âCâïâIü[âvâô
  1036.                     stop("open error ",f_name)
  1037.                     S_inz()                           # â`âFâbâNùpâeü[âuâï
  1038.                                                       # âCâjâVâââëâCâY
  1039.                   }
  1040.           "$ " :  {                  # âtâ@âCâïÅIù╣ïLìå
  1041.                     # âtâ@âCâïÅoù═Æåé┼û│éóé╠é╔üAâgâîü[âëü[é¬ùêé╜Ä₧é╠Änûû
  1042.                     if /T["f_name"] then {  # Åoù═Æåâtâ@âCâïû╝é¬û│é»éΩé╬
  1043.                       write(&errout,"no header error")
  1044.                     }
  1045.                     # Æ╩ÅφÅêù¥
  1046.                     else {
  1047.                       tail_anl(line)                  # âgâîâCâëü[ë≡É═
  1048.                       f_close(o_dir) # Åoù═âtâ@âCâï âNâìü[âYÅêù¥
  1049.                       files  +:= 1
  1050.                     }
  1051.                   }
  1052.        default :  {                  # output body
  1053.                     # âtâ@âCâïÅoù═Æåé╚éτüAìsâfü[â^Åoù═
  1054.                     if \T["f_name"] then line_out(o_dir,line)
  1055.                   }
  1056.           } # end of case
  1057.         } # end of if...
  1058.         else {                       # output body
  1059.           if \T["f_name"] then line_out(o_dir,line)
  1060.         } # end of else
  1061.       } # end of line ?
  1062.     } # end of while
  1063.  
  1064.     close(in_dir)                    # âtâ@âCâïâNâìü[âY
  1065.     write(&errout,"\n",files," file(s) extracted.") # ÅIù╣âüâbâZü[âW
  1066.  
  1067. end
  1068.  
  1069. procedure f_close(o_dir)
  1070. # Åoù═âtâ@âCâïâNâìü[âY
  1071.   close(o_dir)               # Åoù═âtâ@âCâï âNâìü[âY
  1072.   set_time()                 # Åoù═âtâ@âCâïé╠â^âCâÇâXâ^âôâvÉ▌ÆΦ
  1073.   check()                    # âtâ@âCâïæ«É½é╠â`âFâbâN
  1074.   every delete(T,key(T))     # âeü[âuâïôαùeâNâèâA
  1075.   every delete(S,key(S))     # âeü[âuâïôαùeâNâèâA
  1076.   return
  1077. end
  1078.  
  1079. procedure S_inz()
  1080. # â`âFâbâNùpâfü[â^èiö[âeü[âuâïé≡âCâjâVâââëâCâY
  1081.   S["lines"] := S["words"] := S["chars"] := 0
  1082.   return
  1083. end
  1084.  
  1085. procedure head_anl(line)
  1086. # âwâbâ_ü[é≡ë≡É═é╡é─üAæ«É½ÄwÆΦé¬éáéΩé╬üAâeü[âuâïé╔âZâbâg
  1087.   write(&errout,line)
  1088.   L := split(line)
  1089.   T["f_name"] := L[2]   # Åoù═âtâ@âCâïû╝âZâbâg
  1090.   set_atr(T,L)
  1091.   return
  1092. end
  1093.  
  1094. procedure tail_anl(line)
  1095. # âgâîâCâëü[é≡ë≡É═é╡é─üAæ«É½ÄwÆΦé¬éáéΩé╬üAâeü[âuâïé╔âZâbâg
  1096.   write(&errout,line)
  1097.   L := split(line)
  1098.   S["f_name"] := L[2]   # Åoù═âtâ@âCâïû╝âZâbâg
  1099.   set_atr(T,L)
  1100.   return
  1101. end
  1102.  
  1103.  
  1104. procedure set_atr(T,L)
  1105. # âeü[âuâïé╔âwâbâ_ü[üAâgâîâCâëü[é╠æ«É½é≡âZâbâgé╖éΘüB
  1106.   every s := !L do {
  1107.     s ? if cp := upto(':') then T[ s[1 : cp]] := s[cp +1 : 0]
  1108.   }
  1109.   return
  1110. end
  1111.  
  1112. procedure line_out(o_dir,line)
  1113.   write(o_dir,line)
  1114.   # â`âFâbâNâeü[âuâïé╠ôαùeé≡ìXÉV
  1115.   S["lines"] +:= 1              # lines ìsÉö
  1116.   S["words"] +:= *split(line)   # words îΩÉö
  1117.   S["chars"] +:= *line          # chars ò╢ÄÜÉö
  1118.   return
  1119. end
  1120.  
  1121. procedure check()
  1122. # âtâ@âCâïé╠âwâbâ_ü[üEâgâîü[âëü[é╠æ«É½òöé╞üA
  1123. # Ä└ì█é╠âtâ@âCâïé╠æ«É½é≡üAöΣèr
  1124.   every x := key(T) do {
  1125.     if string(T[x]) ~== string(S[x]) then {
  1126.       write(&errout,T["f_name"]," ",x," error")
  1127.     }
  1128.   }
  1129.   return
  1130. end
  1131.  
  1132. procedure set_time()
  1133. # â^âCâÇâXâ^âôâvé╠É▌ÆΦüB osawarié═üAYAX.LZHé╔è▄é▄éΩéΘéαé╠é≡ÄgùpüB
  1134. # û│é»éΩé╬üAæ╝é╠ touché╔ìçéñéµéñé╔ÅCÉ│é╖éΘé⌐üAâRâüâôâgâAâEâgé╡é─ë║é│éóüB
  1135.   if (member(T,"date") & member(T,"time")) then {
  1136.     system("osawari " || T["date"] || " " || T["time"] || " " || T["f_name"])
  1137.   }
  1138.   return
  1139. end
  1140.  
  1141. # ò╢ÄÜù±é≡ÄwÆΦò╢ÄÜüiâZâbâgüjé┼ïµÉ╪éΦâèâXâgé╔ôⁿéΩéΘüB
  1142. procedure split(line,c)
  1143. # function : split a string  with c and store a list(exclude c)
  1144.   /c := ' \t'                      # ÄwÆΦé¬û│é»éΩé╬âXâyü[âXé⌐â^âué╞é▌é╚é╖üB
  1145.   list := []                       # returnùpâèâXâgÉ╢ɼ
  1146.   line ? while tab(upto(~c)) do put(list,tab(many(~c)))
  1147.   return list
  1148. end
  1149. -----$ IYAX.ICN ( lines:149 words:469 ) --------------------<cut here
  1150.  
  1151.   IYAXé┼üAIconôⁿûσìuì└éΓ Iconô·ïLé⌐éτ âvâìâOâëâÇé≡ É╪éΦÅoé╡é▄é╖é╞üAâGâëü[
  1152. 鬠ÅoéΘâtâ@âCâïé¬éáéΦé▄é╖üB  é╗é╠âtâ@âCâïé═üAYABé┼âoâCâôâhé╡é╜éáé╞é┼üAâRâü
  1153. âôâgé≡Æ╟ë┴é╡é╜éΦüAÅCÉ│é╡é╜é╜é▀é╔üAìsÉöéΓîΩÉöé¬é╕éΩé─éóéΘéαé╠é┼é╖üBüiè╛üj
  1154.   é▄é╜üAæσé½é╚âfü[â^âtâ@âCâïé┼üAÆåù¬é╡é─éóéΘéαé╠é┼éαüAâGâëü[é¬Åoé▄é╖üB
  1155.  
  1156. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1157. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1158. BGM: êñé╠î╛ù∞ü^âTâUâôüEâIü[âïâXâ^ü[âY
  1159. (icon_209.txt 1997/04/05 PCVAN PIG)
  1160. üí  Icon > IconÄGïLÆáüiéPéOüj Åçù±                   òùé┬é⌐éó
  1161.  
  1162.   égéa£aÉ»é╔è╓é╖éΘéséuö╘ægé≡üAîïì\éΓé┴é─éóé▄é╖é╦üB
  1163.   é┼üA£aÉ»é═ ë╜Åêé⌐éτùêéΘé⌐é╞éóéñé╠é┼üAæ╛ùzîné⌐éτéPéOÆ¢éïéìéáé╜éΦé▄é┼é═üA
  1164. è╧æ¬é┼é½é╚éó鬠òXéΓÉoé¬òYé┴é─éóéΘé╗éñé┼é╖üB
  1165.   é╗é╠ò╙é⌐éτæ╛ùzîné╔ï▀é├éóé─ùêé─üAæ╛ùzé╠ê°ù═é╔æ¿éªéτéΩé╜éαé╠鬣aÉ»é╔é╚é┴é─
  1166. æ╛ùzé╠ÄⁿéΦé≡ë±éΦé╛é╖é╠é┼é═é╚éóé⌐üH  é╞éóéñÉαû╛é≡éΓé┴é─éóé▄é╡é╜üB
  1167.  
  1168.   û╗ëñÉ»é╠éáé╜éΦé¬üAéUéOë¡éïéìé┼é╖é╠é┼üAé╗é╠é▄é╜ùyé⌐ëôé¡é⌐éτéΓé┴é─ùêéΘé╠é┼
  1169. é╖é╦üB
  1170.   ìíô·éαëJé┼üAégéa£aÉ»é═î⌐éªé▄é╣é±üB  é┼éαüAö≥ìsï@é┼ù╖ìsé│éΩéΘò√é═üAë_é╠Åπ
  1171. é≡ö≥é±é┼éτé┴é╡éßéóé▄é╖é╠é┼üAé▓ùùé╔é╚éΩéΘò√éαéóé▄é╖éµé╦üB
  1172.  
  1173.   é│é─üAê╚æOüAò╢ÄÜù±é╠ægé▌ìçéφé╣é≡üAéΓéΦé▄é╡é╜üB  é▒éΩé═üAèmé⌐ìéìZé╠ìáé╔
  1174. éΓé┴é╜  Åçù±üEægé▌ìçéφé╣ é╞ô»é╢éαé╠é┼é╖éµé╦üB
  1175.   nPmé╞é⌐ nCmé╔üAô¬é≡öYé▄é╣é╜éαé╠é┼é╖üB  æOé╠âvâìâOâëâÇé┼é═üAnPné╡é⌐éΓé┴é─
  1176. éóé▄é╣é±é╠é┼üAêΩö╩ë╗é╡é─üAnPmé╠ÅΩìçé╠âvâìâOâëâÇé≡ì∞é┴é─é▌é▄é╡éσéñüB
  1177.  
  1178.   stringé╠Åçù±é╞ listé╠Åçù±é╠âvâìâOâëâÇé≡ì∞é┴é─é▌é▄é╡é╜üB
  1179.   ìléªò√é═üAIconô·ïLüiéPéUüj Recursive generator é╞ô»é╢é┼é╖üB
  1180.   É╢ɼò╢ÄÜÉöé╔ Éºî└é≡ é┬é»é╚éóé╞éóé»é╚éó é╠é┼é╖é¬üAé╗é▒é═Äåé╔Ä└ì█é╔Åæé½Åo
  1181. é╡é─  é╙é▐é╙é▐üAé▒é▒é┼ɺî└é≡é┬é»éΩé╬éóéóé±é╛é╚üDüDüDé╞üAéΓé┴é─é▄é╖üB
  1182.  
  1183.   3éo2é╠ÅΩìçé┼é╖é╞üA
  1184. perm("DNA",2)
  1185.   |--> "D" || perm("NA",1)             # é▒é▒é┼éPò╢ÄÜû┌
  1186.                |--> "N" || perm("A",0) # é▒é▒é┼éQò╢ÄÜû┌üiîπé═òsùvüj
  1187.                             |---> ""   # éRò╢ÄÜû┌é╚é╠é┼ï≤ò╢ÄÜé┼ò╘é╖üB
  1188. é╞éóéñòùé╔ô«é½é▄é╖üB
  1189.  
  1190. -----^ PERM11.ICN ( date:97-04-06 time:22:24 ) -------------<cut here
  1191. # nPm (n = *s é▄é╜é═ *L)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé±é┼üAò└é╫éΘüB
  1192. # This file is in the public domain.
  1193. # perm11.icn 1997/04/06 windy
  1194.  
  1195. # stringé╠Åçù±
  1196. # nPm (n = *s)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé±é┼üAò└é╫éΘüB
  1197. procedure perm(s,m)
  1198. local i
  1199.   /m := *s                    # âfâtâHâïâg nPn (n = m = *s)
  1200.   if m = 0 then return ""     # mé≡ò╢ÄÜÉöâJâEâôâ^ü[é╔ÄgéñüB
  1201.                               # éOé╚é┴é╜éτüAé╗é▒é┼æ┼é┐Ä~é▀üB
  1202.   suspend s[i := 1 to *s] || perm(s[1:i] || s[i+1:0],m -1)
  1203.           #ü¬ éPò╢ÄÜæIé╘  ü¬ ü¬ü⌐æOé┼æIé±é╛ò╢ÄÜê╚èO  ü¬ÄwÆΦò╢ÄÜÉöé╔
  1204.           #               üb     é╠ò╢ÄÜù±é╔æ╬é╡ô»é╢    ò╢ÄÜù±é≡ù}éª
  1205.           #               üb     Åêù¥é≡ìséñüB          éΘé╜é▀é╠âJâE
  1206.           #           ò╢ÄÜù±é╠ÿAîï                     âôâ^ü[
  1207. end
  1208.  
  1209. # listé╠ùvæfé╠Åçù±üB
  1210. # nPm (n = *L)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé±é┼üAò└é╫éΘüB
  1211. procedure lperm(L,m)
  1212. local i
  1213.   /m := *L
  1214.   if m = 0 then return []
  1215.    suspend [L[i := 1 to *L]] ||| lperm(L[1:i] ||| L[i+1:0],m -1)
  1216.           #                  ü¬listé╠ÿAîï
  1217. end
  1218.  
  1219.  
  1220. # test data
  1221. procedure main()
  1222.   # ëpò╢ÄÜé╠Åçù±âTâôâvâï
  1223.   s := "DNA"
  1224.   write(s,"é╠Åçù±")
  1225.   write("3éo0  éRò╢ÄÜé⌐éτéOò╢ÄÜæIé╘")
  1226.   every write(perm(s,0))
  1227.   write("3éo1  éRò╢ÄÜé⌐éτéPò╢ÄÜæIé╘")
  1228.   every write(perm(s,1))
  1229.   write("3éo2  éRò╢ÄÜé⌐éτéQò╢ÄÜæIé╘")
  1230.   every write(perm(s,2))
  1231.   write("3éo3  éRò╢ÄÜé⌐éτéRò╢ÄÜæIé╘")
  1232.   every write(perm(s,3))
  1233.   write()
  1234.  
  1235.   # listùvæfüiô·û{îΩò╢ÄÜüjé╠Åçù±âTâôâvâï
  1236.   L := ["é▄","éΣ","é▌"]
  1237.   every writes(!L)           ; write("é╠Åçù±")
  1238.   write("3éo0  éRò╢ÄÜé⌐éτéOò╢ÄÜæIé╘")
  1239.   every LL := lperm(L,0)  do {
  1240.     every writes(!LL)
  1241.     write()
  1242.   }
  1243.   write("3éo1  éRò╢ÄÜé⌐éτéPò╢ÄÜæIé╘")
  1244.   every LL := lperm(L,1)  do {
  1245.     every writes(!LL)
  1246.     write()
  1247.   }
  1248.   write("3éo2  éRò╢ÄÜé⌐éτéQò╢ÄÜæIé╘")
  1249.   every LL := lperm(L,2)  do {
  1250.     every writes(!LL)
  1251.     write()
  1252.   }
  1253.   write("3éo3  éRò╢ÄÜé⌐éτéRò╢ÄÜæIé╘")
  1254.   every LL := lperm(L,3)  do {
  1255.     every writes(!LL)
  1256.     write()
  1257.   }
  1258. end
  1259. -----$ PERM11.ICN ( lines:68 words:204 ) -------------------<cut here
  1260.  
  1261.  
  1262.   îïë╩é┼é╖üB
  1263. -----^ PERM11.TXT ( date:97-04-06 time:22:24 ) -------------<cut here
  1264. DNAé╠Åçù±
  1265. 3éo0  éRò╢ÄÜé⌐éτéOò╢ÄÜæIé╘
  1266.  
  1267. 3éo1  éRò╢ÄÜé⌐éτéPò╢ÄÜæIé╘
  1268. D
  1269. N
  1270. A
  1271. 3éo2  éRò╢ÄÜé⌐éτéQò╢ÄÜæIé╘
  1272. DN
  1273. DA
  1274. ND
  1275. NA
  1276. AD
  1277. AN
  1278. 3éo3  éRò╢ÄÜé⌐éτéRò╢ÄÜæIé╘
  1279. DNA
  1280. DAN
  1281. NDA
  1282. NAD
  1283. ADN
  1284. AND
  1285.  
  1286. é▄éΣé▌é╠Åçù±
  1287. 3éo0  éRò╢ÄÜé⌐éτéOò╢ÄÜæIé╘
  1288.  
  1289. 3éo1  éRò╢ÄÜé⌐éτéPò╢ÄÜæIé╘
  1290. é▄
  1291. éΣ
  1292. é▌
  1293. 3éo2  éRò╢ÄÜé⌐éτéQò╢ÄÜæIé╘
  1294. é▄éΣ
  1295. é▄é▌
  1296. éΣé▄
  1297. éΣé▌
  1298. é▌é▄
  1299. é▌éΣ
  1300. 3éo3  éRò╢ÄÜé⌐éτéRò╢ÄÜæIé╘
  1301. é▄éΣé▌
  1302. é▄é▌éΣ
  1303. éΣé▄é▌
  1304. éΣé▌é▄
  1305. é▌é▄éΣ
  1306. é▌éΣé▄
  1307. -----$ PERM11.TXT ( lines:43 words:48 ) --------------------<cut here
  1308.  
  1309. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1310. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1311. BGM: êúÅDé╠âJâTâuâëâôâJü^ï╜é╨éδé▌
  1312. (icon_210.txt 1997/04/06 PCVAN PIG)
  1313.  
  1314. üí  Icon > IconÄGïLÆáüiéPéPüj ægé▌ìçéφé╣             òùé┬é⌐éó
  1315.  
  1316.   æOë±üAÅçù±é≡éΓéΦé▄é╡é╜é╠é┼üAìíë±é═üAægé▌ìçéφé╣é┼é╖üB
  1317.   nCmé╔æèôûé╖éΘâvâìâOâëâÇé┼é╖üBÅçù±é╠âvâìâOâëâÇé╞üAé┘é┌ô»ùlé╠âvâìâOâëâÇ
  1318. é┼é╖üB
  1319.   Åçù±é╞êßé┴é─üAò╢ÄÜé╠Åçö╘é≡ìlù╢é╡é▄é╣é±é╠é┼üA
  1320.   ÄcéΦé╠òöò¬é╔üAô»é╢Åêù¥é≡ë┴éªéΘé╜é▀é╔üAôné╖Åêù¥é¬Å¡é╡êßé┴é─éóé▄é╖üB
  1321.  
  1322.   3éb2é╠ÅΩìçé┼é╖é╞üA
  1323. comb("CPU",2)
  1324.   |--> "C" || comb("PU",1)             # é▒é▒é┼éPò╢ÄÜû┌
  1325.                |--> "P" || comb("U",0) # é▒é▒é┼éQò╢ÄÜû┌üiîπé═òsùvüj
  1326.                             |---> ""   # éRò╢ÄÜû┌é╚é╠é┼ï≤ò╢ÄÜé┼ò╘é╖üB
  1327. é╞éóéñòùé╔ô«é½é▄é╖üB
  1328.  
  1329. -----^ COMB11.ICN ( date:97-04-07 time:19:06 ) -------------<cut here
  1330. # nCm (n = *s é▄é╜é═ *L)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé╘üB
  1331. # This file is in the public domain.
  1332. # comb11.icn 1997/04/07 windy
  1333.  
  1334. # stringé╠ægé▌ìçéφé╣
  1335. # nCm (n = *s)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé╘üB
  1336. procedure comb(s,m)
  1337.   /m := *s                    # âfâtâHâïâg nCn (n = m = *s)
  1338.   if m = 0 then return ""     # mé≡ò╢ÄÜÉöâJâEâôâ^ü[é╔ÄgéñüB
  1339.                               # éOé╚é┴é╜éτüAé╗é▒é┼æ┼é┐Ä~é▀üB
  1340.   suspend s[i := 1 to *s] || comb(s[i+1 : 0],        m -1)
  1341.           #ü¬ éPò╢ÄÜæIé╘  ü¬ ü¬ü⌐æOé┼æIé±é╛ò╢ÄÜéµéΦ  ü¬ÄwÆΦò╢ÄÜÉöé╔
  1342.           #               üb     îπéδé╠ò╢ÄÜù±é╔ô»é╢    ò╢ÄÜù±é≡ù}éª
  1343.           #               üb     Åêù¥é≡ìséñüB          éΘé╜é▀é╠âJâE
  1344.           #           ò╢ÄÜù±é╠ÿAîï                     âôâ^ü[
  1345. end
  1346.  
  1347.  
  1348. # listé╠ùvæfé╠ægé▌ìçéφé╣üB
  1349. # nCm (n = *L)  nî┬é╠éαé╠é⌐éτüAmî┬é≡æIé╘üB
  1350. procedure lcomb(L,m)
  1351. local i
  1352.   /m := *L
  1353.   if m = 0 then return []
  1354.   suspend [L[i := 1 to *L]] ||| lcomb(L[i+1 : 0],m -1)
  1355.           #                  ü¬listé╠ÿAîï
  1356. end
  1357.  
  1358.  
  1359. # test data
  1360. procedure main()
  1361.   # ëpò╢ÄÜé╠ægé▌ìçéφé╣âTâôâvâï
  1362.   s := "CPU"
  1363.   write("\"",s,"\" é╠ægé▌ìçéφé╣")
  1364.   every i := 1 to *s do {
  1365.     write("\n\"",*s,"C",i)
  1366.     j := 0
  1367.     every ss := comb(s,i) do {
  1368.       j +:= 1
  1369.       writes(j,":",ss)
  1370.       write()
  1371.     }
  1372.   }
  1373.   write()
  1374.  
  1375.   # listùvæfüiô·û{îΩò╢ÄÜüjé╠ægé▌ìçéφé╣âTâôâvâï
  1376.   L := ["é│","é¿","éΦ"]
  1377.   every writes(!L)           ; write(" é╠ægé▌ìçéφé╣")
  1378.   every i := 1 to *L do {
  1379.     write("\n\"",*L,"C",i)
  1380.     j := 0
  1381.     every LL := lcomb(L,i) do {
  1382.       j +:= 1
  1383.       writes(j,":")
  1384.       every writes(!LL)
  1385.       write()
  1386.     }
  1387.   }
  1388.  
  1389. end
  1390. -----$ COMB11.ICN ( lines:60 words:193 ) -------------------<cut here
  1391.  
  1392.  
  1393.   îïë╩é┼é╖üB
  1394. -----^ COMB11.TXT ( date:97-04-07 time:19:23 ) -------------<cut here
  1395. "CPU" é╠ægé▌ìçéφé╣
  1396.  
  1397. "3C1
  1398. 1:C
  1399. 2:P
  1400. 3:U
  1401.  
  1402. "3C2
  1403. 1:CP
  1404. 2:CU
  1405. 3:PU
  1406.  
  1407. "3C3
  1408. 1:CPU
  1409.  
  1410. é│é¿éΦ é╠ægé▌ìçéφé╣
  1411.  
  1412. "3C1
  1413. 1:é│
  1414. 2:é¿
  1415. 3:éΦ
  1416.  
  1417. "3C2
  1418. 1:é│é¿
  1419. 2:é│éΦ
  1420. 3:é¿éΦ
  1421.  
  1422. "3C3
  1423. 1:é│é¿éΦ
  1424. -----$ COMB11.TXT ( lines:29 words:24 ) --------------------<cut here
  1425.  
  1426. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1427. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1428. BGM: Waltz For Debby / Bill Evans
  1429. (icon_211.txt 1997/04/07 PCVAN PIG)
  1430.  
  1431. üí  Icon > IconÄGïLÆáüiéPéQüj pipeòùé╠âvâìâOâëâÇ     òùé┬é⌐éó
  1432.  
  1433.   âpâCâvé╞éóéñé╠é═üAUnixéΓ MS-DOSé┼éóéñâpâCâvé╠é▒é╞é┼é╖üBâvâìâOâëâÇ
  1434. é╠è╘é╠âfü[â^é╠ôné╡ò√é┼üA
  1435.  
  1436.                    data                     data
  1437.    ------------   stream    ------------   stream     ------------
  1438.   |  program1  |  =====>   |  program2  |  =====>    |  program3  |
  1439.    ------------    pipe     ------------    pipe      ------------
  1440.                òWÅÇ     òWÅÇ            òWÅÇ      òWÅÇ
  1441.                Åoù═     ôⁿù═            Åoù═      ôⁿù═
  1442.  
  1443. é╞üAé┬é╚éóé┼éóé»éΘ éαé╠é┼é╖üB
  1444.  
  1445.   generatoré╠ìléªò√é╠Éαû╛é≡é╡é─éóé─üAé▒éΦéßü`âpâCâvé╛ü`é╞Ävéóé▄é╡é╜üB
  1446.   generatoré╠é▒é╞é┼é╖é⌐éτüAprocedureé╠è╘é╠âfü[â^é╠Ä≤é»ôné╡ò√û@é╠é▒é╞
  1447. é╔é╚éΘé±é┼é╖é¬üB éµé¡Äùé─éóé▄é╖éµé╦üB
  1448.  
  1449.   âpâCâvé╠ÅΩìçé═üAÅπé╠É}é╠éµéñé╔üAprogram1é╞ program2é═æ╬ôÖé╚ê╩Æu
  1450. è╓îWé╔é╚éΦé▄é╖é¬üAprocedureé╠ÅΩìçé═üAâfü[â^é≡ôné╖é╞é▒éδé┼üAæ╬ôÖé╞
  1451. éóéñû≤é╔é═éóé⌐é╕üAé╟é┐éτé⌐é╠âvâìâOâëâÇ鬠æ╝ò√é≡î─é╘ü^Ägéñé╞éóéñè╓
  1452. îWé╔é╚éΦé▄é╖é╠é┼üA
  1453.  
  1454.    ------------    data     ------------    data      ------------
  1455.   | procedure1 |  =====>   | procedure2 |  =====>    | procedure3 |
  1456.    ------------             ------------              ------------
  1457.  
  1458. é═üA
  1459.  
  1460.    - proc1 ----  î─é╘ü^Ägéñ - proc2 ----  î─é╘ü^Ägéñ  - proc3 ----
  1461.   |            |     ----    procedure2 |     ----     procedure3 |
  1462.   |            |    /      |            |    /       |            |
  1463.   |     proc2   <--        |             <--         |            |
  1464.    ------------ ë║ê╩   Åπê╩ ------------ ë║ê╩    Åπê╩ ------------
  1465.  
  1466. é╞éóéñì\ɼé╔é╚éΦé▄é╖üB
  1467.  
  1468.   âTâôâvâïé╞é╡é─üAé┐éσé┴é╞ï¡ê°é╚ùßé┼é╖é¬üAâfü[â^é≡ö¡É╢é╡é─üAé╗éΩé≡
  1469. âtâBâïâ^ü[é╔é⌐é»é─üAÅoù═é╖éΘéαé╠é≡üB
  1470. -----^ PIPE01.ICN ( date:97-04-10 time:21:57 ) -------------<cut here
  1471. # pipeòù âvâìâOâëâÇì\ɼ âTâôâvâï
  1472. # samp212.icn 1997/04/10 windy
  1473. # This file is in the public domain.
  1474.  
  1475. procedure song_name()
  1476. # âfü[â^ö¡É╢
  1477.   L_Vivien := ["éféÅéÅéäü@éeéÆéëéàéÄéä",
  1478.                "òùé╠öwÆå",
  1479.                "Å¥é╛éτé»é╠ôVÄg",
  1480.                "Åté╠ô·",
  1481.                "éùéàéîéâéÅéìéàü@éöéÆéÅéòéééîéà",
  1482.                "ûΘû╛é»é╠âëâôâiü[",
  1483.                "é`éîéùéüéÖéô",
  1484.                "î▀æOéRÄ₧é╠ëJ",
  1485.                "ï╔èyëwé⌐éτî⌐éªéΘîÄ",
  1486.                "Ægé⌐éóÆ╛û┘",
  1487.                "æOö»"]
  1488.   suspend !L_Vivien                       # listé⌐éτùvæfé≡Åçé╔ĵéΦÅoé╡
  1489. end
  1490.  
  1491. #             ü½âfü[â^
  1492.  
  1493. procedure sel_word()
  1494. # âtâBâïâ^ü[üiò╢ÄÜù±é╔ "é╠" é¬è▄é▄éΩéΘéαé╠é≡ö▓é½Åoé╖üj
  1495.   key := "é╠"
  1496.   every s := song_name() do {
  1497.     s ? if find(key) then suspend s
  1498.   }
  1499. end
  1500.  
  1501. #             ü½âfü[â^
  1502.  
  1503. procedure main()
  1504. # Åæé½Åoé╡
  1505.   every write(sel_word())
  1506. end
  1507. -----$ PIPE01.ICN ( lines:36 words:73 ) --------------------<cut here
  1508.  
  1509.   îïë╩é═ăé╠éµéñé╔é╚éΦé▄é╖üB
  1510. -----^ PIPE.TXT ( date:97-04-10 time:22:28 ) ---------------<cut here
  1511. òùé╠öwÆå
  1512. Å¥é╛éτé»é╠ôVÄg
  1513. Åté╠ô·
  1514. ûΘû╛é»é╠âëâôâiü[
  1515. î▀æOéRÄ₧é╠ëJ
  1516. -----$ PIPE.TXT ( lines:5 words:5 ) ------------------------<cut here
  1517.  
  1518.   é▒éΩé═üAăé╠éRé┬é╠âvâìâOâëâÇé≡üApipeé┼ é┬é╚éóé╛éαé╠é╞üAô»é╢é┼é╖üB
  1519.   âRâ}âôâhâëâCâôé⌐éτüAăé╠éµéñé╔æ┼é┐ì₧é▌é▄é╖é╞üAô»é╢îïë╩é¬é┼é▄é╖üB
  1520.   pipe02 | pipe03 | pipe04 > pipe.txt
  1521.  
  1522.   pipe03 é╠Åoù═é¬òWÅÇÅoù═é┼é╖é╠é┼üApipe04 òsùvé┼é╖é¬üAî`é≡ìçéφé╣éΘé╜é▀
  1523. é╔ôⁿéΩé─éáéΦé▄é╖üBüiè╛üj
  1524.  
  1525. -----^ PIPE02.ICN ( date:97-04-10 time:22:21 ) -------------<cut here
  1526. # pipe âTâôâvâïâvâìâOâëâÇéP
  1527. # pipe02.icn 1997/04/10 windy
  1528. # This file is in the public domain.
  1529. procedure main()
  1530. # âfü[â^ö¡É╢
  1531.   L_Vivien := ["éféÅéÅéäü@éeéÆéëéàéÄéä",
  1532.                "òùé╠öwÆå",
  1533.                "Å¥é╛éτé»é╠ôVÄg",
  1534.                "Åté╠ô·",
  1535.                "éùéàéîéâéÅéìéàü@éöéÆéÅéòéééîéà",
  1536.                "ûΘû╛é»é╠âëâôâiü[",
  1537.                "é`éîéùéüéÖéô",
  1538.                "î▀æOéRÄ₧é╠ëJ",
  1539.                "ï╔èyëwé⌐éτî⌐éªéΘîÄ",
  1540.                "Ægé⌐éóÆ╛û┘",
  1541.                "æOö»"]
  1542.   every write(!L_Vivien)         # listé⌐éτùvæfé≡Åçé╔ĵéΦÅoé╡
  1543. end
  1544. -----$ PIPE02.ICN ( lines:18 words:37 ) --------------------<cut here
  1545.  
  1546. -----^ PIPE03.ICN ( date:97-04-10 time:22:20 ) -------------<cut here
  1547. # pipe âTâôâvâïâvâìâOâëâÇéQ
  1548. # pipe03.icn 1997/04/10 windy
  1549. # This file is in the public domain.
  1550. procedure main()
  1551. # âtâBâïâ^ü[
  1552. # ò╢ÄÜù±Æåé╔ "é¬" è▄é▄éΩéΘéαé╠é≡üAö▓é½Åoé╖üB
  1553.   while line := read() do {
  1554.     key := "é╠"
  1555.     line ? if find(key) then write(line)
  1556.   }
  1557. end
  1558. -----$ PIPE03.ICN ( lines:11 words:40 ) --------------------<cut here
  1559.  
  1560. -----^ PIPE04.ICN ( date:97-04-10 time:22:20 ) -------------<cut here
  1561. # pipe âTâôâvâïâvâìâOâëâÇéR
  1562. # pipe04.icn 1997/04/10 windy
  1563. # This file is in the public domain.
  1564. procedure main()
  1565. # Åæé½Åoé╡
  1566.   while write(read())
  1567. end
  1568. -----$ PIPE04.ICN ( lines:7 words:22 ) ---------------------<cut here
  1569.  
  1570. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1571. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1572. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  1573. (icon_212.txt 1997/04/10 PCVAN PIG)
  1574.  
  1575. üí  Icon > IconÄGïLÆáüiéPéRüj ârâfâIûΓæΦé═üAô╣ëôé╡   òùé┬é⌐éó
  1576.  
  1577.   éñü`é±üBô∩é╡éóüB  Éµô·é⌐éτüAægé▌ìçéφé╣é╠âvâìâOâëâÇé≡ÉFüXÄÄé╡é─éóé▄é╖é¬
  1578. û┌òWé¬éáéΦé▄é╖üB
  1579.   ê╚æOé╠Åæé½é▒é▌é╔éáé┴é╜üAÿ^ëµârâfâIé≡î°ùªéµé¡üAò╩é╠ârâfâIâeü[âvé╓ïlé▀ì₧
  1580. é▐ûΓæΦé¬üAé╚é±é╞é⌐ë≡é»é╚éóé⌐é╞éΓé┴é─éóé▄é╖üB
  1581.   é╡é⌐é╡üAô╣é═ëôéóé╚ü`  é╞éóéñÅ≤æ╘é┼é╖üB
  1582.  
  1583. üiéoébéué`émé╠ éoéhéfé╠ âeâLâXâgâfü[â^ë∩ïcÄ║é╔üAÿ^ëµârâfâIé≡ ò╩é╠âeü[âvé╔
  1584.   î°ùªù╟é¡ ïlé▀ì₧é▐âAâïâSâèâYâÇé═û│éóé⌐ é╞Ä┐ûΓé│éΩé╜ò√鬠éóéτé┴é╡éßéóé▄é╡
  1585.   é╜üB é▒é╠ò╙é═üAé╗éΩé≡ìuì└é╠âlâ^é╔ Ägéφé╣é─ éóé╜é╛éóé─éóé▄é╖üBüj
  1586.  
  1587.   û{ë«é┼üAægé▌ìçéφé╣ù¥ÿ_é╠û{é╞é⌐üAâAâïâSâèâYâÇé╠û{é╞é⌐é≡âpâëâpâëé▀é¡é┴é─
  1588. é▌é╜é╠é┼é╖é¬üAé▒é╠ûΓæΦé═üuâiâbâvâUâbâNûΓæΦüvé╞éóéñéτé╡éóé┼é╖é╦üB
  1589.   âiâbâvâUâbâNûΓæΦé═üAâiâbâvâUâbâNé╞ë╫ò¿é¬éáé┴é─üAêΩö╘é╜é¡é│é±ïlé▀éΘéΓéΦ
  1590. ò√é═é╟éΩé⌐é╞éóéñéµéñé╚ûΓæΦé┼é╖üB
  1591.   ï∩æ╠ôIé╔üAé╟éñéΓé┴é─üAægé▌ìçéφé╣é≡É⌠éóé╛é╖é╠é⌐üAéµé¡ò¬é⌐éΦé▄é╣é±üB
  1592.  
  1593.   é▒é╠ûΓæΦé≡ë≡é¡âvâìâOâëâÇé╔é═üAéáéΘÆ÷ôxé═üué╡éτé▌é┬é╘é╡üvüuæìôûé╜éΦüvôI
  1594. é╚Åêù¥é¬òKùvé╛éδéñé╞éóéñé▒é╞é┼üAIconé¬îⁿéóé─éóéΘé╠é═èmé⌐é╛é╞Ävéñé╠é┼é╖é¬
  1595. é╚é⌐é╚é⌐üAÄΦï¡éóé┼é╖üB  ìíë±éαüAârâfâIûΓæΦé╠ÅKì∞âvâìâOâëâÇé╞é╚éΦé▄é╖üB
  1596.  
  1597.   generatoré⌐éτâfü[â^é≡Ä≤é»ÄµéΦüAé╗é╠âfü[â^é≡Åçé╔ægé▌ìçéφé╣é─éóé¡ âvâìâO
  1598. âëâÇé≡éΓé┴é─é▌é▄é╖üB  ô«ì∞é═üAâRâüâôâgé≡ÄQÅ╞é╡é─ë║é│éóüB
  1599.  
  1600. -----^ COMB12.ICN ( date:97-04-12 time:10:53 ) -------------<cut here
  1601. # generatoré⌐éτé╠âfü[â^é╠ægé▌ìçéφé╣
  1602. # comb12.icn 1997/04/12 windy
  1603. # This file is in the public domain.
  1604.  
  1605. # ò╢ÄÜù± sé╠ò╢ÄÜé≡üAéPò╢ÄÜé╕é┬ɵô¬é⌐éτüAÅçă É╢ɼé╖éΘ generator
  1606. # s : â\ü[âXâfü[â^
  1607. procedure gen_char(s)
  1608.   suspend !s               # éPò╢ÄÜé╕é┬ĵéΦÅoé╖
  1609. end
  1610.  
  1611. #          ü½âfü[â^üiéPò╢ÄÜüj
  1612.  
  1613. # ò╢ÄÜù± sé╠ò╢ÄÜé≡üAéPò╢ÄÜé╕é┬Ä≤é»ÄµéΦüAægé▌ìçéφé╣ò╢ÄÜù± é≡üA
  1614. # Åçă É╢ɼé╖éΘ generator
  1615. # s : â\ü[âXâfü[â^
  1616. procedure glcomb(s)
  1617.   L := []   # âÅü[âNùpâèâXâgüiÉ╢ɼì╧é╠ò╢ÄÜù±é≡üAò╢ÄÜÉöò╩é╔èiö[üBüj
  1618. # "A","B","C"é╠Åçé┼éRò╢ÄÜé≡Ä≤é»é╜ÅΩìçé╠ô«ì∞é═ăé╠Æ╩éΦé┼é╖üB
  1619. # [["A"]]                                    # éPò╢ÄÜû┌é╠Å≤æ╘
  1620. #   ü¬éPò╢ÄÜâèâXâg
  1621.  
  1622. # éPò╢ÄÜâèâXâgé╠ò╢ÄÜ "A"é╞ÉVé╜é╔ùêé╜ "B"é≡ÿAîïé╡é╜ò╢ÄÜù±é≡üA
  1623. # îπéδé╔éQò╢ÄÜâèâXâgé≡ì∞ɼé╡èiö[é╡üA
  1624. # ìXé╔üAéPò╢ÄÜâèâXâgé╔ "B"é≡Æ╟ë┴é╖éΘé╞üA
  1625. # [["A","B"],     ["AB"]]                    # éQò╢ÄÜû┌é╠Å≤æ╘
  1626. #   ü¬éPò╢ÄÜâèâXâg  ü¬éQò╢ÄÜâèâXâg
  1627.  
  1628. # éQò╢ÄÜâèâXâgé╠ò╢ÄÜ "AB"é╞ÉVé╜é╔ùêé╜ "C"é≡ÿAîïé╡é╜ò╢ÄÜù±é≡üA
  1629. # îπéδé╔éRò╢ÄÜâèâXâgé≡ì∞ɼé╡èiö[é╡üA
  1630. # ìXé╔üAéPò╢ÄÜâèâXâgé╠ò╢ÄÜ "A","B"é╞ "C"é≡èeüXÿAîïé╡é╜ò╢ÄÜù±é≡üA
  1631. # éQò╢ÄÜâèâXâgé╔èiö[é╡üA
  1632. # ìXé╔üAéPò╢ÄÜâèâXâgé╔ "C"Æ╟ë┴èiö[é╖éΘé╞üA
  1633. # [["A","B","C"], ["AB","AC","DC"],["ABC"]]  # éRò╢ÄÜû┌é╠Å≤æ╘
  1634. #   ü¬éPò╢ÄÜâèâXâg  ü¬éQò╢ÄÜâèâXâg   ü¬éRò╢ÄÜâèâXâg
  1635. #
  1636.   every new := gen_char(s) do {   # generatoré⌐éτéPò╢ÄÜĵéΦÅoé╡
  1637.     put(L,[])                   # âèâXâg Lôαé╔üAï≤âèâXâgÆ╟ë┴
  1638.     every i := *L to 1 by -1 do { # âèâXâgé≡üAûûö÷é⌐éτÅêù¥
  1639.       if i > 1 then {             # âèâXâgé¬éQùvæfê╚Åπé╛é┴é╜éτ
  1640.         every j := 1 to *L[i -1] do {  # (i-1)ò╢ÄÜâèâXâgé╠ùvæfé╔
  1641.           put(L[i], comb := (L[i -1][j] || new) ) # ÉVé╜é╚ò╢ÄÜé≡ÿAîïé╡
  1642.                                                   # iò╢ÄÜâèâXâgé╔èiö[
  1643.         suspend comb              # Æ╟ë┴é╡é╜ò╢ÄÜù±é≡ôné╖
  1644.         }
  1645.       }
  1646.       else {
  1647.         put(L[1],new)             # éPò╢ÄÜâèâXâgé╔üAÉVé╜é╚ò╢ÄÜé≡Æ╟ë┴
  1648.         suspend new               # Æ╟ë┴é╡é╜ò╢ÄÜé≡ôné╖
  1649.       }
  1650.     }
  1651.   }
  1652. end
  1653.  
  1654. #          ü½âfü[â^üiò╢ÄÜüiù±üjüj
  1655.  
  1656. # ò╢ÄÜù±É▌ÆΦü^îïë╩Åæé½Åoé╡Åêù¥
  1657. procedure main(args)
  1658.   # âRâ}âôâhâëâCâôâpâëâüü[â^é¬û│é»éΩé╬üA"ABCD"é≡â\ü[âXâfü[â^é╞é╖éΘüB
  1659.   s := if *args = 0 then "ABCD" else args[1]
  1660.   # é╖é╫é─é╠ægé▌ìçéφé╣é≡Åæé½Åoé╖üB
  1661.   every write(glcomb(s))
  1662. end
  1663. -----$ COMB12.ICN ( lines:62 words:198 ) -------------------<cut here
  1664.  
  1665.   îïë╩é═üAé▒éñé╚éΦé▄é╖üB
  1666. -----^ COMB12.TXT ( date:97-04-12 time:10:54 ) -------------<cut here
  1667. A
  1668. AB
  1669. B
  1670. ABC
  1671. AC
  1672. BC
  1673. C
  1674. ABCD
  1675. ABD
  1676. ACD
  1677. BCD
  1678. AD
  1679. BD
  1680. CD
  1681. D
  1682. -----$ COMB12.TXT ( lines:15 words:15 ) --------------------<cut here
  1683.  
  1684. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1685. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1686. BGM: éáüTû│Åεü^âAâôüEâïâCâX
  1687. (icon_213.txt 1997/04/12 PCVAN PIG)
  1688.  
  1689. üí  Icon > IconÄGïLÆáüiéPéSüj ârâfâIûΓæΦü^ægé▌ìçéφé╣ òùé┬é⌐éó
  1690.  
  1691.   ârâfâIûΓæΦé╠ÅKì∞âvâìâOâëâÇé╠æ▒é½é┼é╖üB æOë±é╠ generatoré⌐éτ Ä≤é»Äµé┴é╜
  1692. ò╢ÄÜé╠ægé▌ìçéφé╣âvâìâOâëâÇé≡üAâèâXâgî`Ä«âfü[â^é┼éα Ä≤é»ÄµéΩéΘéµéñé╔ ègÆú
  1693. é╡é╜éαé╠é┼é╖üB
  1694.  
  1695. -----^ COMB13.ICN ( date:97-04-12 time:10:31 ) -------------<cut here
  1696. # generatoré⌐éτé╠âfü[â^é╠ægé▌ìçéφé╣
  1697. # comb12.icné≡üAò╢ÄÜù±é╛é»é┼é╚é¡âèâXâgé╔éαôKùpé┼é½éΘéµéñègÆú
  1698. # ô«ì∞é═üAcomb12.icné╠âRâüâôâgé≡ÄQÅ╞é╡é─ë║é│éóüB
  1699. # comb13.icn 1997/04/12 windy
  1700. # This file is in the public domain.
  1701.  
  1702. link show_l # listÅæé½Åoé╡ procedure
  1703.  
  1704. # âfü[â^ xé╠ùvæfé≡üAéPé┬é╕é┬ɵô¬é⌐éτüAÅçă É╢ɼé╖éΘ generator
  1705. # x : â\ü[âXâfü[â^
  1706. procedure gen_elem(x)
  1707.   suspend !x               # ùvæfé≡éPé┬é╕é┬ĵéΦÅoé╖
  1708. end
  1709.  
  1710. #          ü½âfü[â^
  1711.  
  1712. # âfü[â^é≡Åçă Ä≤é»ÄµéΦüAægé▌ìçéφé╣é─âèâXâgé╔é╡é╜âfü[â^é≡
  1713. # É╢ɼé╖éΘ generator
  1714. # proc1 : generatorû╝Å╠üAx : â\ü[âXâfü[â^
  1715. procedure glcombf(proc1,x)
  1716.   L := []   # âÅü[âNùpâèâXâgüiÉ╢ɼì╧é▌é╠âèâXâgüAé≡ùvæfÉöò╩é╔èiö[üj
  1717.   every new := proc1(x) do {    # ÉVé╜é╔ùvæfé≡Ä≤é»ÄµéΘüB
  1718.     put(L,[])                   # âèâXâg Lôαé╔üAï≤âèâXâgÆ╟ë┴
  1719.     every i := *L to 1 by -1 do {       # ùvæfÉöûêâèâXâgé╔é┬éóé─ûûö÷é⌐éτ
  1720.       if i > 1 then {                   # è∙é╔üAùvæfé¬éáé┴é╜éτüAÉVé╜é╚ùvæf
  1721.         every j := 1 to *L[i -1] do {   # é╞ægé▌ìçéφé╣é─üA
  1722.           put(L[i], comb := (L[i -1][j] ||| [new]) )  # ùvæfÉöûêâèâXâgé╔Æ╟ë┴
  1723.           #    ü¬iùvæfÉöâèâXâg ü¬(i-1)ùvæfÉöâèâXâg
  1724.         suspend comb                    # ægé▌ìçéφé╣é┼É╢ɼé╡é╜ùvæfé≡ò╘é╖
  1725.         }
  1726.       }
  1727.       else {
  1728.         put(L[1],[new])         # éPùvæfâèâXâgé╔üAÉVé╜é╔ùêé╜ùvæfé≡Æ╟ë┴
  1729.         suspend [new]           # ÉVé╜é╔ùêé╜ùvæfé≡ò╘é╖
  1730.       }
  1731.     }
  1732.   }
  1733. end
  1734.  
  1735. #          ü½âfü[â^
  1736.  
  1737. # â\ü[âXâfü[â^É▌ÆΦü^îïë╩Åæé½Åoé╡Åêù¥
  1738. procedure main()
  1739.  
  1740.   # ò╢ÄÜù±âfü[â^
  1741.   x := "ABCD"
  1742.   every show_sl(glcombf(gen_elem,x))
  1743.   #     ü¬éPÅdâèâXâgÅæé½Åoé╡
  1744.   write()
  1745.  
  1746.   # âèâXâgâfü[â^
  1747.   x := [["A1","A2","A3"],["B1","B2","B3"],["C1","C2","C3"]]
  1748.   every show_wl(glcombf(gen_elem,x))
  1749.   #     ü¬éQÅdâèâXâgÅæé½Åoé╡
  1750.  
  1751. end
  1752. -----$ COMB13.ICN ( lines:56 words:161 ) -------------------<cut here
  1753.  
  1754.   âèâXâgôαùeò\Īé╠é╜é▀é╔üAlinké╡é─éóéΘ procedureé┼é╖üB
  1755. -----^ SHOW_L.ICN ( date:96-11-04 time:11:19 ) -------------<cut here
  1756. procedure show_sl(list)
  1757. # show_sl.icn Ver.1.1 1996/11/04   windy
  1758. # âèâXâgé╠ôαùeò\ĪüiâeâXâgü^ò\Īùpüj
  1759.   every writes(" ",!list)
  1760.   write()
  1761.   return
  1762. end
  1763.  
  1764. procedure show_wl(wlist)
  1765. # show_wl.icn Ver.1.1 1996/11/03   windy
  1766. # 2ÅdâèâXâgé╠ôαùeò\ĪüiâeâXâgü^ò\Īùpüj
  1767.   every list := !wlist do {
  1768.     every writes(" ",!list)
  1769.     write("")
  1770.   }
  1771.   write("")
  1772.   return
  1773. end
  1774. -----$ SHOW_L.ICN ( lines:18 words:38 ) --------------------<cut here
  1775.  
  1776.  
  1777.  
  1778.   îïë╩é═é▒éñé╚éΦé▄é╖üB
  1779. -----^ COMB13.TXT ( date:97-04-12 time:10:54 ) -------------<cut here
  1780.  A
  1781.  A B
  1782.  B
  1783.  A B C
  1784.  A C
  1785.  B C
  1786.  C
  1787.  A B C D
  1788.  A B D
  1789.  A C D
  1790.  B C D
  1791.  A D
  1792.  B D
  1793.  C D
  1794.  D
  1795.  
  1796.  A1 A2 A3
  1797.  
  1798.  A1 A2 A3
  1799.  B1 B2 B3
  1800.  
  1801.  B1 B2 B3
  1802.  
  1803.  A1 A2 A3
  1804.  B1 B2 B3
  1805.  C1 C2 C3
  1806.  
  1807.  A1 A2 A3
  1808.  C1 C2 C3
  1809.  
  1810.  B1 B2 B3
  1811.  C1 C2 C3
  1812.  
  1813.  C1 C2 C3
  1814.  
  1815. -----$ COMB13.TXT ( lines:35 words:68 ) --------------------<cut here
  1816.  
  1817. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1818. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1819. BGM: âgâëâCâAâôâOâïüEâuâïü[ü^âAâôüEâïâCâX
  1820. (icon_214.txt 1997/04/12 PCVAN PIG)
  1821.  
  1822. üí  Icon > IconÄGïLÆáüiéPéTüj ârâfâIûΓæΦü^è╚ê╒ë≡û@   òùé┬é⌐éó
  1823.  
  1824.   ârâfâIâeü[âvé╓é╠ÿ^ëµïlé▀ì₧é▌ûΓæΦé═üAâeü[âvéΓélécé╔ìDé½é╚ë╣èyé≡ïlé▀ì₧é±
  1825. é╛éΦüAâgâëâbâNé╔ë╫ò¿é≡ïlé▀ì₧é±é╛éΦüAÉ╢èêé╡é─éóé─Ä└ì█é╔éóéδé±é╚ÅΩû╩é┼æÿï÷
  1826. é╡é▄é╖üB
  1827.   é┼éαüAÄ└ì█ôIé╔é═üAæSé─é╠ægé▌ìçéφé╣é≡ÄÄé╖é╠é┼é═é╚é¡üA
  1828.           üEæσé½éóéαé╠é⌐éτüAÅçé╔ïlé▀é─éóé¡üB
  1829.           üEï≤é½é¬éáéΩé╬üAé╚éΘé╫é¡æσé½éóéαé╠é≡ïlé▀é─é▌éΘüB
  1830.           üEï≤é½é╔üAôⁿéΘéαé╠é¬û│é¡é╚éΘé▄é┼ÄÄé╖üB
  1831.  
  1832.   é╞éóéñéµéñé╚éΓéΦò√éαéµé¡éΓéΦé▄é╖üB
  1833.   é▒éΩé┼üAì┼ôKé╞éóéªé╚é¡é╞éαüAÄ└ùpôIé╔é═üAé╗é▒é╗é▒é╠îïë╩é¬üAô╛éτéΩé─éóéΘ
  1834. é╠é┼é╚éóé⌐é╞üAÄvéóé▄é╖üBé▒é╠éΓéΦò√é┼é╖é╞üAöΣèrôIè╚ÆPé╔âvâìâOâëâÇé┼é½é▄é╖üB
  1835.   é╡é⌐é╡üAIconé┼é═ æ╜Åd listâfü[â^ì\æóé¬âTâ|ü[âgé│éΩé─éóé▄é╖é¬üAû│éóî╛îΩ
  1836. é┼é═ îïì\ û╩ô|é╚âvâìâOâëâÇé╔é╚éΘé⌐éαüB
  1837.  
  1838.   ÿ^ëµârâfâIé╠âfü[â^ùßé≡ê°ùpé╡é─é¿é½é▄é╖üBæΦû╝é╞ÿ^ëµÄ₧è╘é¬ìsÆPê╩é╔Åæé½ì₧
  1839. é▄éΩé─éóéΘâtâ@âCâïé┼é╖üB
  1840. -----^ SOURCE.DAT ( date:97-03-23 time:19:38 ) -------------<cut here
  1841. âWâââXâeâBâX 118
  1842. û\ù═ÆEìû 127
  1843. âZâïâsâR 130
  1844. éáé╚é╜é╛é»ìíö╙é═ 137
  1845. ôVìæé⌐éτé½é╜â`âââôâsâIâô 101
  1846. âXâ^âôâhâoâCâ~ü[ 85
  1847. âtâëâôâLü[üòâWâçâjü[ 118
  1848. âXâeâBâôâO 129
  1849. âOâbâhâéü[âjâôâOâxâgâiâÇ 121
  1850. -----$ SOURCE.DAT ( lines:9 words:18 ) ---------------------<cut here
  1851.  
  1852.   é▒éΩé≡üAÆ╖éóÅçé╔âeü[âvé╔ïlé▀é─éóé¡âvâìâOâëâÇé┼é╖üB
  1853. -----^ PACK01.ICN ( date:97-04-13 time:10:57 ) -------------<cut here
  1854. # ârâfâIûΓæΦü@è╚ê╒ë≡û@
  1855. # Æ╖éóârâfâIé⌐éτÅçé╔üAïlé▀é─éóé¡üB
  1856. # pack01.icn Rev.1.3 1997/04/13 windy ÿ^ëµÄ₧è╘é╠ò¬é≡Æ╟ë┴
  1857. # pack01.icn Rev.1.2 1997/04/13 windy âRâüâôâgÆ∙É│üEÆ╟ë┴üAôÖ
  1858. # pack01.icn Rev.1.1 1997/04/12 windy
  1859. # This file is in the public domain.
  1860. link split, show_l
  1861.  
  1862. procedure main(args)
  1863. # â_ârâôâOâeü[âvÄ₧è╘
  1864.   t_tape := 120                        # âeü[âvÄ₧è╘üiò¬üj
  1865.   t_max  := t_tape *3                  # éRö{
  1866.  
  1867.   # âtâ@âCâïâIü[âvâô
  1868.   f_name := "source.dat" 
  1869.   dir := open(f_name) | stop("cannot open ",f_name)
  1870.  
  1871. # ÿ^ëµâfü[â^ô╟é▌ì₧é▌
  1872.   L_data := []
  1873.   n := 0
  1874.   while line := read(dir) do {         # ÿ^ëµâfü[â^âtâ@âCâïé╠Åçăô╟ì₧
  1875.      L := split(line)
  1876.      put(L_data,[n +:= 1,L[1],numeric(L[2])])
  1877.     # ìsé≡ spaceé┼ò¬èäé╡üAɵô¬é╔ Noé≡òtë┴é╡é─üAlisté╔èiö[üB
  1878.     # [1]:No [2]:æΦû╝, [3]:ÿ^ëµÄ₧è╘üiò¬üj(Rev.1.2)
  1879.   }
  1880.   close(dir)
  1881.  
  1882.   write("ÿ^ëµâfü[â^")                  # ÿ^ëµâfü[â^ÅæÅoé╡
  1883.   show_wl(L_data)
  1884.  
  1885.   # ÿ^ëµÄ₧è╘é┼ listé≡ sort
  1886.   L_data2 := sortf(L_data,3)           # éRö╘û┌é╠ fieldé┼ sort
  1887.  
  1888.   write("ÿ^ëµâfü[â^â\\ü[âgîïë╩")       # ÿ^ëµâfü[â^â\ü[âgîïë╩ÅæÅoé╡
  1889.   show_wl(L_data2)                     # "â\"é═ SJISé┼üA835c
  1890.  
  1891.   i     := 0        # ïlé▀ì₧é▌âeü[âvö╘ìå
  1892.   L_out := []       # ïlé▀ì₧é▌âfü[â^èiö[ list
  1893.                     # [i]: âeü[âvö╘ìå
  1894.                     # [i][1]: ïlé▀ì₧é▌Ä₧è╘ (Åëè·Æl : [0,"ò¬"]üj(Rev.1.3)
  1895.                     # listé╔é╖éΘé╠é═üAshow_tlé┼èmöFé╡éΓé╖é¡é╖éΘé╜é▀ ü¬
  1896.                     # [i][2ü`]: ïlé▀ì₧é▌âfü[â^(list)
  1897.  
  1898.   while *L_data2 >0 do {   # ÿ^ëµâfü[â^é¬û│é¡é╚éΘûÿ (Rev.1.2)
  1899.     i +:= 1                # âeü[âvö╘ìåé≡Éié▀éΘüB(Rev.1.2)
  1900.     put(L_out,[[0,"ò¬"]])  # iö╘û┌âeü[âvïlé▀ì₧é▌Ä₧è╘Åëè·Ælé≡Æ╟ë┴(Rev.1.3)
  1901.     every 1 to *L_data2 do {     # ÿ^ëµâfü[â^æSòöé╔æ╬é╡é─
  1902.       LL := pull(L_data2)  # ÿ^ëµâfü[â^ĵéΦÅoé╡
  1903.                            # listûûö÷é⌐éτÄÄé╖üB
  1904.                            #üiÅ╕Åçé╚é╠é┼ûûö÷é╠ò√é¬ÿ^ëµÄ₧è╘é¬Æ╖éóüBüj
  1905.       if (L_out[i][1][1] +LL[3]) <= t_max then {
  1906.         put(L_out[i],LL)
  1907.         L_out[i][1][1] +:= LL[3]          # ÿ^ëµÄ₧è╘ìXÉV
  1908.       } else {
  1909.         push(L_data2,LL)                  # âfü[â^é≡û▀é╖
  1910.       }
  1911.     } # end of every
  1912.   } # end of while
  1913.  
  1914.  
  1915.   write("ïlé▀ì₧é▌âfü[â^üiɵô¬é═ïlé▀ì₧é▌Ä₧è╘æìÿaüj")
  1916.   show_tl(L_out)
  1917.  
  1918. end
  1919. -----$ PACK01.ICN ( lines:65 words:204 ) -------------------<cut here
  1920.   üiÅCÉ│é╠é╜é▀ì╖é╡æ╓éªüj
  1921.  
  1922.  
  1923.   îïë╩é═üAăé╠éµéñé╔é╚éΦé▄é╖üB
  1924. -----^ PACK01.TXT ( date:97-04-13 time:10:57 ) -------------<cut here
  1925. ÿ^ëµâfü[â^
  1926.  1 âWâââXâeâBâX 118
  1927.  2 û\ù═ÆEìû 127
  1928.  3 âZâïâsâR 130
  1929.  4 éáé╚é╜é╛é»ìíö╙é═ 137
  1930.  5 ôVìæé⌐éτé½é╜â`âââôâsâIâô 101
  1931.  6 âXâ^âôâhâoâCâ~ü[ 85
  1932.  7 âtâëâôâLü[üòâWâçâjü[ 118
  1933.  8 âXâeâBâôâO 129
  1934.  9 âOâbâhâéü[âjâôâOâxâgâiâÇ 121
  1935.  
  1936. ÿ^ëµâfü[â^â\ü[âgîïë╩
  1937.  6 âXâ^âôâhâoâCâ~ü[ 85
  1938.  5 ôVìæé⌐éτé½é╜â`âââôâsâIâô 101
  1939.  1 âWâââXâeâBâX 118
  1940.  7 âtâëâôâLü[üòâWâçâjü[ 118
  1941.  9 âOâbâhâéü[âjâôâOâxâgâiâÇ 121
  1942.  2 û\ù═ÆEìû 127
  1943.  8 âXâeâBâôâO 129
  1944.  3 âZâïâsâR 130
  1945.  4 éáé╚é╜é╛é»ìíö╙é═ 137
  1946.  
  1947. ïlé▀ì₧é▌âfü[â^üiɵô¬é═ïlé▀ì₧é▌Ä₧è╘æìÿaüj
  1948.  352 ò¬
  1949.  4 éáé╚é╜é╛é»ìíö╙é═ 137
  1950.  3 âZâïâsâR 130
  1951.  6 âXâ^âôâhâoâCâ~ü[ 85
  1952.  
  1953.  357 ò¬
  1954.  8 âXâeâBâôâO 129
  1955.  2 û\ù═ÆEìû 127
  1956.  5 ôVìæé⌐éτé½é╜â`âââôâsâIâô 101
  1957.  
  1958.  357 ò¬
  1959.  9 âOâbâhâéü[âjâôâOâxâgâiâÇ 121
  1960.  7 âtâëâôâLü[üòâWâçâjü[ 118
  1961.  1 âWâââXâeâBâX 118
  1962.  
  1963. -----$ PACK01.TXT ( lines:38 words:90 ) --------------------<cut here
  1964.   üiÅCÉ│é╠é╜é▀ì╖é╡æ╓éªüj
  1965.   é╜é▄é╜é▄é⌐éα é╡éΩé▄é╣é±é¬üAîïì\ éñé▄é¡ ïlé▄é┴é─éóé▄é╖é╦üB
  1966.  
  1967.  
  1968.   éRÅdâèâXâgé≡Ägéóé▄é╡é╜é╠é┼üAshow_lé╔üAé╗é╠ò\Īùp procedureé≡Æ╟ë┴
  1969. é╡é▄é╡é╜üB
  1970. -----^ SHOW_L.ICN ( date:97-04-12 time:21:07 ) -------------<cut here
  1971. # show elements of list
  1972. # This file is in the public domain.
  1973. # show_l.icn Rev.1.3 1997/04/12 windy  add show_tl
  1974. # show_l.icn Rev.1.1 1996/11/03 windy 
  1975.  
  1976. procedure show_sl(list)
  1977. # âèâXâgé╠ôαùeò\ĪüiâeâXâgü^ò\Īùpüj
  1978.   every writes(" ",!list)
  1979.   write()
  1980.   return
  1981. end
  1982.  
  1983. procedure show_wl(wlist)
  1984. # 2ÅdâèâXâgé╠ôαùeò\ĪüiâeâXâgü^ò\Īùpüj
  1985.   every list := !wlist do show_sl(list)
  1986.   write()
  1987.   return
  1988. end
  1989.  
  1990. procedure show_tl(tlist)
  1991. # 3ÅdâèâXâgé╠ôαùeò\ĪüiâeâXâgü^ò\Īùpüj
  1992.   every list := !tlist do show_wl(list)
  1993.   return
  1994. end
  1995. -----$ SHOW_L.ICN ( lines:24 words:60 ) --------------------<cut here
  1996.  
  1997.   éñü`é±üBìíô·é═üAê╒é½é╔æûé┴é─é╡é▄é┴é╜üB
  1998.   é╛é┴é─üAüué╡éτé▌é┬é╘é╡üvò√Ä«é┴é─üAæσò╧é╚é±é╛éαé±üB
  1999.  
  2000. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2001. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2002. BGM: öⁿÉlöûû╜ü^âAâôüEâïâCâX
  2003. (icon_215.txt 1997/04/12 PCVAN PIG)
  2004.  
  2005. üí  Icon > IconÄGïLÆáüiéPéUüj ârâfâIûΓæΦü^ô∩é╡éó     òùé┬é⌐éó
  2006.  
  2007.   ârâfâIâeü[âvé╓é╠ÿ^ëµïlé▀ì₧é▌ûΓæΦé╠ÅKì∞é┼é╖üBìíë±é═üAÿ^ëµâeü[âvé╠âfü[â^
  2008. é╠ægé▌ìçéφé╣é╠éñé┐üAéPû{é╠âeü[âvé╔ôⁿéΘægé▌ìçéφé╣é≡üAæSé─Åæé½Åoé╖é╞é▒éδûÿ
  2009. é≡éΓé┴é─é▌é▄é╡é╜üB
  2010.  
  2011.   âvâìâOâëâÇé═üAÿ^ëµâfü[â^ô╟é▌ì₧é▌òö (pack02.icn)é╞üAÄ└ì█é╔ægé▌ìçéφé╣é≡É╢
  2012. ɼé╖éΘòöò¬ (pack04.icn)é╠éQé┬é╔ò¬é»é─éáéΦé▄é╖üB
  2013.  
  2014.   é▄é╕üAÿ^ëµâfü[â^ô╟é▌ì₧é▌òöò¬é┼é╖üB main()é═é▒é┐éτé╔éáéΦé▄é╖üB
  2015. -----^ PACK02.ICN ( date:97-04-14 time:20:16 ) -------------<cut here
  2016. # ârâfâIûΓæΦ  ÿ^ëµâfü[â^É▌ÆΦü^ÅæÅoé╡
  2017. # pack01.icn é⌐éτò¬ùúé╡é╜éαé╠üié╜é╛é╡üAâfü[â^Noé≡âAâïâtâ@âxâbâgé╔ò╧ìXüj
  2018. # pack02.icn Rev.1.1 1997/04/13 windy
  2019. # This file is in the public domain.
  2020. link split
  2021.  
  2022. procedure main(args)
  2023. # â_ârâôâOâeü[âvÄ₧è╘
  2024.   t_tape := 120                  # âeü[âvÄ₧è╘üiò¬üj
  2025.   t_max  := t_tape *3            # éRö{æ¼é┼ÿ^ëµé╖éΘé╞é╖éΘé╞
  2026.  
  2027.   # âtâ@âCâïâIü[âvâô
  2028.   f_name := if *args = 0 then "source.dat"         # ÿ^ëµâfü[â^âtâ@âCâïû╝
  2029.             else args[1]
  2030.   # source.dat é═üAö╘ægû╝ Ä₧è╘üiò¬üjé¬üAìsûêé╔Åæé½ì₧é▄éΩé─éóéΘî`Ä«
  2031.   dir := open(f_name) | stop("cannot open ",f_name)
  2032.  
  2033. # ÿ^ëµâfü[â^ô╟é▌ì₧é▌
  2034.   L_data := []                   # ÿ^ëµâfü[â^èiö[ list
  2035.   n := 0                         # data No
  2036.   while line := read(dir) do {   # ÿ^ëµâfü[â^âtâ@âCâïé╠Åçăô╟ì₧
  2037.      L := split(line)            # ìsé≡ spaceé┼ò¬èäé╡ listé╔ò╧è╖
  2038.      put(L_data,[&letters[n +:= 1],L[1],numeric(L[2])])
  2039.     # ìsé≡ spaceé┼ò¬èäé╡üAɵô¬é╔ Noé≡òtë┴é╡é─üAL_data(list)é╔èiö[üB
  2040.     # [1]:No [2]:æΦû╝, [3]:ÿ^ëµÄ₧è╘üiò¬üj
  2041.     # No é═âAâïâtâ@âxâbâgé≡üAÅçé╔ÉUé┴é─éóéΘüB"A"ü`"Z","a"ü`"z"é╠Åç
  2042.     # 
  2043.     # L_data é═üAéXî┬é╠ÿ^ëµâfü[â^é¬éáéΘé╞é╖éΘé╞
  2044.     # [ #ü½L_data[1][1] #ü½L_data[1][2] #ü½L_data[1][3]
  2045.     #   ["A",éPö╘û┌ÿ^ëµæΦû╝,éPö╘û┌ÿ^ëµÄ₧è╘üiò¬üj]  # ü⌐L_data[1]
  2046.     #   ["B",éQö╘û┌ÿ^ëµæΦû╝,éQö╘û┌ÿ^ëµÄ₧è╘üiò¬üj]  # ü⌐L_data[2]
  2047.     # üiÆåù¬üj
  2048.     #   ["I",éXö╘û┌ÿ^ëµæΦû╝,éXö╘û┌ÿ^ëµÄ₧è╘üiò¬üj]  # ü⌐L_data[9]
  2049.     # ] #ü¬L_data[9][1] #ü¬L_data[9][2] #ü¬L_data[9][3]
  2050.     # é╠î`Ä«é╞é╚éΘüB
  2051.  
  2052.   }
  2053.   close(dir)
  2054.  
  2055.   # ïlé▀ì₧é▌ü^îïë╩ÅæÅoé╡
  2056.   pack(L_data,t_max)             # ïlé▀ì₧é▌
  2057.  
  2058. end
  2059. -----$ PACK02.ICN ( lines:43 words:141 ) -------------------<cut here
  2060.  
  2061.  
  2062.   Ä└ì█é╔ægé▌ìçéφé╣é≡ì∞éΘòöò¬é┼é╖üB pack02.icné≡ linké╡é─éóé▄é╖üB
  2063. -----^ PACK04.ICN ( date:97-04-14 time:22:28 ) -------------<cut here
  2064. # éPû{é╠âeü[âvé╔ôⁿéΘÿ^ëµâfü[â^é╠ægé▌ìçéφé╣
  2065. # This file is in the public domain.
  2066. # pack04.icn 1997/04/13 windy
  2067. link pack02, show_l   # main()é═üApack02é╔è▄é▄éΩé─éóéΘüB
  2068.  
  2069. # âfü[â^ xé╠ùvæfé≡üAéPé┬é╕é┬ɵô¬é⌐éτüAÅçă É╢ɼé╖éΘ generator
  2070. # x: â\ü[âXâfü[â^
  2071. procedure gen_elem(x)
  2072.   suspend !x               # ùvæfé≡éPé┬é╕é┬ĵéΦÅoé╖
  2073. end
  2074.  
  2075. #          ü½âfü[â^
  2076.  
  2077. # âfü[â^é≡Åçă Ä≤é»ÄµéΦüAægé▌ìçéφé╣é─âèâXâgé╔é╡é╜âfü[â^é≡
  2078. # É╢ɼé╖éΘ generator
  2079. procedure glcombf(proc1,x,t_max)
  2080. # proc1: generatorû╝
  2081. # x: generatoré╠â\ü[âXâfü[â^
  2082. # t_max:âeü[âvÄ₧è╘
  2083.  
  2084.   L := []   # âÅü[âNùpâèâXâgüiÉ╢ɼì╧é▌é╠âèâXâgüAé≡ùvæfÉöò╩é╔èiö[üj
  2085.   every new := proc1(x) do {    # ÉVé╜é╔ùvæfé≡Ä≤é»ÄµéΘüB
  2086.     put(L,[])                   # âèâXâg Lûûö÷é╔üAÉVâfü[â^æ}ôⁿùp
  2087.                                 # ï≤âèâXâgÆ╟ë┴
  2088.     every i := *L to 1 by -1 do {       # ùvæfÉöûêâèâXâgé╔é┬éóé─üAûûö÷é⌐éτ
  2089.       if i > 1 then {           # éQé┬û┌ê╚ì~é╠âfü[â^é╠ÅΩìç
  2090.                                 # è∙é╔üAùvæfé¬éáé┴é╜éτüAÉVé╜é╚ùvæf
  2091.         every j := 2 to *L[i -1] do {   # é╞ é╗é╠ùvæfé≡ægé▌ìçéφé╣é─üA
  2092.           if (t := (L[i -1][j][1][1] + new[3])) <= t_max then {
  2093.             LL :=  [[t,"ò¬"]] ||| L[i -1][j][2:0] ||| [new]
  2094.             put(L[i],LL)  # ùvæfÉöûêâèâXâgé╔Æ╟ë┴
  2095.             #    ü¬iùvæfÉöâèâXâg ü¬(i-1)ùvæfÉöâèâXâg
  2096.           suspend LL                    # ægé▌ìçéφé╣é┼É╢ɼé╡é╜ùvæfé≡ò╘é╖
  2097.           } # end of if
  2098.         } # end of every
  2099.       } # end of if
  2100.       else {                    # ì┼Åëé╠âfü[â^é╠ÅΩìçüB
  2101.         LL := [[new[3],"ò¬"]] ||| [new]
  2102.         #       ü¬ÿ^ëµÄ₧è╘    ü¬ÉVùvæf
  2103.         put(L[1],LL)  # éPùvæfâèâXâgé╔üAÉVé╜é╔ùêé╜ùvæfé≡Æ╟ë┴
  2104.         suspend LL    # ÉVé╜é╔ùêé╜ùvæfé≡ò╘é╖
  2105.       } # end of else
  2106.     } # end of if
  2107.   } # end of every
  2108. end
  2109.  
  2110. #          ü½âfü[â^
  2111.  
  2112. # pack02.icn é╠ main()é┼üAé▒é╠ pack()é≡î─é±é┼éóéΘüB
  2113. procedure pack(L_data,t_max)
  2114. # L_data      # ÿ^ëµâfü[â^ list
  2115.               # [j][1]:âfü[â^No, [j][2]:ÿ^ëµû╝Å╠, [j][3]:ÿ^ëµÄ₧è╘
  2116.   i     := 0  # ïlé▀ì₧é▌âeü[âvö╘ìå
  2117.   L_out := [] # ïlé▀ì₧é▌âfü[â^èiö[ list
  2118.               # i : âeü[âvö╘ìå
  2119.               # [i][1] : ïlé▀ì₧é▌Ä₧è╘ (Åëè·Æl : [0,"ò¬"]üj
  2120.               # Ä₧è╘é≡listé╔é╖éΘé╠é═üAshow_tlé┼èmöFé╡éΓé╖é¡é╖éΘé╜é▀ 
  2121.  
  2122.   write("ÿ^ëµâfü[â^")            # ÿ^ëµâfü[â^ÅæÅoé╡
  2123.   show_wl(L_data)                # 2Åd listôαùeò\Ī
  2124.  
  2125.   # ægé▌ìçéφé╣âfü[â^ÅæÅoé╡
  2126.   every show_wl( # ü½every é┼é▒é╠ generatoré⌐éτâfü[â^é≡ĵéΦÅoé╡üB
  2127.                  glcombf(gen_elem,L_data,t_max)
  2128.                )
  2129.  
  2130.   return       # é▒é╠âèâ^ü[âôé═û│é¡é╞éαô«é½é▄é╖üB
  2131.                #üi main()é╔Ælé≡ò╘é╖ì\ɼé┼é═é╚éóé╜é▀üj
  2132.  
  2133. end
  2134. -----$ PACK04.ICN ( lines:70 words:249 ) -------------------<cut here
  2135.  
  2136.   îïë╩é═üAÆ╖éóé╠é┼Å╚ù¬é╡é▄é╖üBé▒é╠îïë╩é≡ìXé╔ægé▌ìçéφé╣é─üAùvæfé¬é╛é╘é┴é─
  2137. éóéΘéαé╠é≡ìφÅ£é╖éΩé╬üAæSé─é╠ægé▌ìçéφé╣é¬ô╛éτéΩé▄é╖üBüiù¥ÿ_ôIé╔é═üjüiè╛üj
  2138.  
  2139.   é╡é⌐é╡ü`üAægé▌ìçéφé╣îïë╩é╠Éöé¬üA
  2140.           ôûÅëé╠            éXâfü[â^é┼üA    éUéWÆ╩éΦ
  2141.     é╗éΩé≡éQé┬é¡é┴é┬é»é╜  éPéWâfü[â^é┼üA  éTéQéUÆ╩éΦ
  2142.           éRé┬é¡é┴é┬é»é╜  éQéVâfü[â^é┼üAéPéVéUéTÆ╩éΦ
  2143.           éSé┬é¡é┴é┬é»é╜  éRéUâfü[â^é┼üAéSéPéWéPÆ╩éΦ
  2144.           éTé┬é¡é┴é┬é»é╜  éSéTâfü[â^é┼üAéWéPéVéTÆ╩éΦ
  2145.   é╞üAî│é╠âfü[â^Éöé╔öΣé╫é─üAö±Åφé╔æ╜é¡é╚éΦé▄é╖üB  é▒é╠é▄é╜ægé▌ìçéφé╣é╠Éö
  2146. é═üAé╞é±é┼éαé╚éóÉöé╔é╚éΦé╗éñé┼é╖üB
  2147.  
  2148.   æ╝é╔ù╟éóâAâïâSâèâYâÇé¬û│éóé⌐é╞üAé┐éσé┴é╞ìléªé─î⌐é▄é╡é╜é¬üAÄvéóòté½é▄é╣
  2149. é±üB
  2150.  
  2151.   é╞éóéñû≤é┼üAârâfâIâeü[âvûΓæΦé═üAôûû╩üiëiïvé⌐éαé╡éΩé╚éóüBüjÆIÅπé░é╔é╡é▄é╖üB
  2152.   üié¡éΓé╡éóé╚ü`üj
  2153.  
  2154.  
  2155.   é┼éαüAìíë±é╠âvâìâOâëâÇé≡ì∞é┴é─é▌é─üAlinké≡Ägé┴é╜âvâìâOâëâÇì\ɼé╔è╓é╡é─üA
  2156. éPé┬üAÄäé╠è¿êßéóé¬î⌐é┬é⌐éΦé▄é╡é╜üB  ìíë±é╠âvâìâOâëâÇé╠ì\ɼé═üA
  2157.  
  2158.                   Åπê╩                ë║ê╩
  2159.   - pack02.icn -------      link      - pack04.icn --------
  2160.  | procedure main()   | <----------- |link pack02          |
  2161.  | ....               |      ------->|procedure pack()     |
  2162.  | ....               |     / î─é╘   |                     |
  2163.  | pack() -----------------          |                     |
  2164.   --------------------                ---------------------
  2165.        ü½ icont -c pack02.icn             üb
  2166.     pack02.u1            ----- link ----->üb icont pack04.icn
  2167.     pack02.u2                             ü½
  2168.                                        pack04.exe
  2169.  
  2170.   é╞üAéóéñéαé╠é┼é╖üB  é╖é╚éφé┐üAë║ê╩é╠ procedureé¬üAôⁿé┴é─éóéΘâtâ@âCâïé¬üA
  2171. Åπê╩é╠ procedureé¬ôⁿé┴é─éóéΘâtâ@âCâïé≡ linké╡é─éóé▄é╖üB
  2172.  
  2173.   Éµé╔üA icont -c pack02.icné╞é╡é─é¿éóé─üAăé╔ icont pack04.icné╞é╡é─ linké╡
  2174. é▄é╖üBÄ└ìsâtâ@âCâïû╝é═üApack04.exeé╞é╚éΦé▄é╖üB
  2175.  
  2176.   ïté╠üAÅπê╩âvâìâOâëâÇé¬ë║ê╩âvâìâOâëâÇé≡ linké╖éΘéΓéΦò√é═üAìíé▄é┼éαÄgé┴é─éó
  2177. é╜é╠é┼é╖é¬üAé▒éñéóéñë║ê╩âvâìâOâëâÇé¬Åπê╩âvâìâOâëâÇé≡ linké╖éΘéΓéΦò√é¬é┼é½éΘ
  2178. é╞é═üAÄvé┴é─éóé▄é╣é±é┼é╡é╜üB
  2179.  
  2180.   âfü[â^ô╟é▌ì₧é▌òöò¬é═ô»é╢é┼üAægé▌ìçéφé╣òöò¬é≡üAÉFüXé╠éΓéΦò√é╠âvâìâOâëâÇé╔
  2181. ò╧éªéτéΩéΘé╞éóéóé╚üB  é╞éóéñé▒é╞é┼üAÄÄé╡é─é▌é▄é╡é╜éτüAé┼é½é▄é╡é╜üB
  2182.  
  2183. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2184. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2185. BGM: événélé`émü^âAâôüEâïâCâX
  2186. (icon_216.txt 1997/04/17 PCVAN PIG)
  2187. üí  Icon > IconÄGïLÆáüiéPéVüj ì\æóæ╠ treeò\Ī        òùé┬é⌐éó
  2188.  
  2189.   ì≈é═üAëíòlé┼é═üAéαéñé╖é┴é⌐éΦùtì≈é╔é╚é┴é─éóé▄é╖é¬üAèmé⌐ÄDûyéáé╜éΦé┼é═üA
  2190. ì≈é═éTîÄé┼é╡é╜é⌐é╦üB  ì≈æOÉⁿé≡Æ╟éóé⌐é»éΘù╖é╚é±é─é╠éαüAéΓé┴é─é▌é╜éóéαé±é┼
  2191. é╖é╦ü`üB
  2192.  
  2193.   é│é─üAìíô·é═üAì\æóæ╠ (list,set,table)é╠ treeò\Īé≡éΓé┴é─é▌é▄é╖üB
  2194.   Iconé┼é═üAlistéΓ setéΓ tableé╠ùvæfé╔üAì─é╤ listéΓ setéΓ tableé≡ è▄é▐
  2195. é▒é╞é¬é┼é½é─üAéóé¡éτé┼éα É[éóèKæwé╠ì\æóé≡ì∞éΘé▒é╞é┼é½é▄é╖üB Iconé╠Ådùv
  2196. é╚ô┴ÆÑé╠éPé┬é╛é╞üAÄvéóé▄é╖üB
  2197.  
  2198.   é╡é⌐é╡üAÄäé╠ô¬é┼é═üAéQÅd listê╩é▄é┼é═üAô¬é╔òéé⌐é╫éτéΩé▄é╖é¬üAéRÅdé╠
  2199. listé╞éαé╚éΘé╞üAé╚é⌐é╚é⌐âTâbâgé═Ävéóòéé⌐é╤é▄é╣é±üB
  2200.   âvâìâOâëâÇé≡Åæéóé╜é╗é╠Ä₧é═üAò¬é⌐é┴é─éóéΘé╠é┼é╖é¬üAé╡é╬éτé¡îπé╔é╚éΘé╞üA
  2201. éαéñÄ⌐ò¬é╠Åæéóé╜âvâìâOâëâÇé╠ âfü[â^ì\æóé¬üAù¥ë≡é┼é½é╚é¡é╚é┴é─éóé▄é╖üB
  2202.  
  2203.   âRâüâôâgé┼üAâVâbâJâèé╞âfü[â^ì\æóé≡Åæéóé─é¿é»é╬ù╟éóé╠é┼é╖é¬üAé╗é╠é╜é▀é╔
  2204. é═âvâìâOâëâÇé╠ìséµéΦüAâRâüâôâgé╠ìsé╠ò√é¬üAæ╜é╖é¼éΘé¡éτéóé╔é╚éΦé▄é╖üB
  2205.   âRâüâôâgé╠è╘é╔âvâìâOâëâÇé¬üAé█é┬é█é┬é╞æ╢ì▌é╖éΘéµéñé╚Å≤æ╘é╔é╚é┴é─üAé▒éΩ
  2206. é▄é╜ ô╟ë≡ɽé¬üAùÄé┐éΘé▒é╞é╔é╚éΦé▄é╖üB
  2207.  
  2208.   é╞éóéñé▒é╞é┼üAèKæwì\æóé≡Ä¥é┬ì\æóæ╠é≡ treeÅ≤é╔ò\Īé╖éΘâvâìâOâëâÇé≡ì∞é┴
  2209. é─é▌é▄é╡é╜üB
  2210.  
  2211.   Recursive generatoré≡Ägé┴é─üAì─ïAôIé╔ âfü[â^ì\æóé≡ÅæÅoé╡é─ éóé½é▄é╖üB
  2212. treeé╠ì┼Åëé╠ù±é╠ÅæÅoé╡é¬üAì─ïAì\æóé╔è▄é▀É╪éΩé▄é╣é±é┼é╡é─é╠é┼üAÅ¡é╡ ò¬é⌐
  2213. éΦé╔é¡é¡é╚é┴é─é╡é▄éóé▄é╡é╜üB
  2214.   é▄é╜ stringé╠ôαùeò\Ī é╠é╞é▒éδé╔éαüAimage()é╞éóéñ ò\Īë┬ö\é╚ò╢ÄÜ é╚éτ
  2215.   é╗é╠é▄é▄ ò\Īé╡ é╗éñé┼û│é»éΩé╬ 16ÉiÉöò\Ī é≡ìséñ è╓Éöé≡üAÄgéóé╜é⌐é┴é╜
  2216. é╠é┼é╖é¬üAâVâtâgéiéhéræ╬ë₧é┼é═û│éóé╠é┼üAÄgé┴é─éóé▄é╣é±üB
  2217.   é▒é╠è╓Éöé≡âVâtâgéiéhéræ╬ë₧é╔é╡é╜ procedureé≡üAì∞éτé╚éóé╞éóé»é▄é╣é±é╦üB
  2218.  
  2219. -----^ X2TREE01.ICN ( date:97-04-23 time:21:05 ) -----------<cut here
  2220. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator
  2221. # Recursive generator
  2222. # x2tree01.icn 1997/04/23 windy
  2223. # This file is in the public domain.
  2224.  
  2225. procedure x2t(x)
  2226. # generator
  2227. # x2treeé╔è▄é▀é╜é⌐é┴é╜é¬üAéñé▄é¡éóé⌐é╚éóé╠é┼èOÅoé╡üB
  2228.   suspend "<" || type(x) || ">"      # xé╠â^âCâvé≡ÅæÅoé╡
  2229.   suspend "  " || x2tree(x)          # treeë╗Åêù¥
  2230.   #       ü¬treeÅæÅoé╡Åëè·ê╩Æu
  2231. end
  2232.  
  2233. procedure x2tree(x)
  2234. # generator
  2235. # show the tree structure of x
  2236.   n := *x                   # xé╠âTâCâYüiûûö÷ùvæfîƒÅoùpüj
  2237.   every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬é├é┬ĵéΦÅoé╖
  2238.     n -:= 1                 # ùvæfâJâEâôâ^ü|éP
  2239.     case t := type(xx) of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  2240.       "string"                 : suspend "+ " || left(t,7) || " " || xx
  2241.                                                # jimageé≡ì∞éτé╚é½éßüBü¬
  2242.       "list" | "set" | "table" : { # é▒é╠ÅΩìçé═üAì─ôxì\ɼùvæfé≡ë≡É═
  2243.                                    suspend "+ <" || t || ">"
  2244.                                    #ü½ì┼îπé╠ùvæfé┼é╚éóé╚éτ
  2245.                                    if n > 0 then suspend "|   " || x2tree(xx)
  2246.                                             else suspend "    " || x2tree(xx)
  2247.                                  }
  2248.       #ü¬list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  2249.  
  2250.       default                  : suspend "+ " || left(t,7) || " " || image(xx)
  2251.       # ü¬é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  2252.     }
  2253.   }
  2254. end
  2255.  
  2256. # test driver
  2257. procedure main()
  2258.   L := ["A",[],"B",10.5,["C","D",set(["X","Y"]),["E","F",127],"G"],"H"]
  2259.   every write(x2t(L))
  2260. end
  2261. -----$ X2TREE01.ICN ( lines:41 words:157 ) -----------------<cut here
  2262.  
  2263.   x2tree01 > x2tree01.txté╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  2264. -----^ X2TREE01.TXT ( date:97-04-23 time:00:30 ) -----------<cut here
  2265. <list>
  2266.   + string  A
  2267.   + <list>
  2268.   + string  B
  2269.   + real    10.5
  2270.   + <list>
  2271.   |   + string  C
  2272.   |   + string  D
  2273.   |   + <set>
  2274.   |   |   + string  X
  2275.   |   |   + string  Y
  2276.   |   + <list>
  2277.   |   |   + string  E
  2278.   |   |   + string  F
  2279.   |   |   + integer 127
  2280.   |   + string  G
  2281.   + string  H
  2282. -----$ X2TREE01.TXT ( lines:17 words:60 ) ------------------<cut here
  2283.  
  2284. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2285. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2286. BGM: The Other Side of Love / Ryuichi Sakamoto featuring Sister M
  2287. (icon_217.txt 1997/04/27 PCVAN PIG)
  2288.  
  2289. üí  Icon > IconÄGïLÆáüiéPéWüj jimage.icn             òùé┬é⌐éó
  2290.  
  2291.   ï▀é▓éδÅæé¡ âvâìâOâëâÇé╔é═üAûwé╟ generatoré≡ Ägé┴é─éóé▄é╖üBé┬éóɵìáé▄é┼
  2292. é═üAé▒é╠ generatoré≡üAé╟éñéóéñòùé╔Ägé┴é╜éτ ù╟éóé╠é⌐ ò¬é⌐éΦé▄é╣é±é┼é╡é╜üB
  2293.   ìíé═üAò╓ùÿé╚é±é┼üAÄgéªé╚éóÅèê╚èOé═üAÄgé┴é─é╡é▄éñüB é╞éóéñÅ≤æ╘é┼é╖üB
  2294.  
  2295.   listé═üAIconï│ôT (The Icon Programming Language)é≡ô╟é±é╛é╛é»é┼üAé▒éΩé═
  2296. ò╓ùÿé╛ é╞ò¬é⌐éΦé▄é╡é╜üB
  2297.   é╡é⌐é╡üAgeneratoré╠ò╓ùÿé│é═üAÄgé┴é─éóéΘé╞âWâÅâWâÅé╞î°éóé─é¡éΘüB é╚é±é┬
  2298. éñé⌐üAè┐ò√û≥é╠î°ö\Åæé½é▌é╜éóé╚ù╟é│é┼é╖üB
  2299.   Ägé┴é─é▌é╚éóé╞üAéφé⌐éΦé▄é╣é±é┼é╡é╜é¬üAé╚é⌐é╚é⌐é╠âXâOâîâéâmé┼é╖üB
  2300.  
  2301.   é▒éñéóéñù╟é│é═üAé╟éñÉαû╛é╡é─éóé»é╬éóéóé±é┼é╡éσéñé⌐é╦üBéΓé┴é╧éΦüAÄ└ùßé≡
  2302. æ≥ÄRÅæéóé─éóé¡é╡é⌐é╚éóé±é┼é╡éσéñé╦ü`üB
  2303.  
  2304.   é╞éóéñé╞é▒éδé┼üAìíë±é═ image()è╓Éöé≡ SHIFT-JISæ╬ë₧é╔é╡é╜ procedureé≡ì∞
  2305. é┴é─é▌é▄é╖üB  SHIFT-JISé╠ò╢ÄÜù±é≡ë≡É═é╖éΘ procedureé═üAIconô·ïLé┼ ì∞é┴é─
  2306. éóé▄é╖é╠é┼üAöΣèrôIè╚ÆPé╔üASHIFT-JISæ╬ë₧é╔é┼é½é▄é╖üB
  2307.  
  2308.   âvâìâOâëâÇé≡ăé╔éáé░é▄é╖üB  âfü[â^â^âCâv鬠stringê╚èOé┼é═üAimage()é≡üA
  2309. é╗é╠é▄é▄Ägé┴é─éóé▄é╖üB
  2310.  
  2311. -----^ JIMAGE.ICN ( date:97-04-27 time:19:37 ) -------------<cut here
  2312. # image()é≡ SHIFT-JISæ╬ë₧é╔é╡é╜éαé╠
  2313. # jimage.icn 1997/04/27 windy
  2314. # This file is in the public domain.
  2315.  
  2316. link hexcvt,sjis4
  2317. # hexcvt.icné═ BIPLé╔è▄é▄éΩé─éΘüB  Iconô·ïLüiéPéSüjé╔ê°ùpé╡é─éóé▄é╖üB
  2318. # sjis4.icné═ Iconô·ïLüiéQéWüjé╔é─ì∞ɼé╡é╜éαé╠üB
  2319.  
  2320. procedure jimage(x)
  2321.   if not (type(x) == "string") then return image(x) # stringê╚èOé╚éτ
  2322.                                                     # image()é≡ÄgéñüB
  2323.   else {                                            # stringé╚éτ
  2324.     s := "\""         # û▀éΦÆlæ½é╡é▒é▌ùpé╠ï≤ string
  2325.     every L := jcpos(x) do {
  2326.       if L[3] == ("C" | "U")  #âRâôâgâìü[âïâRü[âhé⌐ûóÆΦï`ò╢ÄÜé╚éτ
  2327.       then s ||:= ("\\x" || hexstring(ord(L[2]),2))
  2328.                            #ü¬éPéUÉiò\Īé╔ò╧è╖é╡é─ "\\"é≡é┬é»é─æ½é╡ì₧é▌
  2329.       else s ||:= L[2]     #ü⌐ ò╢ÄÜé╚éτé╗é╠é▄é▄æ½é╡é▒é▌
  2330.     }
  2331.     return s || "\""
  2332.   }
  2333. end
  2334.  
  2335. # test data
  2336. #procedure main()
  2337. #  L := ["ABC","\x00\x02",123,12.5,"éáéóéñ▒▓│abcABCé`éaébéüéééâéOéPéQ"]
  2338. #  every write(jimage(!L))
  2339. #end
  2340. -----$ JIMAGE.ICN ( lines:28 words:95 ) --------------------<cut here
  2341.  
  2342.   jimage()é≡ x2treeé╔Ägéñé╞üAăé╠éµéñé╔é╚éΦé▄é╖üB
  2343. -----^ X2TREE02.ICN ( date:97-04-27 time:19:32 ) -----------<cut here
  2344. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator
  2345. # Recursive generator
  2346. # x2tree02.icn 1997/04/27 windy
  2347. # x2tree01.icn é╠ main()é≡âRâüâôâgâAâEâgé╡üAjimage()é≡ô▒ôⁿüB
  2348. # This file is in the public domain.
  2349. link jimage
  2350. procedure x2t(x)
  2351. # generator
  2352. # x2treeé╔è▄é▀é╜é⌐é┴é╜é¬üAéñé▄é¡éóé⌐é╚éóé╠é┼èOÅoé╡üB
  2353.   suspend "<" || type(x) || ">"
  2354.   suspend "  " || x2tree(x)
  2355. end
  2356.  
  2357. procedure x2tree(x)
  2358. # generator
  2359. # show the tree structure of x
  2360.   n := *x
  2361.   every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬é├é┬ĵéΦÅoé╖
  2362.     n -:= 1
  2363.     case t := type(xx) of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  2364.       "string"               : suspend "+ " || left(t,7) || " " || jimage(xx)
  2365.       "list" | "set" | "table" : {
  2366.                                    suspend "+ <" || t || ">"  
  2367.                                    if n > 0 then suspend "|   " || x2tree(xx)
  2368.                                             else suspend "    " || x2tree(xx)
  2369.                                  }                                 # ì─ïAü¬
  2370.       #ü¬list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB  
  2371.  
  2372.       default                : suspend "+ " || left(t,7) || " " || image(xx)
  2373.       # ü¬é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  2374.     }
  2375.   }
  2376. end
  2377.  
  2378. # test driver
  2379. #procedure main()
  2380. #  L := ["A",[],"B",10.5,["C","D",set(["X","Y"]),["E","F",127],"G"],"H"]
  2381. #  every write(x2t(L))
  2382. #end
  2383. -----$ X2TREE02.ICN ( lines:39 words:152 ) -----------------<cut here
  2384.  
  2385.   SHIFT-JISæ╬ë₧é╔é╡é╜üAx2treeé┼üAârâfâIïlé▀ì₧é▌âvâìâOâëâÇé╠è╚ê╒ë≡û@é┼Ägé┴é─
  2386. éóéΘ listé╠ì\æóé≡Åæé½Åoé╖é╞üAăé╠éµéñé╔é╚éΦé▄é╖üB
  2387.   ïlé▀ì₧é▌é¬ÅIéφé┴é╜Å≤æ╘é≡ÅæÅoé╡é─éóé▄é╖üB æOé╠âoü[âWâçâôé╞é╠êßéóé═üAstring
  2388. é¬üA""é┼èçéτéΩé─é¡éΘé╛é»é┼é╖üBüiè╛üj
  2389.  
  2390. -----^ PACK05.TXT ( date:97-04-27 time:19:38 ) -------------<cut here
  2391. ïlé▀ì₧é▌âfü[â^
  2392. <list>
  2393.   + <list>
  2394.   |   + <list>
  2395.   |   |   + integer 352
  2396.   |   |   + string  "ò¬"
  2397.   |   + <list>
  2398.   |   |   + integer 4
  2399.   |   |   + string  "éáé╚é╜é╛é»ìíö╙é═"
  2400.   |   |   + integer 137
  2401.   |   + <list>
  2402.   |   |   + integer 3
  2403.   |   |   + string  "âZâïâsâR"
  2404.   |   |   + integer 130
  2405.   |   + <list>
  2406.   |       + integer 6
  2407.   |       + string  "âXâ^âôâhâoâCâ~ü["
  2408.   |       + integer 85
  2409.   + <list>
  2410.   |   + <list>
  2411.   |   |   + integer 357
  2412.   |   |   + string  "ò¬"
  2413.   |   + <list>
  2414.   |   |   + integer 8
  2415.   |   |   + string  "âXâeâBâôâO"
  2416.   |   |   + integer 129
  2417.   |   + <list>
  2418.   |   |   + integer 2
  2419.   |   |   + string  "û\ù═ÆEìû"
  2420.   |   |   + integer 127
  2421.   |   + <list>
  2422.   |       + integer 5
  2423.   |       + string  "ôVìæé⌐éτé½é╜â`âââôâsâIâô"
  2424.   |       + integer 101
  2425.   + <list>
  2426.       + <list>
  2427.       |   + integer 357
  2428.       |   + string  "ò¬"
  2429.       + <list>
  2430.       |   + integer 9
  2431.       |   + string  "âOâbâhâéü[âjâôâOâxâgâiâÇ"
  2432.       |   + integer 121
  2433.       + <list>
  2434.       |   + integer 7
  2435.       |   + string  "âtâëâôâLü[üòâWâçâjü["
  2436.       |   + integer 118
  2437.       + <list>
  2438.           + integer 1
  2439.           + string  "âWâââXâeâBâX"
  2440.           + integer 118
  2441. -----$ PACK05.TXT ( lines:50 words:185 ) -------------------<cut here
  2442.  
  2443. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2444. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2445. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  2446. (icon_218.txt 1997/04/27 PCVAN PIG)
  2447.  
  2448. üí  Icon > IconÄGïLÆáüiéPéXüj ì\æóæ╠ treeò\ĪüiéQüj  òùé┬é⌐éó
  2449.  
  2450.   Iconé╠ì\æóæ╠(list,set,table)é═üAé╗é╠ùvæfé╔é▄é╜ list,set,tableé≡Ä¥é─é▄é╖
  2451. é¬üAÄ⌐ò¬Ä⌐Égé≡é╗é╠ùvæfé╔Ä¥é┬é▒é╞éαé┼é½é▄é╖üB ì─ïAôIé╚ì\æó é╞é┼éα éóéóé▄é╡
  2452. éσéñé⌐üB  é╟é±é╚ÅΩìçé╔Ägéñé⌐é╞éóéñé╞üAùßéªé╬ì─ïAì\ɼé╠âvâìâOâëâÇé╠ì\æóé≡üA
  2453. ò\éφé╗éñé╞ é╖éΘé╞üAì─ïAôIé╚ì\æóæ╠é¬òKùvé╔é╚éΦé▄é╖üB
  2454.  
  2455.   æOé╔ì∞é┴é╜ treeò\Īé╠âvâìâOâëâÇ(x2tree01.icn, x2tree02.icn)é═üAé╗éñéóéñ
  2456. ì\æóæ╠é╠ÅΩìçé┼éαüAæfÆ╝é╔ò\Īé╡é─éóé½é▄é╖é╠é┼üAëäüX treeé≡Åæé½Åoé╡é▄é╖üB
  2457.  
  2458.   âTâôâvâïâvâìâOâëâÇé≡ăé╔Īé╡é▄é╖üB
  2459.   ëäüXÅæé½Åoé│éΩé─éαìóéΘé╠é┼üAgeneratoré╠É╢ɼÉöî└ÆΦÄwÆΦé┼üAéQéOî┬ûÿé╞é╡é─
  2460. éóé▄é╖üB
  2461. -----^ RECUR01.ICN ( date:97-04-30 time:09:09 ) ------------<cut here
  2462. # ì─ïAé≡è▄é▐ì\æóé╠ treeÅæÅoé╡
  2463. # recur01.icn 1997/04/30 windy
  2464. # This file is in the public domain.
  2465. link x2tree02  #ü⌐ì─ïAûóæ╬ë₧ö┼
  2466.  
  2467. procedure main()
  2468.   L1 := ["A","B"]
  2469.   L2 := ["C","D"]
  2470.   L3 := ["E","F"]
  2471.  
  2472.   put(L1,L2)      # L1é╠ûûö÷é╔ L2é≡Æ╟ë┴
  2473.   put(L2,L3)      # L2é╠ûûö÷é╔ L3é≡Æ╟ë┴
  2474.   put(L1,L3)      # L1é╠ûûö÷é╔éα L3é≡Æ╟ë┴
  2475.   put(L3,L1)      # L3é╠ûûö÷é╔ Ä⌐ò¬é╠Åπê╩é╠ L1é≡Æ╟ë┴üié▒é▒é┼ì─ïAé╞é╚éΘüBüj
  2476.   every write(x2t(L1) \20)
  2477.                       #ü¬âeâXâgé≡â~âXé╡é╜é╞é½é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  2478. end
  2479. -----$ RECUR01.ICN ( lines:17 words:51 ) -------------------<cut here
  2480.  
  2481.   recur01 >recur01.txté╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  2482. -----^ RECUR01.TXT ( date:97-04-30 time:09:18 ) ------------<cut here
  2483. <list>
  2484.   + string  "A"
  2485.   + string  "B"
  2486.   + <list>
  2487.   |   + string  "C"
  2488.   |   + string  "D"
  2489.   |   + <list>
  2490.   |       + string  "E"
  2491.   |       + string  "F"
  2492.   |       + <list>
  2493.   |           + string  "A"
  2494.   |           + string  "B"
  2495.   |           + <list>
  2496.   |           |   + string  "C"
  2497.   |           |   + string  "D"
  2498.   |           |   + <list>
  2499.   |           |       + string  "E"
  2500.   |           |       + string  "F"
  2501.   |           |       + <list>
  2502.   |           |           + string  "A"
  2503. -----$ RECUR01.TXT ( lines:20 words:75 ) -------------------<cut here
  2504.  
  2505.   é╞éóéñû≤é┼üAì─ïAì\æóé╠ÅΩìçé═üAì─ïA(Recursion)é╞ò\Īé╡é─ é╗é▒é┼ treeé¬
  2506. æ┼Ä~é▀é╞é╚éΘéµéñé╔ x2treeé≡ ÅCÉ│é╡é─é▌é▄é╡é╜üB
  2507.  
  2508.   Iconé┼é═üAì\æóæ╠é═ listé┼Ä└î╗é╡é─éóé▄é╖üB é╗é╡é─ listé╠ö╘ìåé≡ô╛éΘè╓Éö
  2509. serial()é¬éáéΦé▄é╖üB
  2510.   é▒é╠è╓Éöé≡Ägé┴é─üAlistö╘ìåé≡ÅWìç Sé╔ôoÿ^é╡é─é¿éóé─üAè∙é╔î╗éΩé╜ listé¬
  2511. ì─é╤ùvæfé╞é╡é─î╗éΩé╜é╚éτì─ïAé╞ö╗Æfé╡é─éóé▄é╖üB
  2512.  
  2513.   ë╜Åêé⌐éτë╜Åêé▄é┼ì─ïAé╖éΘé╠é⌐ò¬é⌐éΘéµéñé╔üAlisté╠ö╘ìåéαò\Īé╡é▄é╖üB
  2514.  
  2515.   é▄é╜üAòíÉöé╠Ä}é╔ô»é╢ listé¬è▄é▄éΩéΘÅΩìçéαéáéΦé▄é╖é╠é┼üAÄ⌐ò¬éµéΦèεé╠
  2516. ò√é╔éáéΘ listé╠é▌ÅWìç Sé╔æ╢ì▌é╖éΘé╖éΘéµéñé╔üAì─ïAé⌐éτé╠û▀éΦé╠Ä₧ô_é┼üA
  2517. ö╘ìåé≡ìφÅ£é╡é─éóé▄é╖üBüisuspend ... do ... é╠é╞é▒éδüBüj
  2518. -----^ X2TREE03.ICN ( date:97-05-01 time:10:17 ) -----------<cut here
  2519. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator
  2520. # Recursive generator
  2521. # x2tree03.icn Rev.1.1 1997/04/30 windy Rev.1.2 1997/05/01 windy
  2522. # x2tree02.icn é≡ Recursiveì\æóæ╠üiÄ⌐ò¬Ä⌐Égé≡ùvæfé╔è▄é▐üjæ╬ë₧ÅCÉ│üB
  2523. # This file is in the public domain.
  2524. link jimage
  2525. procedure x2t(x)
  2526. # generator
  2527. # x2treeé╔è▄é▀é╜é⌐é┴é╜é¬üAéñé▄é¡éóé⌐é╚éóé╠é┼ èOÅoé╡üB
  2528.   suspend "<" || type(x) || " " || string(serial(x)) || ">"
  2529.                                          #ü¬listé╠ serial No
  2530.   suspend "  " || x2tree(x)
  2531. end
  2532.  
  2533. procedure x2tree(x)
  2534. # generator
  2535. # show the tree structure of x
  2536.   static S                  # serial No ôoÿ^ùp
  2537.   initial {
  2538.     S := set([serial(x)])   # serial Noé≡ Sé╔ôoÿ^
  2539.   }
  2540.   n := *x                   # Ä}é╠ûûÆ[îƒÅoùp
  2541.   every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
  2542.     n -:= 1
  2543.     case t := type(xx) of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  2544.       "string"            : suspend "+ " || left(t,7) || " " || jimage(xx)
  2545.       #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  2546.       "list" | "set" | "table" : {
  2547.         if not member(S,m := serial(xx)) then { # ì─ïAì\æóé┼ é╚é»éΩé╬
  2548.                                                 # Sé╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æó
  2549.           insert(S,m)       # serial Noé≡ Sé╓ôoÿ^
  2550.           suspend "+ <" || t || " " || string(m) || ">"
  2551.           suspend (if n > 0 then "|   " else "    ") ||   # Rev.1.2 if...then
  2552.                             #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[       # else...é╠ÅτÆ╖ÅCÉ│
  2553.                   x2tree(xx) do delete(S,m)
  2554.                   # ì─ïAü¬   #ü¬ôoÿ^é≡ìφÅ£
  2555.         }
  2556.         else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  2557.           return "+ <" || t || " " || string(m) || "> (Recursion)"
  2558.         }
  2559.       }
  2560.       #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  2561.       default             : suspend "+ " || left(t,7) || " " || image(xx)
  2562.     }
  2563.   }
  2564. end
  2565.  
  2566. # test driver
  2567. #procedure main()
  2568. #  L1 := ["A","B"]
  2569. #  L2 := ["C","D"]
  2570. #  L3 := ["E","F"]
  2571. #  put(L1,L2)
  2572. #  put(L2,L3)
  2573. #  put(L1,L3)               # suspend doé¬ô¡éóé─éóéΘé⌐é╠âeâXâg
  2574. #  put(L3,L1)               # Recursiveé╠ stopperé¬ô¡éóé─éóéΘé⌐é╠âeâXâg
  2575. #  every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  2576. #end
  2577. -----$ X2TREE03.ICN ( lines:58 words:257 ) -----------------<cut here
  2578. üiÅCÉ│ö┼é╔ì╖é╡æ╓éªüj
  2579.   üiÆ╟ïLüFé┼éαüAé▒é╠âvâìâOâëâÇé╔é═üAé▄é╛Å¡é╚é¡é╞éαüAéRé┬é╠â~âXé¬éáéΦé▄é╖üB
  2580.           é╟é▒é¬ûΓæΦé╚é╠é⌐ ìléªé─é▌é─ë║é│éóüB é╗é╠ÅCÉ│é═üAăé╠âVâèü[âYé┼üBüj
  2581.  (Note: This program has at least 3 mistakes. Please find them. They will be
  2582.         shown in the next guidebook.)
  2583.  
  2584.   recur01.icné╠ linkÄwÆΦé≡ò╧éªé╜é╛é»é╠éαé╠é┼é╖üB
  2585. -----^ RECUR02.ICN ( date:97-04-30 time:09:43 ) ------------<cut here
  2586. # ì─ïAé≡è▄é▐ì\æóé╠ treeÅæÅoé╡
  2587. # recur02.icn 1997/04/30 windy
  2588. # This file is in the public domain.
  2589. link x2tree03  #ü⌐ì─ïAæ╬ë₧ö┼
  2590.  
  2591. procedure main()
  2592.   L1 := ["A","B"]
  2593.   L2 := ["C","D"]
  2594.   L3 := ["E","F"]
  2595.  
  2596.   put(L1,L2)      # L1é╠ûûö÷é╔ L2é≡Æ╟ë┴
  2597.   put(L2,L3)      # L2é╠ûûö÷é╔ L3é≡Æ╟ë┴
  2598.   put(L1,L3)      # L1é╠ûûö÷é╔ L3é≡Æ╟ë┴
  2599.   put(L3,L1)      # L3é╠ûûö÷é╔ Ä⌐ò¬é╠Åπê╩é╠ L1é≡Æ╟ë┴üié▒é▒é┼ì─ïAé╞é╚éΘüBüj
  2600.   every write(x2t(L1) \20)
  2601.                       #ü¬âeâXâgé≡â~âXé╡é╜é╞é½é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  2602. end
  2603. -----$ RECUR02.ICN ( lines:17 words:51 ) -------------------<cut here
  2604. üiÅCÉ│ö┼é╔ì╖é╡æ╓éªüj
  2605.  
  2606.   recur02 >recur02.txté╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  2607. -----^ RECUR02.TXT ( date:97-05-01 time:10:07 ) ------------<cut here
  2608. <list 1>
  2609.   + string  "A"
  2610.   + string  "B"
  2611.   + <list 2>
  2612.   |   + string  "C"
  2613.   |   + string  "D"
  2614.   |   + <list 3>
  2615.   |       + string  "E"
  2616.   |       + string  "F"
  2617.   |       + <list 1> (Recursion)
  2618.   + <list 3>
  2619.       + string  "E"
  2620.       + string  "F"
  2621.       + <list 1> (Recursion)
  2622. -----$ RECUR02.TXT ( lines:14 words:49 ) -------------------<cut here
  2623.  
  2624. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2625. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2626. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  2627. (icon_219.txt 1997/04/30 PCVAN PIG)
  2628. üí  Icon > IconÄGïLÆáüiéQéOüj dir2treeüiéPüj         òùé┬é⌐éó
  2629.  
  2630.   é╣é┴é⌐é¡üAtreeò\Īé╠âvâìâOâëâÇé≡ Åæé½é▄é╡é╜é╠é┼üAê╚æOé⌐éτ éΓéΦé╜é⌐é┴é╜
  2631. directoryé╠ treeò\ĪéαéΓé┴é─é▌é▄é╡éσéñüB
  2632.   MS-DOSé╠üAdir /s âRâ}âôâhé┼üAdirectoryÅεò±é≡ ì─ïAôIé╔ ô╛éΘé▒é╞ é¬ é┼é½
  2633. é▄é╖üB é▒é╠Åεò±é≡ treeò\Īé╡é─é▌é▄é╖üB
  2634.  
  2635.   MS-DOSé╠üAdir /s é┼üAăé╠éµéñé╚âfü[â^é¬ô╛éτéΩé▄é╖üB  sub-directoryôαé╠
  2636. fileéΓ sub-directoryé╠Åεò±é¬üAÅçăé┼é─é½é▄é╖üB
  2637.   d:\icon\lec24鬠current directoryé╠Ä₧é╔ dir /s test_a é╞é╡é╜ Ä₧é╠ îïë╩
  2638. é┼é╖üB
  2639. -----^ TEST_A_D.TXT ( date:97-05-03 time:00:33 ) -----------<cut here
  2640.  
  2641.  âhâëâCâu D: é╠â{âèâàü[âÇâëâxâïé═éáéΦé▄é╣é±.
  2642.  â{âèâàü[âÇâVâèâAâïö╘ìåé═ 2727-1AF8
  2643.  
  2644. âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A
  2645.  
  2646. .              <DIR>        97-04-29  21:51 .
  2647. ..             <DIR>        97-04-29  21:51 ..
  2648. TEST_B         <DIR>        97-04-29  21:52 TEST_B
  2649. BBB      TXT            10  97-04-29  21:56 BBB.TXT
  2650. TEST_CCC TXT            15  97-04-29  21:57 TEST_CCC.TXT
  2651. TEST_C         <DIR>        97-04-29  21:55 TEST_C
  2652. AAA                      6  97-04-29  21:56 AAA
  2653.          3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2654.  
  2655. âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A\TEST_B
  2656.  
  2657. .              <DIR>        97-04-29  21:52 .
  2658. ..             <DIR>        97-04-29  21:52 ..
  2659. HHH      TXT            10  97-04-29  21:59 HHH.TXT
  2660. TEST_D         <DIR>        97-04-29  21:52 TEST_D
  2661. TEST_III TXT            15  97-04-29  22:00 TEST_III.TXT
  2662. GGG                      6  97-04-29  21:59 GGG
  2663.          3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2664.  
  2665. âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A\TEST_B\TEST_D
  2666.  
  2667. .              <DIR>        97-04-29  21:52 .
  2668. ..             <DIR>        97-04-29  21:52 ..
  2669. KKK      TXT            10  97-04-29  22:01 KKK.TXT
  2670. TEST_LLL TXT            15  97-04-29  22:02 TEST_LLL.TXT
  2671. JJJ                      6  97-04-29  22:01 JJJ
  2672.          3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2673.  
  2674. âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A\TEST_C
  2675.  
  2676. .              <DIR>        97-04-29  21:55 .
  2677. ..             <DIR>        97-04-29  21:55 ..
  2678. EEE      TXT            10  97-04-29  21:58 EEE.TXT
  2679. TEST_FFF TXT            15  97-04-29  21:58 TEST_FFF.TXT
  2680. DDD                      6  97-04-29  21:58 DDD
  2681.          3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2682.  
  2683. êΩùùé╠âtâ@âCâïæìÉö:
  2684.         12 î┬                 124 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2685.         11 ├▐¿┌╕─╪      3,391,488 âoâCâgé╠ï≤é½é¬éáéΦé▄é╖ 
  2686. -----$ TEST_A_D.TXT ( lines:46 words:161 ) -----------------<cut here
  2687.  
  2688.   é▒é╠Åεò±é≡ sub-directoryûêé╔üAÅçă listé╔é▄é╞é▀é─üAìXé╔üAé╗é╠ listé≡
  2689. ÉeÄqè╓îWé╔Å]é┴é─üAé┬é╚éóé┼éóé¡ò√Ä«é╞é╡é▄é╖üB
  2690.  
  2691.   éóé½é╚éΦüAæSòöé╠ programé≡ ì∞éδéñé╞é╡é╜é╠é┼é╖é¬üAéφé»éφé⌐é▀ é╔é╚é┴é─
  2692. é╡é▄éóé▄é╡é╜é╠é┼üAè╚ÆPé╚Ä└î▒ programé≡ɵé╔ì∞é┴é─é▌éΘé▒é╞é╔é╡é▄é╡é╜üB
  2693.  
  2694. -----^ TEST220B.ICN ( date:97-05-03 time:00:01 ) -----------<cut here
  2695. # dir2treeÅKì∞
  2696. # MS-DOSé╠ "dir /s"é¬É╢ɼé╖éΘ sub-directoryûêé╠Åεò±é≡ listé╔èiö[é╡é─é¿é½
  2697. # é╗é╠ listé≡ linké╡é─éóé¡éΓéΦò√é╠Ä└î▒üBlinké╠é╜é▀é╠Åεò±é═ sub-directory
  2698. # Åεò±é╔è▄é▄éΩé─éóéΘé¬üAé╟éñéΓé┴é─ linké≡é╖éΘé⌐ é╞éóéñé▒é╞é┼üA tableé≡Äg
  2699. # é┴é─ listé╠ùvæfé╠ê╩Æué≡èoéªé─é¿é¡ò√Ä«é╠Ä└î▒é≡ìsé┴é╜üB é▒éΩé┼âCâPé╗éñüB
  2700. # Ä└ì█é╠âvâìâOâëâÇé═üAloopì\ɼé╔é╖éΘüB
  2701. # test220b.icn 1997/05/02 windy
  2702. # This file is in the public domain.
  2703. link x2tree03              # treeò\Ī
  2704.  
  2705. procedure main()
  2706.   T := table()
  2707.   L := []
  2708.   # top directory "D0" ôoÿ^é╠û═ï[
  2709.   LL := []                 # directory data buffer
  2710.   s := "D1"                # directory nameÅεò±
  2711.   LLL := []                # sub-directory data buffer
  2712.   put(LLL,s)               # sub-directoryé╠û═ï[
  2713.   put(LL,"D0","A0",LLL,"A1") # sub-directoryùvæfé╠ LLé╓é╠ôoÿ^
  2714.   put(L,LL)                # ôoÿ^
  2715.   insert(T,s,LLL)          # tableôoÿ^ LLLé╠ÅΩÅèé≡èoéªé─é¿é¡é╜é▀
  2716.  
  2717.   # Æåè╘é╠ directory "D1" ôoÿ^é╠û═ï[
  2718.   LL := []                 # directory data buffer
  2719.   s := "D2"                # directory nameÅεò±
  2720.   LLL := []                # sub-directory data buffer
  2721.   put(LLL,s)               # sub-directoryé╠û═ï[
  2722.   put(LL,"D1","B0",LLL,"B1") # sub-directoryùvæfé╠ LLé╓é╠ôoÿ^
  2723.   put(\T[LL[1]] | L,LL)    # ôoÿ^
  2724.  
  2725.   insert(T,s,LLL)          # tableôoÿ^ LLLé╠ÅΩÅèé≡èoéªé─é¿é¡é╜é▀
  2726.  
  2727.   # ûûÆ[é╠ directory "D2" ôoÿ^é╠û═ï[
  2728.   LL := []                 # directory data buffer
  2729.   put(LL,"D2","C0","C1")   # sub-directoryùvæfé╠ LLé╓é╠ôoÿ^
  2730.   put(\T[LL[1]] | L,LL)    # ôoÿ^
  2731.  
  2732.   write("L")
  2733.   every write(x2t(L) \20)
  2734.   write("T")
  2735.   every write(x2t(T) \20)
  2736.                      #ü¬âeâXâgé≡â~âXé╡é╜é╞é½é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  2737. end
  2738. -----$ TEST220B.ICN ( lines:43 words:159 ) -----------------<cut here
  2739.  
  2740.  
  2741.   îïë╩é═ăé╠éµéñé╔é╚éΦé▄é╖üB  é╚é±é╞é⌐üAé┬é╚é¬é┴é╜é▌é╜éóé┼é╖üB
  2742.   âfü[â^ì\æóé╠ò\Ī programé═üAîïì\û≡é╔ùºé┐é▄é╖é╦üBüiÄ⌐ëµÄ⌐Ä^üj
  2743.  
  2744. -----^ TEST220B ( date:97-05-03 time:00:02 ) ---------------<cut here
  2745. L
  2746. <list 1>
  2747.   + <list 2>
  2748.       + string  "D0"
  2749.       + string  "A0"
  2750.       + <list 3>
  2751.       |   + string  "D1"
  2752.       |   + <list 4>
  2753.       |       + string  "D1"
  2754.       |       + string  "B0"
  2755.       |       + <list 5>
  2756.       |       |   + string  "D2"
  2757.       |       |   + <list 6>
  2758.       |       |       + string  "D2"
  2759.       |       |       + string  "C0"
  2760.       |       |       + string  "C1"
  2761.       |       + string  "B1"
  2762.       + string  "A1"
  2763. T
  2764. <table 1>
  2765.   + <list 5>
  2766.   |   + string  "D2"
  2767.   |   + <list 6>
  2768.   |       + string  "D2"
  2769.   |       + string  "C0"
  2770.   |       + string  "C1"
  2771.   + <list 3>
  2772.       + string  "D1"
  2773.       + <list 4>
  2774.           + string  "D1"
  2775.           + string  "B0"
  2776.           + <list 5>
  2777.           |   + string  "D2"
  2778.           |   + <list 6>
  2779.           |       + string  "D2"
  2780.           |       + string  "C0"
  2781.           |       + string  "C1"
  2782.           + string  "B1"
  2783. -----$ TEST220B ( lines:38 words:134 ) ---------------------<cut here
  2784.  
  2785.   æ▒é½é═üAăë±é╔üB
  2786.  
  2787. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2788. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2789. BGM: La Fiesta / Chick Corea
  2790. (icon_220.txt 1997/05/03 PCVAN PIG)
  2791.  
  2792. üí  Icon > IconÄGïLÆáüiéQéPüj dir2treeüiéQüj         òùé┬é⌐éó
  2793.  
  2794.   directoryé╠ treeò\Ī programé╠æ▒é½é┼é╖üB  Ä└î▒é¬üAéñé▄é¡éóé½é▄é╡é╜é╠é┼
  2795. ăé═üAÄ└ì█é╠ programé┼é╖üB
  2796.   üEdir /s é╠âRâ}âôâhö¡ìsüAîïë╩é╠ĵéΦôⁿéΩ
  2797.   üEîïë╩é╠ listé╓é╠ò╧è╖üAÉeÄqè╓îWé╔Å]é┴é─ link
  2798.   üEîïë╩é╠ò\Īüiò╩é╠ procedure)
  2799. é╠ì\ɼé╔é╚é┴é─éóé▄é╖üB
  2800.  
  2801. -----^ DIR2TREE.ICN ( date:97-05-03 time:13:22 ) -----------<cut here
  2802. # âfâBâîâNâgâèü[é≡ treeò\Īé╖éΘüB
  2803. # dir2tree.icn Ver.1.1 1997/05/03 windy 1997/05/03 Ver1.2 windy âRâüâôâgÆ╟ë┴
  2804. # This file is in the public domain.
  2805. # Usage : dir2tree directory_name
  2806. # "dir /s" é≡ö¡ìsé╡é─ ô╛é╜ âfâBâîâNâgâèü[Åεò±é≡ tree ò\Īé╖éΘüB
  2807. #link x2tree04      # testùp
  2808.  
  2809. procedure main(args)
  2810.   #######################
  2811.   # directoryÅεò±é≡ô╛éΘüB
  2812.   #######################
  2813.   dir_name := if *args > 0 then args[1] else ""
  2814.   tmp   := "$$$tmp.$$$"        # âeâôâ|âëâèâtâ@âCâïû╝É▌ÆΦ
  2815.   # ü½è┬ï½ò╧Éöé╔üAâeâôâ|âëâèü[âfâBâîâNâgâèû╝é¬üAÉ▌ÆΦé╡é─éáéΩé╬âtâ@âCâïû╝
  2816.   #   é╠æOé╔Æ╟ë┴
  2817.   if s := getenv("TMP") then tmp := s || "\\" || tmp
  2818.   # âRâ}âôâhâëâCâôé╠ âfâBâîâNâgâèü[û╝ÄwÆΦ é≡éαé╞é╔üA"dir /s" âRâ}âôâh é≡
  2819.   # ö¡ìsé╡é─ tmpé╓Åoù═
  2820.   system("dir /s " || dir_name || " >" || tmp)
  2821.  
  2822.   # directory data sample ü½é▒é±é╚âfü[â^鬠tmpé╔èiö[é│éΩé▄é╖üB
  2823.   #1              16
  2824.   #âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A
  2825.   #
  2826.   #.              <DIR>        97-04-29  21:51 .
  2827.   #..             <DIR>        97-04-29  21:51 ..
  2828.   #TEST_B         <DIR>        97-04-29  21:52 TEST_B
  2829.   #BBB      TXT            10  97-04-29  21:56 BBB.TXT
  2830.   #TEST_CCC TXT            15  97-04-29  21:57 TEST_CCC.TXT
  2831.   #TEST_C         <DIR>        97-04-29  21:55 TEST_C
  2832.   #AAA                      6  97-04-29  21:56 AAA
  2833.   #         3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  2834.   #  
  2835.   #êΩùùé╠âtâ@âCâïæìÉö:
  2836.  
  2837.   ######################
  2838.   # dir /s (dir_name)îïë╩é⌐éτüAdirectoryûêé╠Åεò±é≡ listé╓ ôoÿ^
  2839.   ######################
  2840.   dir := open(tmp) | stop("cannot open " || tmp)    # tmpâtâ@âCâïâIü[âvâô
  2841.   L_dir := []               # directoryÅεò±ôoÿ^ùp list
  2842.   T_dir := table()          # sub-directory listÄQÅ╞ table
  2843.  
  2844.   while line := read(dir) do {
  2845.     # directoryÅεò±é≡ directoryûêé╔üAêΩÆU list(LL)é╔é▄é╞é▀é─üAôoÿ^é╖éΘüB
  2846.     line ? {
  2847.                         #ü½listé╔é▄é╞é▀é╜ directoryÅεò±é≡ôoÿ^
  2848.       if find("î┬") then put(\T_dir[c_dir] | L_dir,LL) 
  2849.                             #ü¬tableé╔ c_diré¬æ╢ì▌é╖éΩé╬
  2850.       if match(" ") then next          # é▓é▌ìsé≡û│Äï
  2851.       if match("êΩ") then break        # "êΩùùé╠üDüDüD"é¬ùêé╜éτÅIéφéΦ
  2852.       L := p_split()                   # lineé≡ " "é┼ò¬èäü¿[1]:èJÄnê╩Æu
  2853.                                        #                   [2]:ùvæf
  2854.            #ü½lineé╠éPö╘û┌é╠ùvæf
  2855.       case L[1][2] of {
  2856.         "âfâBâîâNâgâèé═" : { LL := []  # directory data buffer
  2857.                                        #  ü½lineé╠éQö╘û┌é╠ùvæfé╠èJÄnê╩Æu
  2858.                              c_dir := line[L[2][1] : 0]
  2859.                              put(LL,[c_dir])
  2860.                              #ü¬listé╔é╡é─ LLé╔Æ╟ë┴
  2861.                            }
  2862.         "."        : next              # û│Äï
  2863.         ".."       : put(LL[1],line)   # é╗é╠ directoryÄ⌐Égé╠Åεò±üB
  2864.                                        # âgâbâvé╠ directoryê╚èOé┼é═òKùv
  2865.                                        # é╚éóé¬üAæSé─é╔é┬é½èiö[
  2866.         default    : { if find("<DIR>")  # sub-directoryé╛é┴é╜éτ
  2867.                        then {
  2868.                          put(LL,LLL := [line]) # ôαùeé≡ bufferé╔Æ╟ë┴
  2869.                          insert(T_dir,c_dir || "\\" || L[1][2] ,LLL)
  2870.                          # ü¬sub-directoryû╝Å╠é≡ keyé╔é╡é─ tableé╓ôoÿ^
  2871.                        }
  2872.                        else put(LL,line) # Æ╩Åφ fileé╚éτé╗é╠é▄é▄Æ╟ë┴
  2873.                      }
  2874.       } # end of case
  2875.     } # end of line ?
  2876.   } # end of while
  2877.   close(dir)
  2878.   remove(tmp)                          # delete tmp
  2879.  
  2880.   #######################
  2881.   # directoryÅεò±é╠ò\Ī
  2882.   #######################
  2883. #  every write(x2t(L_dir))              # listôαùeèmöFùpò\Ī
  2884. #  stop()
  2885.   every write(d2t(L_dir))
  2886.  
  2887. end
  2888.  
  2889. ########################
  2890. # directory treeò\Ī
  2891. ########################
  2892. procedure d2t(L)
  2893. # top directoryé╠û╝æOü^time_stampÅêù¥
  2894.   L1 := get(L)    # Lé╔é═éPî┬é╡é⌐ùvæfé¬û│éóüBé╗éΩé≡ĵéΦÅoé╖üB
  2895.   L2 := get(L1)   # é╗é╠é▄é╜ top (directory_name,time_stamp)é≡ĵéΦÅoé╖üB
  2896.  
  2897.   suspend L2[1] || L2[2][14:-3]   # top directoryé╠û╝æOé╞ time stamp
  2898.   suspend "  "  || d2tree(L1)     # treeë╗Åêù¥
  2899.   #       ü¬treeÅæÅoé╡Åëè·ê╩Æu
  2900. end
  2901.  
  2902. procedure d2tree(L)
  2903. # directoryé╠Åêù¥
  2904. # show the tree structure of directory
  2905.   n := *L                   # Lé╠âTâCâYüiûûö÷ùvæfîƒÅoùpüj
  2906.   every LL := !L do {       # listé╠ùvæfé≡éPé┬é├é┬ĵéΦÅoé╖
  2907.     n -:= 1                 # ùvæfâJâEâôâ^ü|éP
  2908.     case t := type(LL) of { # ùvæfé╠â^âCâvé╔éµéΦüA
  2909.       "string"  : suspend "+ " || LL        # file
  2910.       "list"    : {                         # sub-directory
  2911.         suspend "+ " || get(LL)             # sub-directoryÄ⌐æ╠ò\Ī
  2912.         LLL := get(LL)                      # sub-directoryé╠ÆåÉgé≡ĵéΦÅoé╡
  2913.         get(LLL)                            # Éµô¬ùvæfé≡ô╟é▌ö≥é╬é╡
  2914.                 #ü½ì┼îπé╠ùvæfé┼é╚éóé╚éτ
  2915.         suspend (if n > 0 then "|   " else "    ") || d2tree(LLL)
  2916.       }
  2917.       default   : stop("error")
  2918.     }
  2919.   }
  2920. end
  2921.  
  2922. ########################
  2923. # stringé≡ cé≡ïµÉ╪éΦé╔é╡é─ò¬èäé╡é─üAèJÄnê╩Æué╞ùvæfé≡ò╘é╖üB
  2924. ########################
  2925. # ô«ì∞é═üAIconôⁿûσìuì└üiéVüj Iconé╠ô┴ÆÑüiéTüjâXâLâââôé≡ÄQìlé╔é╡é─ë║é│éóüB
  2926. procedure p_split(line,c)
  2927.   /c := ' \t'                               # default
  2928.   /line := &subject                         # default
  2929.   list := []                                # û▀éΦÆlùp list
  2930.   line ? {
  2931.     while tab(ps := upto(~c)) do
  2932.       put(list,[ps,tab(pe := many(~c))])
  2933.   }
  2934.   return list
  2935. end
  2936. -----$ DIR2TREE.ICN ( lines:134 words:505 ) ----------------<cut here
  2937. üiâRâüâôâgÆ╟ë┴é╠é╜é▀ì╖é╡æ╓éªüj
  2938. üiÆ╟ïL  é▒é╠ programé═ root directoryé╔é┬éóé─é═üAéñé▄é¡ô«é½é▄é╣é±üB
  2939.         root é┼éαüAô«é¡éµéñé╔ÅCÉ│é╡é─é▌é─é¡é╛é│éóüB üiè╛üj
  2940.  (Note  This program does not work at root directory. 
  2941.         Please change this program to work at root directory.)
  2942.  
  2943.   Æ╖é¡é╚éΦé▄é╡é╜é╠é┼üAîïë╩é═ăë±é╔üB
  2944.  
  2945. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2946. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2947. BGM: La Fiesta / Chick Corea
  2948. (icon_221.txt 1997/05/03 PCVAN PIG)
  2949.  
  2950. üí  Icon > IconÄGïLÆáüiéQéQüj dir2treeüiéRüj         òùé┬é⌐éó
  2951.  
  2952.   directoryé╠ treeò\Ī programé╠æ▒é½é┼é╖üB  sub-directoryûêé╠ listé≡ÿAîï
  2953. é╡é▄é╖é╞üAăé╠éµéñé╚ listé¬é┼é½é▄é╖üB
  2954.   æOë±é╠ programÆåé┼üAâRâüâôâgâAâEâgé╡é─éáéΘ listôαùeò\Īé≡ É╢é⌐é╡é╜é╞é½
  2955. é╠îïë╩é┼é╖üB    Å«üAtestÄ₧é╔ linké╖éΘ x2tree04é═üAx2tree03é┼ èKæwûêé╠ ù±
  2956. é╠Éié▌é≡ Åké▀éΘÅCÉ│é≡é╡é╜éαé╠é┼é╖üB
  2957.   é▒é╠ listé╠Æåé╔é═ ÅτÆ╖é╚Åεò±é¬ éáéΦé▄é╖é╠é┼ ò\Īprogramé┼ ìφé┴é─ ò\Īé╡
  2958. é▄é╖üB
  2959. -----^ TEST_A_L.TXT ( date:97-05-03 time:11:27 ) -----------<cut here
  2960. <list 2>
  2961.  +<list 8>
  2962.    +<list 9>
  2963.    | +string  "D:\ICON\LEC24\TEST_A"
  2964.    | +string  "..             <DIR>        97-04-29  21:51 .."
  2965.    +<list 29>
  2966.    | +string  "TEST_B         <DIR>        97-04-29  21:52 TEST_B"
  2967.    | +<list 61>
  2968.    |   +<list 62>
  2969.    |   | +string  "D:\ICON\LEC24\TEST_A\TEST_B"
  2970.    |   | +string  "..             <DIR>        97-04-29  21:52 .."
  2971.    |   +string  "HHH      TXT            10  97-04-29  21:59 HHH.TXT"
  2972.    |   +<list 89>
  2973.    |   | +string  "TEST_D         <DIR>        97-04-29  21:52 TEST_D"
  2974.    |   | +<list 107>
  2975.    |   |   +<list 108>
  2976.    |   |   | +string  "D:\ICON\LEC24\TEST_A\TEST_B\TEST_D"
  2977.    |   |   | +string  "..             <DIR>        97-04-29  21:52 .."
  2978.    |   |   +string  "KKK      TXT            10  97-04-29  22:01 KKK.TXT"
  2979.    |   |   +string  "TEST_LLL TXT            15  97-04-29  22:02 TEST_LLL.TXT"
  2980.    |   |   +string  "JJJ                      6  97-04-29  22:01 JJJ"
  2981.    |   +string  "TEST_III TXT            15  97-04-29  22:00 TEST_III.TXT"
  2982.    |   +string  "GGG                      6  97-04-29  21:59 GGG"
  2983.    +string  "BBB      TXT            10  97-04-29  21:56 BBB.TXT"
  2984.    +string  "TEST_CCC TXT            15  97-04-29  21:57 TEST_CCC.TXT"
  2985.    +<list 50>
  2986.    | +string  "TEST_C         <DIR>        97-04-29  21:55 TEST_C"
  2987.    | +<list 146>
  2988.    |   +<list 147>
  2989.    |   | +string  "D:\ICON\LEC24\TEST_A\TEST_C"
  2990.    |   | +string  "..             <DIR>        97-04-29  21:55 .."
  2991.    |   +string  "EEE      TXT            10  97-04-29  21:58 EEE.TXT"
  2992.    |   +string  "TEST_FFF TXT            15  97-04-29  21:58 TEST_FFF.TXT"
  2993.    |   +string  "DDD                      6  97-04-29  21:58 DDD"
  2994.    +string  "AAA                      6  97-04-29  21:56 AAA"
  2995. -----$ TEST_A_L.TXT ( lines:35 words:195 ) -----------------<cut here
  2996.  
  2997.  
  2998.   ÅτÆ╖é╚Åεò±é≡ìφé┴é╜îïë╩é═é▒éñé╚éΦé▄é╖üB
  2999. -----^ TEST_A_T.TXT ( date:97-05-03 time:11:29 ) -----------<cut here
  3000. D:\ICON\LEC24\TEST_A  <DIR>        97-04-29  21:51
  3001.   + TEST_B         <DIR>        97-04-29  21:52 TEST_B
  3002.   |   + HHH      TXT            10  97-04-29  21:59 HHH.TXT
  3003.   |   + TEST_D         <DIR>        97-04-29  21:52 TEST_D
  3004.   |   |   + KKK      TXT            10  97-04-29  22:01 KKK.TXT
  3005.   |   |   + TEST_LLL TXT            15  97-04-29  22:02 TEST_LLL.TXT
  3006.   |   |   + JJJ                      6  97-04-29  22:01 JJJ
  3007.   |   + TEST_III TXT            15  97-04-29  22:00 TEST_III.TXT
  3008.   |   + GGG                      6  97-04-29  21:59 GGG
  3009.   + BBB      TXT            10  97-04-29  21:56 BBB.TXT
  3010.   + TEST_CCC TXT            15  97-04-29  21:57 TEST_CCC.TXT
  3011.   + TEST_C         <DIR>        97-04-29  21:55 TEST_C
  3012.   |   + EEE      TXT            10  97-04-29  21:58 EEE.TXT
  3013.   |   + TEST_FFF TXT            15  97-04-29  21:58 TEST_FFF.TXT
  3014.   |   + DDD                      6  97-04-29  21:58 DDD
  3015.   + AAA                      6  97-04-29  21:56 AAA
  3016. -----$ TEST_A_T.TXT ( lines:16 words:115 ) -----------------<cut here
  3017.  
  3018.   é▒é╠ programé╛é»é┼üAÿAïxé¬é┬é╘éΩé─é╡é▄é┴é╜üB
  3019.  
  3020. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3021. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3022. BGM: La Fiesta / Chick Corea
  3023. (icon_222.txt 1997/05/03 PCVAN PIG)
  3024.  
  3025. üí  Icon > IconÄGïLÆá  é▐é╖é╤                        òùé┬é⌐éó
  3026.  
  3027.   ÄGïLÆáé┼é═üAâeâLâXâgë≡É═é≡éΓéδéñé╞Ävé┴é─éóé╜é╠é┼é╖é¬üAûwé╟ generatoré╠
  3028. ë≡Éαé╔é╚é┴é─é╡é▄éóé▄é╡é╜üB
  3029.   éSîÄéαÅIéφé┴é╜é▒é╞é┼é╖é╠é┼üAÄGïLÆáé═ é¿é╡é▄éóé╞é╡é▄é╖üBüiæSæRüAÉαû╛é╔
  3030. é╚é┴é─éóé╚éóüBüiè╛üjüj
  3031.  
  3032.   ìíâVâèü[âYé┼é═üAÄäé═ generatorâTâïé╔é╚é┴é─é╡é▄éóé▄é╡é╜üB  æOâVâèü[âYé╠
  3033. Iconô·ïLé┼ generatoré╠ÄgéóÉSÆné╠ù╟é│é≡ Æmé┴é─é╡é▄é┴é─é⌐éτüAéαéñ ùúéΩéτéΩ
  3034. é▄é╣é±üB
  3035.   üyâCâPâCâPò]ë┐üz(Goal-directed evaluation)é╠ê╨ù═é═üAgeneratoré≡ Ägé┴é─
  3036. é▌é╚éóé╞ò¬é⌐éΦé▄é╣é±é╦üB
  3037.  
  3038.   ë∩ÿbé╔Ägéñî╛ùté╔é╡é─éαüAé╗é╠Ænò√Ænò√é╠ î╛ùtüiò√î╛üjé┼é╚éóé╞ ò\éφé╣é╚éó
  3039. éαé╠é┴é─ éáéΦé▄é╖éµé╦üB
  3040.   Ääé╠òΩìæîΩé╠öÄæ╜ò┘é┼é═üAæ╝é╠ò√î╛é╔é═é▌é⌐é»é╚éóüuÉiìsî`üvé╠ò\î╗é¬éáéΦé▄
  3041. é╖üB  üuü`éµéΘüBüvé╞éóéñò\î╗é┼é╖üB
  3042.   üuìsé½éµéΘüBüvüü ìsé½é┬é┬éáéΘüBìsé¡ôrÆåé┼éáéΘüB
  3043.   é▒é╠ò\î╗é¬Ägéóé▒é╚é╣éΘé╞üAéáé╚é╜éαüAöÄæ╜ò┘é╠ÆBÉlé┼é╖üBüiÅ╬üj
  3044.  
  3045.   Iconé╔éα é╗éñéóéñô╞ô┴é╠üyIconé┼é╚é»éΩé╬ò\éφé╣é╚éóüzò\î╗鬠éáéΘé╞Ävéóé▄
  3046. é╖üBé▒éΩé═üAéáéΘÆ÷ôxüAé╗é╠âvâìâOâëâÇé╔üAé═é▄é┴é─é▌é╚éóé╞üAò¬é⌐éτé╚éóè┤èo
  3047. é╛é╞Ävéóé▄é╖üB
  3048.  
  3049.   é│é─üAIconÄRé╠ÄⁿéΦé╠û╬é▌é≡ é│é▄éµé┴é─üAé╚é⌐é╚é⌐ âeâLâXâgë≡É═é╓é╠ôoéΦô╣
  3050. é╓ é╜é╟éΦé┬é»é▄é╣é±é¬üAăé╠âVâèü[âYé┼é═üAÉÑö±üAâeâLâXâgë≡É═é≡ éΓé┴é─é▌é▄
  3051. é╡éσéñüB
  3052.  
  3053.   Äƒé╠âVâèü[âYé╠â^âCâgâïé═üAIconÄUòαô╣ é╞é╡éµéñé⌐é╞Ävéóé▄é╖üB Iconû└éóô╣
  3054. é╠ò√é¬ìçé┴é─éóéΘé╞Ävéóé▄é╖é¬üAé╗éΩé╢éßéáé±é▄éΦé┼é╖é╠é┼üBüiÅ╬üj
  3055.  
  3056.   é┼é═üAé▄é╜üAé¿ë∩éóé╖éΘô·é▄é┼üB
  3057.  
  3058. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3059. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3060. BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
  3061. BGD: é¿ü`éó é¿Æâ
  3062. (icon_223.txt 1997/05/03 PCVAN PIG)
  3063.