home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / contrib / japanese / iconlec4.txt < prev    next >
Text File  |  1997-12-02  |  151KB  |  4,074 lines

  1.                                                    Rev.01 1997/11/24 òùé┬é⌐éó
  2. üí  Icon > IconÄUòαô╣  é═é╢é▀é╔                      òùé┬é⌐éó
  3.  
  4.   Iconé═ âAâèâ]âiæσèwé╠ Ralph E Griswoldï│Ä÷é╠âOâïü[âvé╔éµé┴é─èJö¡é│éΩé─éó
  5. éΘâeâLâXâgÅêù¥î╛îΩé┼é╖üB
  6.  
  7.   Iconé═ âeâLâXâgë≡É═é╔ ê╨ù═é≡ö¡è÷é╖éΘ ûLòxé╚âfü[â^ì\æóé╞ ï¡ù═é╚ɺîΣì\æóé≡
  8. é≡ö⌡éªé─éóé▄é╖üB ëpîΩé╠ìæé┼èJö¡é│éΩé─éóéΘî╛îΩé┼é╖é¬üAô·û{îΩé╠Åêù¥éαòsÄ⌐ùR
  9. é╡é▄é╣é±é╡üAéαé┴é╞éαé┴é╞ÄgéφéΩé─éµéóî╛îΩé╞Ävéóé▄é╖üB
  10.  
  11.   é╡é⌐é╡üAûóé╛ ô·û{îΩé╠ôⁿûσÅæ鬠éáéΦé▄é╣é±é╠é┼üA AWKé╔é┬éóé─üAéáéΘÆ÷ôxé╠
  12. ÆmÄ»é≡ é¿Ä¥é┐é╔é╚é┴é─éóéΘò√é≡ æ╬Å█é╞é╡é─üAôⁿûσìuì└é≡Åæé½é▄é╡é╜üB
  13.  
  14.    üEâeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└
  15.         ---AWKeré╠é╜é▀é╠ Iconôⁿûσ---
  16.    üEIconô·ïL 
  17.         ---âeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└éQ---
  18.    üEIconÄGïLÆá
  19.         ---âeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└éR---
  20.  
  21.   é▒é╠ IconÄUòαô╣é═ é╗é╠æ▒ò╥é╞é╡é─üAé╗é╠îπ ì∞é┴é╜âvâìâOâëâÇéΓ æOé╠ ìuì└é┼
  22. Åæé½ùÄé╞é╡é╜ éαé╠é≡üAé▄é╞é▀é╜éαé╠é┼é╖üB
  23.   æOé╠ éRò╥é╠ìuì└é╞ éóé┴é╡éσé╔ é▓ùùé╔é╚é┴é─ Iconé≡Ägé┴é─Æ╕é»éΘé╞ éñéΩé╡éó
  24. é┼é╖üB
  25.   Iconé╠âvâìâOâëâÇé¿éµé╤âëâCâuâëâèü[é═üAăé╠Åèé⌐éτ ôⁿÄΦé┼é½é▄é╖üB
  26.             http://www.cs.arizona.edu/icon/index.html
  27.  
  28.   é▒é╠ìuì└é═üAÄσé╔ PCVANé╠PIGé╠âeâLâXâgâfü[â^Åêù¥ë∩ïcÄ║é╔âAâbâvâìü[âhé╡é╜
  29. éαé╠é╔ë┴òMüEÅCÉ│é≡ìsé┴é╜éαé╠é┼é╖üB
  30.   Iconé═ PDSé┼é╖é╠é┼üAé▒é╠ôⁿûσìuì└éαô»é╢ê╡éóé╞é╡é▄é╖üBüiô]ì┌üEò╥ÅWÄ⌐ùRüj
  31.                (This textbook is in the public domain.)
  32. û┌ă
  33.          é═é╢é▀é╔
  34.   üiéPüj ì─é╤ì\æóæ╠ treeò\ĪüiéPüj
  35.   üiéQüj suspend...do...
  36.   üiéRüj ì─é╤éTâNâCü[âô
  37.   üiéSüj ì─é╤ì\æóæ╠ treeò\ĪüiéQüj
  38.   üiéTüj ì─é╤ì\æóæ╠ treeò\ĪüiéRüj
  39.   üiéUüj ì─é╤ wild.icnüiéPüj
  40.   üiéVüj ì─é╤ wild.icnüiéQüj
  41.   üiéWüj ì─é╤ dir2tree
  42.   üiéXüj ì─é╤ x2treeüiéPüj
  43. üiéPéOüj ì─é╤ x2treeüiéQüj
  44. üiéPéPüj Iconû└éóô╣ üiéPüjsystem()
  45. üiéPéQüj Iconû└éóô╣ üiéQüjdownloadÉö ÅWîv
  46. üiéPéRüj Iconû└éóô╣ üiéRüjCSV:ÆΦï`âtâ@âCâïé╠ô╟ì₧
  47. üiéPéSüj Iconû└éóô╣ üiéSüjCSV:ÆΦï`âtâ@âCâïé╠ë≡É═
  48. üiéPéTüj Iconû└éóô╣ üiéTüjCSV:ègÆúÄqò╧ìXüiéPüj
  49. üiéPéUüj Iconû└éóô╣ üiéUüjCSV:ègÆúÄqò╧ìXüiéQüj
  50. üiéPéVüj Iconû└éóô╣ üiéVüjCSV:CSV2TB
  51. üiéPéWüj Iconû└éóô╣ üiéWüjCSV:TB2CSV
  52. üiéPéXüj é┐éσé┴é╞ IconüiéPüjdataÉ«î`üiéPüj
  53. üiéQéOüj é┐éσé┴é╞ IconüiéQüjdataÉ«î`üiéQüj
  54. üiéQéPüj é┐éσé┴é╞ IconüiéRüjdataÉ«î`üiéRüj
  55. üiéQéQüj é┐éσé┴é╞ IconüiéSüjdataÉ«î`üiéSüj
  56. üiéQéRüj Iconë±éΦô╣ üiéPüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéPüj
  57. üiéQéSüj Iconë±éΦô╣ üiéQüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéQüj
  58. üiéQéTüj Iconë±éΦô╣ üiéRüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéRüj
  59. üiéQéUüj Iconë±éΦô╣ üiéSüjUsageé¬üDüDüD
  60. üiéQéVüj Iconë±éΦô╣ üiéTüja < b é¬üAÆlé≡Ä¥é┬
  61. üiéQéWüj é┐éσé┴é╞ IconüiéTüjWicon beta8
  62. üiéQéXüj é┐éσé┴é╞ IconüiéUüjIcon Newsletter No.53
  63. üiéRéOüj é┐éσé┴é╞ IconüiéVüjIcon Ver.9.3(Windows95/NT)
  64.          é▐é╖é╤
  65.  
  66. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  67. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  68. BGM: êñé╠î╛ù∞ü^âTâUâôüEâIü[âïâXâ^ü[âY
  69. (iconlec4.txt 1997/11/24)
  70.  
  71. üí  Icon > IconÄUòαô╣üiéPüj ì─é╤ ì\æóæ╠treeò\ĪüiéPüjòùé┬é⌐éó
  72.  
  73.   IconÄGïLÆá é╔ê°é½æ▒é½üAIconû└éóô╣ é╢éßé╚é⌐é┴é╜ IconÄUòαô╣ é≡Äné▀é▄é╖üB
  74.   ìíë±é▒é╗é═üAâeâLâXâgë≡É═éτé╡éó programé≡ì∞é┴é─é▌é╜éóé╞Ävéóé▄é╖üB
  75.  
  76.   âeâLâXâgë≡É═é╞éóé┴é─éαüA
  77.         üEè╚ÆPé╚ÉöÄ«ë≡É═  é╞
  78.         üEè╚ÆPé╚âAâZâôâuâë éáé╜éΦ
  79.   é≡û┌òWé╔é╡é─éóé▄é╖üB
  80.  
  81.   é╞üAÄvé┴é─éóé╜é╠é┼é╖é¬üAIconÄGïLÆáé≡ô╟é▌ò╘é╡é─éóé╜éτüAéñü`é▐üBâ~âXé¬
  82. î⌐é┬é⌐éΦé▄é╡é╜üB  é╗é╠ÅCÉ│é⌐éτÄné▀é▄é╖üB
  83.  
  84.   Iconôⁿûσìuì└é≡éΓé┴é─éóé▄é╡é─üAâAâbâvâìü[âhé╖éΘî┤ìeéΓ programé═üAé╗é╠æO
  85. é╔üAâ`âFâbâNé╡é─éóéΘ é┬éαéΦé╚é╠é┼é╖é¬üAæσÆ∩ éPé┬éΓ éQé┬é╠â~âX鬠è▄é▄éΩé─
  86. éóé▄é╖üB
  87.   é╡é⌐é╡üAïCé¬é┬é¡é╠é═üAæσÆ∩üAâAâbâvâìü[âhé╡é╜îπé╔üAÄ⌐ò¬é╠âüâbâZü[âWé≡
  88. ô╟é▌é╛é╡âRâ}âôâhé┼üAô╟é±é╛Ä₧é┼é╖üB  éαéñÄΦÆxéΩé╠â^âCâ~âôâOé┼é╖üB
  89.   âAâbâvâìü[âhé╖éΘé▄é┼é═üAÄßè▒ï┘Æúé╡é─éóé▄é╖üB  é╗éΩé¬ÅIéφé┴é╜îπé╔üAÅ¡é╡
  90. âzâbé╞é╡é╜ïCò¬é┼üAÄ⌐ò¬é╠âüâbâZü[âWé≡ô╟é▌ò╘é╖û≤é╚é╠é┼é╖é¬üA  é╗éñéóéñÄ₧é╔
  91. Ä⌐ò¬é╠â~âXé¬î⌐é┬é⌐éΦé▄é╖üBò╩é╠Ä⌐ò¬é╔é╚éτé╚éóé╞üAî⌐é┬é⌐éτé╚éóé▌é╜éóé┼é╖üB
  92.  
  93.   Åæéóé╜îπé╔üAéPô·ê╩ ÉQé⌐é╣é─é¿éóé─üAé╗é╠îπé╔ éαéñéPë±â`âFâbâNé╖éΘé╞ù╟éó
  94. é╠é┼é╖é¬üAé▒éτéªÉ½é¬û│é¡é─í  ÅCìsé¬æ½éΦé╚éóé╚ü`üB
  95.  
  96.   é╞üAî╛éñéφé»é┼üAIconÄGïLÆáüiéPéXüjé╠ x2tree03.icné╠ÅCÉ│ö┼é┼é╖üB
  97. ôαùeé═üAâRâüâôâgé╔Åæé½ì₧é±é┼éáéΦé▄é╖é╠é┼üAé▓ùùë║é│éóüB
  98. -----^ X2TREE05.ICN ( date:97-05-06 time:01:17 ) -----------<cut here
  99. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
  100. # x2tree05.icn Rev.1.2 1997/05/05 windy commentÅCÉ│
  101. # x2tree05.icn Rev.1.1 1997/05/04 windy
  102. # IconÄGïLÆáüiéPéXüjé╠ x2tree03.icn é╠â~âXüiéRé┬éαüIüiè╛üjüjé≡üAÅCÉ│üB
  103. # 1) ì─ïAì\æóö╗ÆΦé╠é╜é▀é╔üAserial Noé≡Ägé┴é╜é¬üAserial Noé═üAtypeûêé╔
  104. #    ÉUéτéΩéΘé╠é≡Æméτé╚é⌐é┴é╜üBserial Noôoÿ^ùp seté≡ typeûêé╔ (list,
  105. #    set,table)ò¬é»é╜üB
  106. # 2) ôoÿ^ seté⌐éτé╠üAserial No ìφÅ£Åêù¥(delete) é╠ê╩Æué¬üAè╘êßé┴é─éóé╜üB
  107. #    suspend...do...é╠ do...é╠ê╩Æué┼é═é▄é╕éóüBìXé╔ì\æó(listôÖ)é¬éáé┴é─
  108. #    Ä⌐ò¬Ä⌐Égé≡î─é±é╛Ä₧üAé╗é╠ì\æóé╠ùvæfé╠ò\ĪÅêù¥é╠ôxé╔üAû▀é┴é─ùêé─é╗é╠
  109. #    ôxé╔ do...é¬Ä└ìsé│éΩéΘüBéµé┴é─üAè·æ╥ê╚èOé╠Ä₧é╔ serial Noé¬ìφÅ£é│éΩ
  110. #    é─é╡é▄éñüB  æfÆ╝é╔ suspendé╠îπéδé╠ìsé╔Æué¡üB
  111. # 3) Åëè·ë╗Åêù¥é≡ x2treeé┼ initial {...}é┼éΓé┴é─éóé╜üB    x2t()é≡ Ägéñ
  112. #    programôαé┼ ò╩é╠ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2t()é≡î─é±é╛ Ä₧é╔
  113. #    Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘüB  initial {...}é┼é═é╚é¡é─üAx2t()é⌐éτé╠
  114. #    âtâëâOé┼ Åëè·ë╗ÄwĪé╖éΘò√Ä«é╔ò╧éªé╜üB
  115. # This file is in the public domain.
  116. link jimage
  117.  
  118. procedure x2t(x)
  119. # generator
  120. # topé╠Åêù¥
  121.   suspend "<" || type(x) || " " || string(serial(x)) || ">"
  122.                                          #ü¬listé╠ serial No
  123.   suspend "  " || x2tree(x,"")
  124.                           #ü¬Åëè·ë╗âtâëâO
  125. end
  126.  
  127. procedure x2tree(x,init)
  128. # generator
  129. # show the tree structure of x
  130.   static T      # serial No ôoÿ^ùp setôoÿ^ùp table    staticÉΘî╛é≡ é╡é─
  131.                 # é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
  132.   if \init then { # Rev.1.2
  133.     T := table()       
  134.     T["list"]  := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
  135.     T["set"]   := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
  136.     T["table"] := set()
  137.     if (t := type(x)) == ("list" | "set" | "table")
  138.     then insert(T[t],serial(x))    # serial Noé≡ T[type(x)]é╔ôoÿ^
  139.   }
  140.   n := *x                   # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
  141.   every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
  142.     n -:= 1
  143.     case t := type(xx) of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  144.       "string"            : suspend "+ " || left(t,7) || " " || jimage(xx)
  145.       #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  146.       "list" | "set" | "table" : {
  147.         #ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
  148.         if not member(T[t],m := serial(xx)) then {
  149.           insert(T[t],m)    # serial Noé≡ T[type(xx)]é╓ôoÿ^
  150.           suspend "+ <" || t || " " || string(m) || ">"
  151.           suspend (if n > 0 then "|   " else "    ") || x2tree(xx)
  152.                             #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[     # ì─ïAü¬
  153.           delete(T[t],m)    #ü⌐serial No ôoÿ^é≡ìφÅ£
  154.         }
  155.         else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  156.           return "+ <" || t || " " || string(m) || "> (Recursion)"
  157.         }
  158.       }
  159.       #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  160.       default             : suspend "+ " || left(t,7) || " " || image(xx)
  161.     }
  162.   }
  163. end
  164.  
  165. # test driver
  166. procedure main()
  167.   #listé╠ test
  168.   L1 := ["A","B"]
  169.   L2 := ["C","D"]
  170.   L3 := ["E","F"]
  171.   put(L1,L2)
  172.   put(L2,L3)
  173.   put(L1,L3)               # ò╩Ä} test
  174.   put(L3,L1)               # listé╠ì─ïA
  175.   every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  176.  
  177.   write()
  178.   #tableé╠ test
  179.   T := table()
  180.   T["A"] := "G"
  181.   T["C"] := L2[1]
  182.   T["E"] := L3
  183.   T[L1] := L1[1]
  184.   put(L3,T)                # tableé╠ì─ïA
  185.   every write(x2t(T) \20)
  186.  
  187.   write()
  188.   #seté╠ test
  189.   L4 := ["H","I"]
  190.   S1 := set(["L","M"])
  191.   S  := set(["J","K",L4])
  192.   insert(S,S1)
  193.   insert(S1,S)             # seté╠ì─ïA
  194.   every write(x2t(S) \20)
  195.  
  196. end
  197. -----$ X2TREE05.ICN ( lines:98 words:380 ) -----------------<cut here
  198. üi commentÅCÉ│é╠é╜é▀üAì╖é╡æ╓éªüj
  199.  
  200.   linké╡é─éóéΘ jimage.icné═üAIconÄGïLÆáé╔è▄é▄éΩé─éóé▄é╖üB
  201.   é▒é╠ jimage.icné═ ìXé╔ Iconô·ïLé╔è▄é▄éΩéΘ sjis4.icné≡ linké╡é─éóé▄é╖üB
  202.  
  203.   îïë╩é═üAăé╠éµéñé╔é╚éΦé▄é╖üB  âeâXâgâPü[âXé≡æ¥éΓé╡é▄é╡é╜é¬üAé▄é╛ÿRéΩ
  204. é¬üAéáéΘé⌐éαé╡éΩé▄é╣é±üBÅ«üAì\æóæ╠é╠ recordé╓é╠özù╢鬠ö▓é»é─éóé▄é╖é¬üA
  205. é▒éΩé═üAÄäé¬Ägéφé╚éóéαé╠é┼üAÅ╚éóé─éáéΦé▄é╖üB  é╗éΩé═üAÄdùlé┼é╖üBüiÅ╬üj
  206. -----^ X2TREE05 ( date:97-05-04 time:20:59 ) ---------------<cut here
  207. <list 1>
  208.   + string  "A"
  209.   + string  "B"
  210.   + <list 2>
  211.   |   + string  "C"
  212.   |   + string  "D"
  213.   |   + <list 3>
  214.   |       + string  "E"
  215.   |       + string  "F"
  216.   |       + <list 1> (Recursion)
  217.   + <list 3>
  218.       + string  "E"
  219.       + string  "F"
  220.       + <list 1> (Recursion)
  221.  
  222. <table 2>
  223.   + string  "C"
  224.   + <list 3>
  225.   |   + string  "E"
  226.   |   + string  "F"
  227.   |   + <list 1>
  228.   |   |   + string  "A"
  229.   |   |   + string  "B"
  230.   |   |   + <list 2>
  231.   |   |   |   + string  "C"
  232.   |   |   |   + string  "D"
  233.   |   |   |   + <list 3> (Recursion)
  234.   |   |   + <list 3> (Recursion)
  235.   |   + <table 2> (Recursion)
  236.   + string  "A"
  237.   + string  "G"
  238.  
  239. <set 8>
  240.   + string  "K"
  241.   + <set 7>
  242.   |   + string  "M"
  243.   |   + string  "L"
  244.   |   + <set 8> (Recursion)
  245.   + <list 38>
  246.   |   + string  "H"
  247.   |   + string  "I"
  248.   + string  "J"
  249. -----$ X2TREE05 ( lines:42 words:155 ) ---------------------<cut here
  250.  
  251. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  252. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  253. BGM: Goodbye Day ü^ùêÉ╢é╜é⌐é¿
  254. (icon_301.txt 1997/05/05 PCVAN PIG)
  255.  
  256. üí  Icon > IconÄUòαô╣üiéQüj suspend...do...          òùé┬é⌐éó
  257.  
  258.   æOë±üAIconÄGïLÆáüiéPéXüjé┼ĵéΦÅπé░é╜ x2tree03.icné╠â~âXé≡ ÅCÉ│é╡é▄é╡é╜
  259. é¬üAÄäé═üAé╟éñéα suspend...do...é╠ì\ò╢é¬üAù¥ë≡é┼é½é─éóé╚éó é╞Ävéóé▄é╖üB
  260.   é╗é▒é┼üAô«ì∞èmöFé╠Ä└î▒ programé≡ì∞é┴é─é▌é▄é╡é╜üB
  261.  
  262.   é▒éñéóéñì\ɼé╠ programé┼é╖üB
  263.   main()                 test_a()                test_b()
  264.   ------------------      ------------------      ------------------
  265.  | main()           |    |                  |    |                  |
  266.  |  every test_a()   <--- suspend...test_b() <--- suspend...        |
  267.  |                  |    |         do...    |    |         do...    |
  268.   -----------------       ------------------      ------------------
  269.  
  270.   Ä└î▒ programé┼é╖üB
  271. -----^ DO_01.ICN ( date:97-05-04 time:23:28 ) --------------<cut here
  272. # suspend...do...é╠ô«ì∞é╠èmöFéP
  273. # do_01.icn 1997/05/04 windy
  274. # This file is in the public domain.
  275.  
  276. # main()é═ test_aé╠Åoù═é≡Åæé½Åoé╖é╛é»
  277. procedure main()
  278.   write("suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éP")
  279.   write()
  280.   write("âüâCâôɵô¬")
  281.   every s := test_a("élél")    do write("âüâCâôÅoù═ ",s)
  282.   write("âüâCâôûûö÷")
  283. end
  284.  
  285. # teat_aé═ test_b(s)é╠ɵô¬é╔üAò╢ÄÜù± "é`é` "é≡ë┴éªéΘé╛é»
  286. procedure test_a(s)
  287.   write("     é`ɵô¬")
  288.   suspend "é`é` " || test_b(s) do write("     é` do")
  289.   write("     é`ûûö÷")
  290. end
  291.  
  292. # éQÅoù═é╠ generator
  293. # éPé┬é═ sé╔ò╢ÄÜù± "éaéP "é≡ë┴éªñéαéñéPé┬é═ sé╔ò╢ÄÜù± "éaéQ "é≡ë┴éªéΘ
  294. procedure test_b(s)
  295.   write("          éaɵô¬")
  296.   suspend "éaéP " || s         do write("          éaéP do")
  297.   write("          éaÆåè╘")
  298.   suspend "éaéQ " || s         do write("          éaéQ do")
  299.   write("          éaûûö÷")
  300. end
  301. -----$ DO_01.ICN ( lines:29 words:91 ) ---------------------<cut here
  302.  
  303.   ô«ì∞îïë╩é═üAăé╠éµéñé╔ é╚éΦé▄é╖üB test_a() ,test_b() é╠ do...é╠òöò¬ é╠
  304. Ä└ìsâ^âCâ~âôâOé╞ ë±Éöé╔Æàû┌é╡é─ë║é│éóüB
  305. -----^ DO_01 ( date:97-05-04 time:23:28 ) ------------------<cut here
  306. suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éP
  307.  
  308. âüâCâôɵô¬
  309.      é`ɵô¬
  310.           éaɵô¬
  311. âüâCâôÅoù═ é`é` éaéP élél
  312.      é` do
  313.           éaéP do
  314.           éaÆåè╘
  315. âüâCâôÅoù═ é`é` éaéQ élél
  316.      é` do
  317.           éaéQ do
  318.           éaûûö÷
  319.      é`ûûö÷
  320. âüâCâôûûö÷
  321. -----$ DO_01 ( lines:15 words:25 ) -------------------------<cut here
  322.  
  323.   Ääé═üAô«ì∞â^âCâ~âôâOé≡ æSé¡îδë≡é╡é─éóé▄é╡é╜üB
  324.   é┬éóüAgeneratoré┼é═é╚éó procedureé≡ î─é±é╛Ä₧é╞ ô»é╢Åçö╘é╞ Ävé┴é─éóé▄é╡é╜üB
  325.  Ä└ì█é╔ Ä└î▒é╡é─é▌éΘéαé±é┼é╖é╦üB
  326.  
  327.   é┬éóé┼é╔üAtest_a()é┼ éQé┬ suspendé╖éΘ ÅΩìçé╠ Ä└î▒ programéα éáé░é─é¿é½
  328. é▄é╖üB
  329. -----^ DO_02.ICN ( date:97-05-05 time:22:43 ) --------------<cut here
  330. # suspend...do...é╠ô«ì∞é╠èmöFéQ
  331. # do_02.icn Rev.1.2 1997/05/04 windy commentÅCÉ│
  332. # do_02.icn Rev.1.1 1997/05/05 windy
  333. # This file is in the public domain.
  334.  
  335. # main()é═ test_aé╠Åoù═é≡Åæé½Åoé╖é╛é»
  336. procedure main()
  337.   write("suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éQ")
  338.   write()
  339.   write("âüâCâôɵô¬")
  340.   every s := test_a("élél")    do write("âüâCâôÅoù═ ",s)
  341.   write("âüâCâôûûö÷")
  342. end
  343.  
  344. # teat_aé═ test_b(s)é╠ɵô¬é╔üAò╢ÄÜù± "é`éP "é⌐ "é`éQ "é≡ ë┴éªéΘé╛é»
  345. procedure test_a(s)
  346.   write("     é`ɵô¬")
  347.   suspend "é`éP " || test_b(s) do write("     é`éP do")
  348.   write("     é`Æåè╘")
  349.   suspend "é`éQ " || test_b(s) do write("     é`éQ do")
  350.   write("     é`ûûö÷")
  351. end
  352.  
  353. # éQÅoù═é╠ generator
  354. # éPé┬é═ sé╔ò╢ÄÜù± "éaéP "é≡ë┴éªñéαéñéPé┬é═ sé╔ò╢ÄÜù± "éaéQ "é≡ë┴éªéΘ
  355. procedure test_b(s)
  356.   write("          éaɵô¬")
  357.   suspend "éaéP " || s         do write("          éaéP do")
  358.   write("          éaÆåè╘")
  359.   suspend "éaéQ " || s         do write("          éaéQ do")
  360.   write("          éaûûö÷")
  361. end
  362. -----$ DO_02.ICN ( lines:32 words:112 ) --------------------<cut here
  363. üiâRâüâôâgÅCÉ│é╠é╜é▀üAì╖é╡æ╓éªüj
  364.  
  365.   îïë╩é┼é╖üB
  366. -----^ DO_02 ( date:97-05-04 time:23:29 ) ------------------<cut here
  367. suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éQ
  368.  
  369. âüâCâôɵô¬
  370.      é`ɵô¬
  371.           éaɵô¬
  372. âüâCâôÅoù═ é`éP éaéP élél
  373.      é`éP do
  374.           éaéP do
  375.           éaÆåè╘
  376. âüâCâôÅoù═ é`éP éaéQ élél
  377.      é`éP do
  378.           éaéQ do
  379.           éaûûö÷
  380.      é`Æåè╘
  381.           éaɵô¬
  382. âüâCâôÅoù═ é`éQ éaéP élél
  383.      é`éQ do
  384.           éaéP do
  385.           éaÆåè╘
  386. âüâCâôÅoù═ é`éQ éaéQ élél
  387.      é`éQ do
  388.           éaéQ do
  389.           éaûûö÷
  390.      é`ûûö÷
  391. âüâCâôûûö÷
  392. -----$ DO_02 ( lines:25 words:45 ) -------------------------<cut here
  393.  
  394.   âCâPâCâPò]ë┐(Goal-directed evaluation) é≡ ìséñé╜é▀é╔ test_a(), test_b()
  395. é╠ æSægé▌ìçéφé╣ é≡ÄÄé╡é─éóéΘ é╠鬠ò¬é⌐éΦé▄é╖üB
  396.  
  397. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  398. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  399. BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
  400. (icon_302.txt 1997/05/05 PCVAN PIG)
  401.  
  402. üí  Icon > IconÄUòαô╣üiéRüj ì─é╤ éTâNâCü[âô          òùé┬é⌐éó
  403.  
  404.   æOë± suspend...do...é╠ì\ò╢ é╠ô«ì∞èmöFé≡ ìséóé▄é╡é╜é¬üAæ╝é╠ programé┼éα
  405. îδë≡é╡é─ Ägé┴é─éóéΘé╞é▒éδ鬠û│éóé⌐é╞üAÆTé╡é▄é╡é╜üB
  406.   Iconô·ïLé╠ 5-Queensé╠ programé┼éαüAQueené╠Æué½Æ╝é╡é╠é╞é▒éδé┼üAÄgé┴é─éó
  407. é▄é╖üB  é▒é▒é═üAô┴é╔ do...é≡ÄgéñòKùvé═üAéáéΦé▄é╣é±é╦üB
  408.  
  409. -----^ 5QUEEN1D.ICN ( date:97-05-04 time:20:02 ) -----------<cut here
  410. # 5-Queensé╠ë≡é╠Åæé½Åoé╡
  411. # 5x5é╠â`âFâXö╒é╔ 5î┬é╠ Queené≡î▌éóĵéτéΩé╚éóê╩Æué╔Æué¡üB
  412. # 5queen1d.icn Rev.1.1 1997/05/04 windy
  413. # This file is in the public domain.
  414. # Iconï│ôT(The Icon Programming Language)é╠ 8-Queens program
  415. # é╔üAÄΦé≡ë┴éªé╜éαé╠üB
  416. # ô«ì∞é═üAIconô·ïLüiéQéSüjü`üiéQéUüjé≡ÄQÅ╞é╡é─ë║é│éóüB
  417. # Queené╠ Æué½Æ╝é╡é═üAsuspend ... do ...é╠ do...é≡ Ägéφé╚é¡é─
  418. # éαù╟éóé▒é╞é╔ ïCòtéóé─ ÅCÉ│é╡é╜éαé╠üB
  419. #
  420. #    ìsüEù±é╠ö╘ìå        ëEÅπé¬éΦæ╬èpÉⁿ   ëEë║é¬éΦæ╬èpÉⁿ
  421. #         ù±ü¿(column)   ö╘ìåü¿                     ü⌐ö╘ìå
  422. #          1 2 3 4 5          1 2 3 4 5      5 4 3 2 1  
  423. #    ìs  1épüEüEüEüE        épü^ü^ü^ü^ 6    6 épü_ü_ü_ü_
  424. #    ü½  2üEüEépüEüE        ü^ü^épü^ü^ 7    7 ü_ü_épü_ü_
  425. #  (row) 3üEüEüEüEép        ü^ü^ü^ü^ép 8    8 ü_ü_ü_ü_ép
  426. #        4üEépüEüEüE        ü^épü^ü^ü^ 9    9 ü_épü_ü_ü_
  427. #        5üEüEüEépüE        ü^ü^ü^épü^        ü_ü_ü_épü_
  428. #                                                       
  429. #  Åπé╠É}é╠éµéñé╔Æué½ÅIéφé┴é╜Å≤æ╘é┼é═üA
  430. #           ìs          ëEÅπé¬éΦæ╬èpÉⁿ    ëEë║é¬éΦæ╬èpÉⁿ
  431. #    row   12345       up   123456789     down 123456789
  432. #    col  "13524"      col "1..32.54."    col "..53142.."
  433. #
  434. procedure main()
  435.   # Queené¬éPìsé⌐éτéTìsé▄é┼æSé─Æué»é╜éτüAù±ê╩Æué≡Åçé╔Åæé½Åoé╖üB
  436.   # q(1),...,q(5)é¬æSé─ɼî≈é╡é╚é»éΩé╬ writeé╠ê°Éöé═ɼî≈é╡é╚éóüB
  437.   every write(q(1)," ",q(2)," ",q(3)," ",q(4)," ",q(5))
  438.              #ü¬Queené≡Åçé╔éPìsé╕é┬Æuéóé─éóé┴é─üAæSòöÆué»é╜éτɼî≈
  439.              # Æué»é╚éóé╞é½é═üAÅçé╔éPìsé╕é┬û▀é┴é─ò╩é╠Æué½ò√é≡ÄÄé╖üB
  440.              # é╞é╔é⌐é¡üAüyâCâPâCâPüzé┼üAôÜéªé¬ÅoéΘé▄é┼ÄÄé╖üB
  441.              # ôÜéªé╠éáéΘî└éΦÄÄé╖üB
  442. write()
  443. end
  444.  
  445. procedure q(r)
  446. # rö╘û┌é╠ìsé╠ Queené≡üAéPü`éTù±é╔Æuéóé─ÄÄé╖é╜é▀é╠ generator
  447. # û▀éΦÆlé═üAÆué»é╜ù±é╠ No
  448.   suspend place(r,1 to 5)
  449.                   # ü¬ éPù±ü`éTù±ûÿÄÄé╖üB
  450. end
  451.  
  452. procedure place(r,c)
  453. # Queené≡ rìs cù±é╔Æuéóé─é▌éΘüBÆué»é╚éóé╞Ä╕ösüBÆué»éΘé╞ù± Noé≡ò╘é╖üB
  454.   static up,down,col    # è∙é╔Æué⌐éΩé╜ Queené≡ïLë»üB
  455.                         # ù±ê╩Æué╞ëeï┐é╖éΘæ╬èpÉⁿéQò√îⁿé╠ê╩Æué≡ïLë»é╖éΘüB
  456.   initial{              # Åëè·Ælüi Queené≡ë╜Åêé╔éαÆuéóé─éóé╚éóÅ≤æ╘üj
  457.     up   := repl(".",9) # ëEÅπé¬éΦæ╬èpÉⁿè╟ù¥
  458.     down := repl(".",9) # ëEë║é¬éΦæ╬èpÉⁿè╟ù¥
  459.     col  := repl(".",5) # ù±ö╘ìåè╟ù¥
  460.   }
  461.  
  462.   if col[c] == up[r + c -1] == down[5 - c + r] == "."
  463.   # ü¬rìs cù±é╔Æué»éΘé⌐é╠ checküiæSòö "."é╚éτéáéóé─éóéΘüBüj
  464.  
  465.   then {
  466.     suspend col[c] := up[r + c -1] := down[5 - c + r] := c
  467.      #        ü¬ cö╘û┌é╠ù±é╔ Queené≡Æué¡üB
  468.      # Æuéóé╜ù±üEëEÅπé¬éΦæ╬èpÉⁿüEëEë║é¬éΦæ╬èpÉⁿé╔ cé≡æπôⁿé╡é─éóéΘüB
  469.      # Æuéóé╜é▒é╞é≡Īé╖é╛é»é╚éτ "."ê╚èOé╠ò╢ÄÜé╚éτé╚é±é┼éαù╟éóé¬üA
  470.      # û▀éΦÆlé≡ù±ö╘ìåé╔é╖éΘé╜é▀é╔ cé≡æπôⁿüB
  471.  
  472.      # æ▒ìsÄ₧é╠Åêù¥
  473.     col[c] := up[r + c -1] := down[5 - c + r] := "."
  474.      #        ü¬ cö╘û┌é⌐éτ Queené≡ĵéΦïÄéΘüB
  475.      # æ▒ìsé═üAăé╠ìsé╠ Queené¬Æué»é╚é⌐é┴é╜Ä₧üAé▄é╜é═æSòöé╠ Queené¬
  476.      # Æué»é─üAò╩é╠Æué½ò√é≡ ÄÄé╖Ä₧é╔ïNé▒éΘüB
  477.   }
  478. end
  479. -----$ 5QUEEN1D.ICN ( lines:69 words:272 ) -----------------<cut here
  480.  
  481.   îïë╩é┼é╖üB  ÅCÉ│æOé╞üAô»é╢îïë╩é╔é╚éΦé▄é╖üB
  482. -----^ 5QUEEN1D ( date:97-05-04 time:20:02 ) ---------------<cut here
  483. 1 3 5 2 4
  484. 1 4 2 5 3
  485. 2 4 1 3 5
  486. 2 5 3 1 4
  487. 3 1 4 2 5
  488. 3 5 2 4 1
  489. 4 1 3 5 2
  490. 4 2 5 3 1
  491. 5 2 4 1 3
  492. 5 3 1 4 2
  493.  
  494. -----$ 5QUEEN1D ( lines:11 words:50 ) ----------------------<cut here
  495.  
  496. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  497. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  498. BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
  499. (icon_303.txt 1997/05/05 PCVAN PIG)
  500.  
  501. üí  Icon > IconÄUòαô╣üiéSüj ì─é╤ ì\æóæ╠treeò\ĪüiéQüjòùé┬é⌐éó
  502.  
  503.   IconÄUòαô╣üiéPüjé┼üAx2tree03.icné╠ â~âXÅCÉ│ö┼é≡ Éαû╛é╡é▄é╡é╜é¬üAé╟éñé╡
  504. é─ â~âXé╔ïCé¬é┬éóé╜é⌐ é╞éóéñé╞üAÄ└é═üAVersion Upé≡é╡éµéñé╞üAÄvéóé▄é╡é─üA
  505. âeâXâgüEâPü[âXé≡æ¥éΓé╡é─é▌é─üAïCé¬é┬é½é▄é╡é╜üB
  506.  
  507.   ìíë±é═üAé╗é╠ Version Upé┼é╖üB Iconé╠ tableé═üAAWKé┼éóéñ ÿAæzözù±é┼é╖üB
  508. tableé═üAkey é╞ valueé≡Ä¥é┴é─éóé▄é╖üB  æOé╠ programé┼é═üAvalueé╡é⌐ò\Īé╡
  509. é▄é╣é±üB
  510.   x2treeé═üAprogramé╠ô«ì∞èmöF é╠é╜é▀é╠ toolé╞é╡é─ì∞éΦé▄é╡é╜é¬üA
  511.  
  512.           tableé┼é═üAvalueò\Īé╛é»é┼é╚é¡üAkeyò\Īéαù~é╡éóüI
  513.  
  514.   é╞éóéñé▒é╞é┼üAkeyò\Īé≡Æ╟ë┴é╡é▄é╖üB
  515.  
  516.   Å«üAIconé┼é═üAkeyé╔éα ì\æóæ╠(list,set,table)é¬üAÄgéªé▄é╖üB
  517.   é╡é⌐é╡üAkeyé╔ ì\æóæ╠é≡Ägé┴é─éαüAé╗é┐éτé═ treeò\Īé═é╡é▄é╣é±üB
  518.   üié╗é±é╚ òíÄG treeò\Īé═üAÄvéóé┬é⌐é╚éóéµü`üBüj
  519.  
  520. -----^ X2TREE06.ICN ( date:97-05-05 time:03:26 ) -----------<cut here
  521. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
  522. # x2tree06.icn Rev.1.1 1997/05/05 windy
  523. # x2tree05.icn é╔é─üAtableé╠ÅΩìçé═ keyò\Īé≡Æ╟ë┴é╡é╜éαé╠üB
  524. # This file is in the public domain.
  525. link jimage
  526.  
  527. procedure x2t(x)
  528. # generator
  529. # topé╠Åêù¥
  530.   suspend "<" || type(x) || " " || string(serial(x)) || ">"
  531.                                          #ü¬listé╠ serial No
  532.   suspend "  " || x2tree(x,"")
  533.                           #ü¬Åëè·ë╗âtâëâO
  534. end
  535.  
  536. procedure x2tree(x,init)
  537. # generator
  538. # show the tree structure of x
  539.   static T      # serial No ôoÿ^ùp setôoÿ^ùp table    staticÉΘî╛é≡ é╡é─
  540.                 # é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
  541.   if \init then {   # Åëè·ë╗é≡ initialé┼éΓéΘé╞üAô»é╢ programôαé┼ò╩é╠
  542.                     # ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2té≡ î─é±é╛Ä₧é╔
  543.                     # Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘé╠é┼üAâtâëâOé┼Åëè·ë╗ÄwĪ
  544.     T := table()       
  545.     T["list"]  := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
  546.     T["set"]   := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
  547.     T["table"] := set()
  548.     if (t := type(x)) == ("list" | "set" | "table")
  549.     then insert(T[t],serial(x))    # serial Noé≡ T[type(x)]é╔ôoÿ^
  550.   }
  551.  
  552.   n := *x                   # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
  553.  
  554.   if (tt := type(x)) ~== "table" then { # not table
  555.     every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
  556.       n -:= 1
  557.       t  := type(xx)
  558.       val_disp := if t == ("list" | "set" | "table")
  559.               then "+ <" || t || " " || string(m := serial(xx)) || ">"
  560.               else "+ " || left(t,7)  || jimage(xx)
  561.  
  562.       case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  563.         "string"            : suspend val_disp
  564.         #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  565.         "list" | "set" | "table" : {
  566.           #ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
  567.           if not member(T[t],m) then {
  568.             insert(T[t],m)    # serial Noé≡ T[type(xx)]é╓ôoÿ^
  569.             suspend val_disp
  570.             suspend (if n > 0 then "|   " else "    ") || x2tree(xx)
  571.                               #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[     # ì─ïAü¬
  572.             delete(T[t],m)    #ü⌐serial No ôoÿ^é≡ìφÅ£
  573.           }
  574.           else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  575.             return val_disp || " (Recursion)"
  576.           }
  577.         }
  578.         #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  579.         default             : suspend val_disp
  580.       }
  581.     }
  582.   }
  583.  
  584.   else { # table
  585.     every xkey := key(x) do {       # tableé╠ keyé≡éPé┬ é├é┬ĵéΦÅoé╖
  586.       n -:= 1
  587.       tk := type(xkey)
  588.       xx := x[xkey]
  589.       t  := type(xx)
  590.       val_disp := if t == ("list" | "set" | "table")
  591.               then "+ <" || t || " " || string(m := serial(xx)) || ">"
  592.               else "+ " || left(t,7)  || jimage(xx)
  593.       key_disp := if tk == ("list" | "set" | "table")
  594.               then " <- <" || tk || " " || string(serial(xkey)) || ">"
  595.               else " <- " || left(tk,7) || jimage(xkey)
  596.  
  597.       case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  598.         "string" : suspend val_disp || key_disp
  599.  
  600.         #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  601.         "list" | "set" | "table" : {
  602.           #ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
  603.           if not member(T[t],m) then {
  604.             insert(T[t],m)    # serial Noé≡ T[type(xx)]é╓ôoÿ^
  605.             suspend val_disp || key_disp
  606.             suspend (if n > 0 then "|   " else "    ") || x2tree(xx)
  607.                               #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[     # ì─ïAü¬
  608.             delete(T[t],m)    #ü⌐serial No ôoÿ^é≡ìφÅ£
  609.           }
  610.           else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  611.             return val_disp || key_disp || " (Recursion)"
  612.           }
  613.         }
  614.         #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  615.         default  : suspend val_disp || key_disp
  616.       }
  617.     }
  618.   }
  619.  
  620. end
  621.  
  622. # test driver
  623. procedure main()
  624.   #listé╠ test
  625.   L1 := ["A","B"]
  626.   L2 := ["C","D"]
  627.   L3 := ["E","F"]
  628.   put(L1,L2)
  629.   put(L2,L3)
  630.   put(L1,L3)               # ò╩Ä} test
  631.   put(L3,L1)               # listé╠ì─ïA
  632.   every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  633.  
  634.   write()
  635.   #tableé╠ test
  636.   T := table()
  637.   T["A"] := "G"
  638.   T["C"] := L2[1]
  639.   T["E"] := L3
  640.   T[L1] := L1[1]
  641.   put(L3,T)                # tableé╠ì─ïA
  642.   every write(x2t(T) \20)
  643.  
  644.   write()
  645.   #seté╠ test
  646.   L4 := ["H","I"]
  647.   S1 := set(["L","M"])
  648.   S  := set(["J","K",L4])
  649.   insert(S,S1)
  650.   insert(S1,S)             # seté╠ì─ïA
  651.   every write(x2t(S) \20)
  652.  
  653. end
  654. -----$ X2TREE06.ICN ( lines:133 words:507 ) ----------------<cut here
  655.  
  656.   ìsÉöɺî└鬠éáéΦé▄é╖é╠é┼üAîïë╩é═ăë±é╔üB
  657.  
  658. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  659. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  660. BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
  661. (icon_304.txt 1997/05/05 PCVAN PIG)
  662.  
  663. üí  Icon > IconÄUòαô╣üiéTüj ì─é╤ ì\æóæ╠treeò\ĪüiéRüjòùé┬é⌐éó
  664.  
  665.   x2treeé╔üAtableé╠ keyò\Īé≡Æ╟ë┴é╡é╜ programé╠ô«ì∞îïë╩é┼é╖üB
  666.   tableé╠òöò¬é¬üAÄßè▒üAì¼é▌éáé┴é╜ò\Īé╔é╚éΦé▄é╖é¬üAtest toolé┼é╖é╠é┼üA
  667.  
  668.                        é▄éáüAéóé±é╢éßé╚éóüB
  669. é╞üAö[ô╛é╡é▄é╡éσéñüB
  670.  
  671. -----^ X2TREE06 ( date:97-05-05 time:03:26 ) ---------------<cut here
  672. <list 1>
  673.   + string "A"
  674.   + string "B"
  675.   + <list 2>
  676.   |   + string "C"
  677.   |   + string "D"
  678.   |   + <list 3>
  679.   |       + string "E"
  680.   |       + string "F"
  681.   |       + <list 1> (Recursion)
  682.   + <list 3>
  683.       + string "E"
  684.       + string "F"
  685.       + <list 1> (Recursion)
  686.  
  687. <table 2>
  688.   + string "C" <- string "C"
  689.   + <list 3> <- string "E"
  690.   |   + string "E"
  691.   |   + string "F"
  692.   |   + <list 1>
  693.   |   |   + string "A"
  694.   |   |   + string "B"
  695.   |   |   + <list 2>
  696.   |   |   |   + string "C"
  697.   |   |   |   + string "D"
  698.   |   |   |   + <list 3> (Recursion)
  699.   |   |   + <list 3> (Recursion)
  700.   |   + <table 2> (Recursion)
  701.   + string "A" <- <list 1>
  702.   + string "G" <- string "A"
  703.  
  704. <set 8>
  705.   + string "K"
  706.   + <list 44>
  707.   |   + string "H"
  708.   |   + string "I"
  709.   + <set 7>
  710.   |   + string "M"
  711.   |   + string "L"
  712.   |   + <set 8> (Recursion)
  713.   + string "J"
  714. -----$ X2TREE06 ( lines:42 words:167 ) ---------------------<cut here
  715.  
  716.   keyé╔üAì\æóæ╠é≡ Ägé┴é╜ÅΩìçé┼éα keyé╠ typeò\Īé╠ë║é╔üAtreeé≡ì∞éΩé╬ù╟éó
  717. éµéñé╚ïCé¬é╡é▄é╖üB  é╞éΦéáéªé╕üAïCé¬é┬é⌐é╚é⌐é┴é╜é▒é╞é╔é╡éµéñüBüiÅ╬üj
  718.   üitableé╠ùvæfé╔ é▄é╜ tableé¬Åoé─é¡éΘâPü[âXé╚é±é⌐üAâcâëâCé╛éδéñé╡üBüj
  719.  
  720. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  721. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  722. BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
  723. (icon_305.txt 1997/05/05 PCVAN PIG)
  724.  
  725. üí  Icon > IconÄUòαô╣üiéUüj ì─é╤ wild.icnüiéPüj      òùé┬é⌐éó
  726.  
  727.   ï▀é▓éδüA"ì─é╤" é╞éóéñâ^âCâgâïé¬æ╜éóé┼é╖é╦ü`üBéñü`é▐üBê╚æOé╠ìuì└é╠â~âX
  728. é¬üAé▌é┬é⌐éΘé╠é¬æ╜éóé╚ü`üB
  729.  
  730.   é╞éóéñé▒é╞é┼üAìíë±é═ Iconôⁿûσìuì└üiéPéUüjé┼ ì∞é┴é╜ wild.icné╠ÅCÉ│ö┼é┼
  731. é╖üB
  732.  
  733.   Iconé╠ Program ùßéªé╬üAabcd.icné≡ compileé╡é─üAô«é⌐é╡é╜îïë╩é╠fileû╝é≡
  734. ê╚æOé═üAabcd.txté╞é╡é─éóé╜é±é┼é╖é¬üAtxté╠ègÆúÄqé≡é┬é»éΘé╠éαû╩ô|é╞éóéñé▒
  735. é╞é┼üAï▀é▓éδé═üAé╜é╛ abcdé╞é╡é─éóé▄é╖üB
  736.  
  737. é▒éΩé≡üAYABî`Ä«é╔é╡éµéñé╞üAIYABüiIconôⁿûσìuì└üiéPéWüjüjé≡ô«é⌐é╖é╞é╟éñéα
  738. îïë╩é¬âIâJâVé¡é╚éΦé▄é╖üB
  739.  
  740.   Æ▓é╫é─é▌é▄é╖é╞üAIYABé═üAègÆúÄqû│é╡é╠ fileû╝é≡ÄwÆΦé╖éΘé╞é¿é⌐é╡é¡é╚éΦé▄
  741. é╖üB
  742.   ìXé╔Æ▓é╫éΘé╞üAiyab.icné═üAwild.icné≡ linké╡é─éóé▄é╖é¬üAwild.icné┼è∙é╔
  743. âIâJâVâCüB  éáéΩéΩüAwild.icné═üAègÆúÄqé╚é╡é╠ fileû╝é╠ÄΦôûé≡é╡é─éóé╜é═é╕
  744. é╛é⌐üHüHüH  é╞üAÄvé┴é─üAù╟é¡é▌éΘé╞üAéáéΩé▄üAâ~âXâRü[âfâBâôâO é≡é╡é─éóé▄
  745. é╖üB
  746.             if not upto('.',line) then line ||= "."
  747.  
  748. é╞éóéñâ~âXé≡éΓéτé⌐é╡é─éóé▄é╡é╜üB  é┬éñüAé▒é╞é┼üAÅCÉ│ö┼é┼é╖üB
  749.  
  750. -----^ WILD.ICN ( date:97-05-10 time:00:42 ) ---------------<cut here
  751. # wild cards fileÄwÆΦ é╠ fileé╠Åεò±é≡ "dir" é≡ö¡ìsé╡é─ Æ▓é╫é─
  752. # listé╔é╡é─ ò╘é╖üB
  753. # response fileéαÄwÆΦë┬üB(@file_list)
  754. # Iconôⁿûσìuì└üiéPéUüjé≡ÄQÅ╞é╡é─ë║é│éóüB
  755. # This file is in the public domain.
  756. # wild.icn Ver.1.5 1997/05/10 windy commentÅCÉ│üiê°Éöé═ listüj
  757. # wild.icn Ver.1.4 1997/05/05 windy ègÆúÄqû│é╡ÄΦôûÅCÉ│ "||=" ü¿ "||:="
  758. # wild.icn Ver.1.1 1996/10/26 windy
  759. #
  760. # Usage: wild([file(s) or @file_list_file])
  761. #        sortf(wild([file(s) or @file_list]),1)   fileû╝é┼ sorté╖éΘÄ₧
  762. #        Æìê╙üFê°é½Éöé═ listé╚é╠é┼üAè╘êßéªé╚éóé▒é╞üB
  763. # value: [i][1] full pathòté½ fileû╝üA[i][2] file size
  764. #        [i][3] ô·òtüA[i][4] Ä₧ìÅ      i : 1 ü`  fileé╠Éö
  765. # èYôû fileé¬û│é»éΩé╬Ä╕ös(fail)
  766. link dir2lst                     # ü⌐ Iconôⁿûσìuì└ é╔è▄é▄éΩé─éóé▄é╖üB
  767.  
  768. procedure wild(args)
  769. ###################
  770. # fileÄwÆΦ commandìsÅêù¥
  771. ###################
  772.   tmp   := "$$$tmp.$$$"                 # temporary fileû╝É▌ÆΦ
  773.   if s := getenv("TMP") then tmp := s || "\\" || tmp
  774.   #ü¬è┬ï½ò╧Éöé╔ temporary directoryé¬É▌ÆΦé╡é─éáéΩé╬
  775.                                         # fileû╝ é╠æO é╔Æ╟ë┴
  776.   fn_list := []                         # fileû╝ôÖ èiö[ list
  777.  
  778. # command lineé╠ fileÄwÆΦ é≡éαé╞é╔üA"dir" commandé≡ö¡ìsé╡üAtmpé╓üB
  779.   if *args = 0 then fail                # fileÄwÆΦé╚é╡
  780.     else {
  781.     every arg := !args do {  # command lineê°Éö listé⌐éτÅçé╔ĵéΦÅoé╡üB
  782.       case arg[1] of {       # caseé≡Ägé┴é─é▌é╜é⌐é┴é╜é╠é╛üB
  783.         "@"      : {     # response fileÄwÆΦ
  784.           dir := open(arg[2:0]) | stop("cannot open " || arg[2:0])
  785.           while line := read(dir) do {
  786.             if not upto('.',line) then line ||:= "."  # Rev.1.4
  787.             #ü¬ ègÆúÄqé¬û│éóÄ₧é╔é═üA "."é≡Æ╟ë┴üB
  788.             system("dir " || line || " >>" || tmp)    # "dir"ö¡ìs
  789.           }
  790.           close(dir)
  791.         }
  792.         default  : {     # fileÄwÆΦ
  793.           if not upto('.',arg) then arg ||:= "."      # Rev.1.4
  794.            system("dir " || arg || " >>" || tmp)      # "dir"ö¡ìs
  795.         }
  796.       } # end of case
  797.     } # end of every
  798.   } # end of else
  799.  
  800.   dir := open(tmp) | stop("cannot open " || tmp) # fileâIü[âvâô
  801.  
  802. # "dir" é╠îïë╩èiö[ fileé⌐éτüAfileÄwÆΦòöò¬é≡ ö▓é½Åoé╡é─ listé╓üB
  803.   while line := read(dir) do            # tmp fileé⌐éτéPìsé├é┬ô╟ì₧üB
  804.     put(fn_list,dir2lst(line))          # fileÅεò±é≡ö▓é½Åoé╡é─üA
  805.                                         # listé╓èiö[
  806.   close(dir)
  807.   remove(tmp)                           # Å╪ïÆëBû┼
  808. ####################
  809. # commandë≡É═ÅIù╣
  810. ####################
  811.   if *fn_list = 0 then fail             # èYôû fileû│é╡
  812.   else return fn_list
  813.  
  814. end
  815. -----$ WILD.ICN ( lines:65 words:298 ) ---------------------<cut here
  816.  
  817.   test programé┼éαüAtest caseé≡ ùÄé╞é╡é─éóé▄é╖é╠é┼üAÆ╟ë┴é╡é▄é╡é╜üB
  818.  
  819. -----^ WILD~.ICN ( date:97-05-08 time:23:07 ) --------------<cut here
  820. # a test driver and a stub for wild.icn
  821. # Usage: wild~ > wild.rst
  822. # Rev.1.2 1997/05/05 windy ègÆúÄqû│é╡é╠âeâXâgâPü[âXÆ╟ë┴
  823. # Rev.1.1 1996/12/01 windy
  824. # This file is in the public domain.
  825. link wild, show_l
  826. procedure main()
  827.   write("test for wild.icn\n")
  828.  
  829.   # "abc" é╞éóéñû╝æOé╠âtâ@âCâïé═æ╢ì▌é╡é╚éóé▒é╞üB
  830.   write((L := ["abc"])[1])
  831.   show_wl(wild(L)) | write(L[1],"é═î⌐é┬é⌐éτé╚éóüB\n")
  832.  
  833.   # wild card
  834.   write((L := ["*.*"])[1])
  835.   show_wl(wild(L))
  836.  
  837.   write((L := ["*.icn"])[1])
  838.   show_wl(wild(L))
  839.  
  840.   write((L := ["wi*.*"])[1])
  841.   show_wl(wild(L))
  842.  
  843.   # response file
  844.   write((L := ["@WILD_FL.DAT"])[1])
  845.   show_wl(wild(L))
  846.  
  847.   # òíÉöÄwÆΦ
  848.   every writes(" ",!(L := ["*.icn","*.dat"])) ; write()
  849.   show_wl(wild(L))
  850.  
  851.   # "AAA", "AAA.TXT" é╠ éQé┬é╠ fileé≡ùpê╙é╡é─é¿é¡é▒é╞üB
  852.   every writes(" ",!(L := ["AAA"])) ; write()   # Æ╟ë┴ Rev.1.2
  853.   show_wl(wild(L))
  854.  
  855.   write((L := ["wild~.*"])[1])
  856.   show_wl(wild(L))
  857.  
  858. end
  859. -----$ WILD~.ICN ( lines:39 words:102 ) --------------------<cut here
  860.  
  861.   é╞éóéñé╛é»é┼é═üAâVâââNé╚é╠é┼üAăë±é═üAwildé╠ë₧ùp programé≡üB
  862.  
  863. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  864. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  865. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  866. (icon_306.txt 1997/05/10 PCVAN PIG)
  867.  
  868. üí  Icon > IconÄUòαô╣üiéVüj ì─é╤ wild.icnüiéQüj      òùé┬é⌐éó
  869.  
  870.   éoéhéfìLÅΩé╠ò√é┼üAfileé╠û╝æOé╞ègÆúÄqé≡ ôⁿéΩè╖éªéΘ ÿbæΦ鬠Åoé─éóé▄é╖üB
  871.   é╗é╠âlâ^é≡éóé╜é╛éóé─üAIconé┼éΓé┴é╜éτé╞éóéñé▒é╞é┼üAprogramé≡ ì∞é┴é─é▌é▄
  872. é╡é╜üB
  873.  
  874.   Iconé╔é═üAfileé╠ renameè╓Éöé¬éáéΦé▄é╖üB wild.icné┼üAèYôû fileé≡ ÆTé╡é─
  875. renameè╓Éöé┼üArenameé╖éΘé╞éóéñ programé┼é╖üB
  876.   é▒é╠ programé┼é═üAlog.* âtâ@âCâïé╠ègÆúÄqé╞âtâ@âCâïû╝é≡ôⁿéΩè╖éªüAé╗é╠îπ
  877. éαéñéPôxüAôⁿéΩè╖éªé─üAî│é╔û▀é╡é─éóé▄é╖üB
  878.  
  879. -----^ REN01.ICN ( date:97-05-10 time:00:37 ) --------------<cut here
  880. # log.*  fileé╠  fileû╝é╞ègÆúÄq  é╠î≡è╖
  881. # ren01.icn 1997/05/10 windy
  882. # This file is in the public domain.
  883. link wild, split, top         # ü⌐Iconôⁿûσìuì└é╔éáéΘ procedure
  884.  
  885. procedure main()
  886.   L := wild(["log.*"])        # log.* é╠ file listôⁿÄΦ
  887.   name_ex(L)                  # fileû╝é╞ ègÆúÄqû╝é≡ î≡è╖
  888.  
  889.   L := wild(["*.log"])        # *.log é╠ file listôⁿÄΦ
  890.   name_ex(L)                  # fileû╝é╞ ègÆúÄqû╝é≡ ì─é╤î≡è╖
  891.                               # üiî│é╔û▀é╖üBüj
  892. end
  893.  
  894. # fileû╝é╞ègÆúÄq  é╠î≡è╖
  895. procedure name_ex(L)
  896.   if /L then return           # èYôû fileû│é╡
  897.   write("\nfileû╝<->ègÆúÄq")
  898.   every LL := !L do {
  899.     s := top_cut("\\",LL[1])      # î╗fileû╝é⌐éτ directoryòöé≡ ìφÅ£
  900.                     # ü¬fileû╝
  901.     LLL := split(s,".")           # fileû╝é≡ "."é┼ò¬èäé╡é─ listé╓
  902.     write(s," -> ",s2 := LLL[2] || "." || LLL[1]) # ô«ì∞âéâjâ^ü[
  903.                        #ü¬ègÆúÄq          ü¬fileû╝
  904.     rename(s,s2)                  # rename
  905.   }
  906.   return
  907. end
  908. -----$ REN01.ICN ( lines:28 words:109 ) --------------------<cut here
  909.  
  910.   é▒é╠ programé≡ ì∞é┴é─éóéΘì┼Æåé╔ ô«é⌐é╚ü`éóüBüIüH é╞  öYé±é┼éóé▄é╡é╜é¬
  911. wild.icné╠ê°Éöé═ listé╚é╠é╔üAstringé╞è¿êßéóé╡é─éóé▄é╡é╜üB
  912.   ìíîπé═üAè╘êßéªé╚éóéµéñé╔é╞üAwild.icné╔üAcommenté≡Æ╟ë┴é╡é▄é╡é╜üB
  913.  
  914.   ô«ì∞âéâjâ^ü[ùpÅoù═é≡ fileé╔ ùÄé╞é╡é╜éαé╠é┼é╖üB
  915. -----^ REN01 ( date:97-05-10 time:00:40 ) ------------------<cut here
  916.  
  917. fileû╝<->ègÆúÄq
  918. LOG.97 -> 97.LOG
  919. LOG.95 -> 95.LOG
  920. LOG.96 -> 96.LOG
  921.  
  922. fileû╝<->ègÆúÄq
  923. 95.LOG -> LOG.95
  924. 96.LOG -> LOG.96
  925. 97.LOG -> LOG.97
  926. -----$ REN01 ( lines:10 words:20 ) -------------------------<cut here
  927.  
  928.   testùpé╔ùpê╙é╡é╜üAâtâ@âCâïé┼é╖üB
  929. -----^ LOG.95 ( date:97-05-10 time:00:39 ) -----------------<cut here
  930. 95
  931. -----$ LOG.95 ( lines:1 words:1 ) --------------------------<cut here
  932. -----^ LOG.96 ( date:97-05-10 time:00:39 ) -----------------<cut here
  933. 96
  934. -----$ LOG.96 ( lines:1 words:1 ) --------------------------<cut here
  935. -----^ LOG.97 ( date:97-05-10 time:00:39 ) -----------------<cut here
  936. 97
  937. -----$ LOG.97 ( lines:1 words:1 ) --------------------------<cut here
  938.  
  939.   é▄é╛üA"ì─é╤" é╠ÿbæΦé═ æ▒é½é▄é╖üB
  940.  
  941. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  942. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  943. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  944. (icon_307.txt 1997/05/10 PCVAN PIG)
  945.  
  946. üí  Icon > IconÄUòαô╣üiéWüj ì─é╤ dir2tree            òùé┬é⌐éó
  947.  
  948.   â~âXé¬æ╜éó é╞î╛éóé┬é┬üAæèò╧éφéτé╕üAéΓé┴é─éóé▄é╖é╦ü`üB
  949.           ì─é╤ wild.icnüiéVüj->  ì─é╤ wild.icnüiéQüj  é┼é╖é╦üB
  950.   üié▒é╠âeâLâXâgé┼é═Æ╝é┴é─éóé▄é╖üBüj
  951.  
  952.   é╞é▒éδé┼üAIconôⁿûσìuì└âVâèü[âYé≡üAâAâèâ]âiæσèwé╠ Icon-WEBé╔ Æuéóé─Æ╕é¡
  953. éµéñé╔üAIconôⁿûσìuì└ (ICON_LEC.LZH)é╞ Iconô·ïL (ICONLEC2.LZH) é╠  fileé≡
  954. Icon Projecté╔üAæùé┴é─é¿èΦéóé╡é─éóé╜é±é┼é╖é¬üAÆuéóé─Æ╕é»é▄é╡é╜üBÅΩÅèé═üA
  955.  
  956.             ftp://ftp.cs.arizona.edu/icon/contrib/Japanese/
  957.  
  958.   é┼é╖üB /icon/contrib/ é═ è±æí program (contribution)é╠ directoryé┼é╖üB
  959. é▒é▒é╔üAJapaneseé╞éóéñ directoryé≡ì∞é┴é─éóé╜é╛é½é▄é╡é╜üB
  960.  
  961.   ëpò╢é╚éτ E-mailé⌐ FTPé┼üAæùéΩé╬éóéóé±é┼é╖é¬üAô·û{îΩé╠ SHIFT-JISé╠ file
  962. é┼é╖é╠é┼üAprinté╡é╜éαé╠é╞üAéeécé≡æùé┴é─é▌é▄é╡é╜üB
  963.   é╞é─éαüAæSò╢é≡ëpû≤é╖éΘù═é═üAéáéΦé▄é╣é±é╠é┼üA
  964.  
  965.      üu printed materialé╠ programé╠òöò¬é┼ ôαùeé═ æzæ£é╡é─ë║é│éóüBüv
  966.  
  967. é╞ é¿èΦéóé╡é╜ò╢Å═é≡üAÄlïΩö¬ïΩé╡é─ Åæé½é▄é╡é╜üBüiè╛üj
  968.  
  969. ï▀é▓éδüAâJâ^âJâiòöò¬é≡ é╚éΘé╫é¡ ëpîΩé┼Åæéóé─éóé▄é╖鬠é╗éΩé═ Icon Project
  970. é┼üAôαùeé≡ æzæ£é╡éΓé╖éóéµéñé╔ é╞éóéñé▒é╞é┼üAéΓé┴é─éóé▄é╖üBüiéáé═é═üj
  971.  
  972.   ôαùeé═üAé▒é┐éτé╔âAâbâvé╡é╜éαé╠é╞ ûwé╟ô»é╢é┼é╖üBüié╗é╠îπ é▌é┬é⌐é┴é╜ò╢Å═
  973. éΓÆ╘éΦüiô┴é╔ëpîΩüjé╠îδïLé≡æ╜Å¡ ÅCÉ│é╡é─éóé▄é╖üBprogramÄ⌐æ╠é═ô»é╢é┼é╖üBüj
  974.  
  975.   é│é─üAìíë±é═üAIconÄGïLÆáüiéQéOüjü`üiéQéQüjé┼üAéΓéΦé▄é╡é╜ dir2tree é╠ÅC
  976. É│é┼é╖üB
  977.  
  978.   dir2treeé═üAÄäé╠égécécé╠ Iconè╓îW directoryé╠Æåé╠ sub-directoryé┼ test
  979. é╡é▄é╡é╜üB é┼ Éµô·üAIconÄGïLÆáé╠ fileé≡üAIcon-Projecté╠æùéδéñé╞ é╗é╠éeéc
  980. é╠ directory treeé≡üAò\Īé╡éµéñé╞é╡é▄é╡é╜éτüAprogramé¬üAâRâPé▄é╡é╜üB
  981.  
  982.                     root directoryé╢éßüAô«é⌐é╚é╨ü`üB
  983.  
  984.   dir /s é╠ command é≡ Ä└ìsé╡é╜é╞é½é╔üA
  985.      üEroot directoryé┼é═ A:\é╞é⌐ directoryû╝Å╠é╠îπéδé╔üA\ é¬üAé┬é½é▄é╖é¬
  986.      üEsub-directoryé┼é═üAé┬é½é▄é╣é±üB
  987.   \ é¬é┬é¡ caseé╠ÄΦôûé≡ûYéΩé─éóé▄é╡é╜üBé┬éñé▒é╞é┼üAé╗é╠ô_é≡ÅCÉ│é╡é▄é╡é╜üB
  988.  
  989. -----^ D2TREE.ICN ( date:97-05-10 time:00:48 ) -------------<cut here
  990. # âfâBâîâNâgâèü[é≡ treeò\Īé╖éΘüB
  991. # d2tree.icn Ver.1.1 1997/05/10 windy
  992. # This file is in the public domain.
  993. # IconÄGïLÆáüiéQéOüjü`üiéQéQüjé╠ dir2tree.icn é╠ root directoryé╠æ╬ë₧
  994. # ÿRéΩé≡ÅCÉ│é╡é╜üBüiroot directoryé╛é»é═ directoryû╝Å╠é╔ "\\"é¬òté¡üBüj
  995. # Usage : d2tree directory_name
  996. # "dir /s" é≡ö¡ìsé╡é─ ô╛é╜ âfâBâîâNâgâèü[Åεò±é≡ tree ò\Īé╖éΘüB
  997. link x2tree07      # testùp
  998.  
  999. procedure main(args)
  1000.   #######################
  1001.   # directoryÅεò±é≡ô╛éΘüB
  1002.   #######################
  1003.   dir_name := if *args > 0 then args[1] else ""
  1004.   tmp   := "$$$tmp.$$$"        # âeâôâ|âëâèâtâ@âCâïû╝É▌ÆΦ
  1005.   # ü½è┬ï½ò╧Éöé╔üAâeâôâ|âëâèü[âfâBâîâNâgâèû╝é¬üAÉ▌ÆΦé╡é─éáéΩé╬âtâ@âCâïû╝
  1006.   #   é╠æOé╔Æ╟ë┴
  1007.   if s := getenv("TMP") then tmp := s || "\\" || tmp
  1008.   # âRâ}âôâhâëâCâôé╠ âfâBâîâNâgâèü[û╝ÄwÆΦ é≡éαé╞é╔üA"dir /s" âRâ}âôâh é≡
  1009.   # ö¡ìsé╡é─ tmpé╓Åoù═
  1010.   system("dir /s " || dir_name || " >" || tmp)
  1011.  
  1012.   # directory data sample ü½é▒é±é╚âfü[â^鬠tmpé╔èiö[é│éΩé▄é╖üB
  1013.   #1              16
  1014.   #âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A
  1015.   #
  1016.   #.              <DIR>        97-04-29  21:51 .
  1017.   #..             <DIR>        97-04-29  21:51 ..
  1018.   #TEST_B         <DIR>        97-04-29  21:52 TEST_B
  1019.   #BBB      TXT            10  97-04-29  21:56 BBB.TXT
  1020.   #TEST_CCC TXT            15  97-04-29  21:57 TEST_CCC.TXT
  1021.   #TEST_C         <DIR>        97-04-29  21:55 TEST_C
  1022.   #AAA                      6  97-04-29  21:56 AAA
  1023.   #         3 î┬                  31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖ 
  1024.   #  
  1025.   #êΩùùé╠âtâ@âCâïæìÉö:
  1026.  
  1027.   ######################
  1028.   # dir /s (dir_name)îïë╩é⌐éτüAdirectoryûêé╠Åεò±é≡ listé╓ ôoÿ^
  1029.   ######################
  1030.   dir := open(tmp) | stop("cannot open " || tmp)    # tmpâtâ@âCâïâIü[âvâô
  1031.   L_dir := []               # directoryÅεò±ôoÿ^ùp list
  1032.   T_dir := table()          # sub-directory listÄQÅ╞ table
  1033.  
  1034.   while line := read(dir) do {
  1035.     # directoryÅεò±é≡ directoryûêé╔üAêΩÆU list(LL)é╔é▄é╞é▀é─üAôoÿ^é╖éΘüB
  1036.     line ? {
  1037.                         #ü½listé╔é▄é╞é▀é╜ directoryÅεò±é≡ôoÿ^
  1038.       if find("î┬") then put(\T_dir[c_dir] | L_dir,LL) 
  1039.                             #ü¬tableé╔ c_diré¬æ╢ì▌é╖éΩé╬
  1040.       if match(" ") then next          # é▓é▌ìsé≡û│Äï
  1041.       if match("êΩ") then break        # "êΩùùé╠üDüDüD"é¬ùêé╜éτÅIéφéΦ
  1042.       L := p_split()                   # lineé≡ " "é┼ò¬èäü¿[1]:èJÄnê╩Æu
  1043.                                        #                   [2]:ùvæf
  1044.            #ü½lineé╠éPö╘û┌é╠ùvæf
  1045.       case L[1][2] of {
  1046.         "âfâBâîâNâgâèé═" : {
  1047.           LL := []  # directory data buffer
  1048.           #  ü½lineé╠éQö╘û┌é╠ùvæfé╠èJÄnê╩Æu
  1049.           if line[-1] == "\\" then c_dir := line[L[2][1] : -1] # rootæ╬ë₧
  1050.                               else c_dir := line[L[2][1] :  0] #
  1051.           put(LL,[c_dir])
  1052.           #ü¬listé╔é╡é─ LLé╔Æ╟ë┴
  1053.         }
  1054.         "."        : next              # û│Äï
  1055.         ".."       : put(LL[1],line)   # é╗é╠ directoryÄ⌐Égé╠Åεò±üB
  1056.                                        # âgâbâvé╠ directoryê╚èOé┼é═òKùv
  1057.                                        # é╚éóé¬üAæSé─é╔é┬é½èiö[
  1058.         default    : { if find("<DIR>")  # sub-directoryé╛é┴é╜éτ
  1059.                        then {
  1060.                          put(LL,LLL := [line]) # ôαùeé≡ bufferé╔Æ╟ë┴
  1061.                          insert(T_dir,c_dir || "\\" || L[1][2] ,LLL)
  1062.                          # ü¬sub-directoryû╝Å╠é≡ keyé╔é╡é─ tableé╓ôoÿ^
  1063.                        }
  1064.                        else put(LL,line) # Æ╩Åφ fileé╚éτé╗é╠é▄é▄Æ╟ë┴
  1065.                      }
  1066.       } # end of case
  1067.     } # end of line ?
  1068.   } # end of while
  1069.   close(dir)
  1070.   remove(tmp)                          # delete tmp
  1071.  
  1072.   #######################
  1073.   # directoryÅεò±é╠ò\Ī
  1074.   #######################
  1075. #  every write(x2t(L_dir) \25)              # list ôαùeèmöFùpò\Ī
  1076. #  every write(x2t(T_dir) \25)              # tableôαùeèmöFùpò\Ī
  1077. #  stop()
  1078.   every write(d2t(L_dir))
  1079.  
  1080. end
  1081.  
  1082. ########################
  1083. # directory treeò\Ī
  1084. ########################
  1085. procedure d2t(L)
  1086. # top directoryé╠û╝æOü^time_stampÅêù¥
  1087.   L1 := get(L)    # Lé╔é═éPî┬é╡é⌐ùvæfé¬û│éóüBé╗éΩé≡ĵéΦÅoé╖üB
  1088.   L2 := get(L1)   # é╗é╠é▄é╜ top (directory_name,time_stamp)é≡ĵéΦÅoé╖üB
  1089.  
  1090.   dir_top := L2[2][14:-3] | "\\       <DIR>"
  1091.   # top directoryé╠û╝æOé╞ time stamp      ü½root directoryæ╬ë₧
  1092.   suspend L2[1] || dir_top
  1093.   suspend "  "  || d2tree(L1)     # treeë╗Åêù¥
  1094.   #       ü¬treeÅæÅoé╡Åëè·ê╩Æu
  1095. end
  1096.  
  1097. procedure d2tree(L)
  1098. # directoryé╠Åêù¥
  1099. # show the tree structure of directory
  1100.   n := *L                   # Lé╠ sizeüiûûö÷ùvæfîƒÅoùpüj
  1101.   every LL := !L do {       # listé╠ùvæfé≡éPé┬é├é┬ĵéΦÅoé╖
  1102.     n -:= 1                 # ùvæfâJâEâôâ^ü|éP
  1103.     case t := type(LL) of { # ùvæfé╠ typeé╔éµéΦüA
  1104.       "string"  : suspend "+ " || LL        # file
  1105.       "list"    : {                         # sub-directory
  1106.         suspend "+ " || get(LL)             # sub-directoryÄ⌐æ╠ò\Ī
  1107.         LLL := get(LL)                      # sub-directoryé╠ÆåÉgé≡ĵéΦÅoé╡
  1108.         get(LLL)                            # Éµô¬ùvæfé≡ô╟é▌ö≥é╬é╡
  1109.                 #ü½ì┼îπé╠ùvæfé┼é╚éóé╚éτ
  1110.         suspend (if n > 0 then "|   " else "    ") || d2tree(LLL)
  1111.       }
  1112.       default   : stop("error")
  1113.     }
  1114.   }
  1115. end
  1116.  
  1117. ########################
  1118. # stringé≡ cé≡ïµÉ╪éΦé╔é╡é─ò¬èäé╡é─üAèJÄnê╩Æué╞ùvæfé≡ò╘é╖üB
  1119. ########################
  1120. # ô«ì∞é═üAIconôⁿûσìuì└üiéVüj Iconé╠ô┴ÆÑüiéTüjâXâLâââôé≡ÄQìlé╔é╡é─ë║é│éóüB
  1121. procedure p_split(line,c)
  1122.   /c := ' \t'                               # default
  1123.   /line := &subject                         # default
  1124.   list := []                                # û▀éΦÆlùp list
  1125.   line ? {
  1126.     while tab(ps := upto(~c)) do
  1127.       put(list,[ps,tab(pe := many(~c))])
  1128.   }
  1129.   return list
  1130. end
  1131. -----$ D2TREE.ICN ( lines:141 words:544 ) ------------------<cut here
  1132.  
  1133.   îïë╩é╞ x2tree07.icné╠Éαû╛é═üAăë±é╔üB
  1134.  
  1135. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1136. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1137. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  1138. (icon_308.txt 1997/05/11 PCVAN PIG)
  1139.  
  1140. üí  Icon > IconÄUòαô╣üiéXüj ì─é╤ x2treeüiéPüj        òùé┬é⌐éó
  1141.  
  1142.   é▄é╕üAæOë±é╠ üuì─é╤ dir2treeüvé╠æ▒é½é┼é╖üB éeécé╠ root directoryé⌐éτé╠
  1143. treeé≡ ò\Īé╡é─é▌é▄é╡é╜üB
  1144.  
  1145. -----^ ICON_FD2.DIR ( date:97-05-10 time:23:55 ) -----------<cut here
  1146. A:\       <DIR>
  1147.   + NOT_ARCH       <DIR>        97-05-03  21:00 NOT_ARCH
  1148.   |   + ICON_LEC DOC         3,038  97-04-23  23:17 ICON_LEC.DOC
  1149.   |   + ICON_LEC TXT       116,916  97-04-23  23:15 ICON_LEC.TXT
  1150.   |   + ICONLEC2 DOC         2,686  97-04-23  23:19 ICONLEC2.DOC
  1151.   |   + ICONLEC2 TXT       125,700  97-04-23  23:20 ICONLEC2.TXT
  1152.   |   + ICONLEC3 DOC         2,746  97-05-08  12:47 ICONLEC3.DOC
  1153.   |   + ICONLEC3 TXT       105,141  97-05-08  12:47 ICONLEC3.TXT
  1154.   + OTHER          <DIR>        97-05-03  21:00 OTHER
  1155.   |   + ICON_LEC ENG         3,109  97-04-23  23:30 ICON_LEC.ENG
  1156.   |   + ICONLEC2 ENG         2,869  97-04-23  23:32 ICONLEC2.ENG
  1157.   |   + ICONLEC3 ENG         2,924  97-05-09  20:00 ICONLEC3.ENG
  1158.   |   + CONTRIB  TXT         2,309  97-04-26  13:57 CONTRIB.TXT
  1159.   |   + CONTRIB2 TXT           752  97-05-09  19:39 CONTRIB2.TXT
  1160.   + ICON_LEC LZH        42,239  97-04-26  10:07 ICON_LEC.LZH
  1161.   + ICONLEC2 LZH        44,737  97-04-26  10:07 ICONLEC2.LZH
  1162.   + ICONLEC3 LZH        33,723  97-05-08  12:48 ICONLEC3.LZH
  1163. -----$ ICON_FD2.DIR ( lines:17 words:123 ) -----------------<cut here
  1164.  
  1165.  
  1166.   é│é─üAìíë±é═üAüuì─é╤ x2treeüvé╞éóéñâ^âCâgâïé┼é╖é¬üAé▒éΩé═ â~âXé┼é═é╚é¡
  1167. ï@ö\âAâbâvé┼é╖üBüiè╛üj
  1168.  
  1169.   x2treeé═üAì\æóæ╠é≡Ägé┴é╜ programé╠ testé╠ì█é╔ò╓ùÿé╚é╠é┼é╖é¬üA treeé╠ù±
  1170. é╠Éié▌é≡ÄwÆΦé┼é½éΘ éµéñé╔ é╡é─Æué⌐é╚é⌐é┴é╜é╠é┼üAèKæwé¬æ╜éó ì\æóæ╠é╠ tree
  1171. ò\Īé┼é═üAù±é╠Æ[é¬üAëµû╩é⌐éτèOéΩé─é╡é▄é╡é▄é╖üB
  1172.  
  1173.   é╗é▒é┼üAtreeé╠ù±é╠Éié▌é≡ÄwÆΦé┼é½éΘéµéñé╔ÅCÉ│é╡é▄é╡é╜üB
  1174.  
  1175. -----^ X2TREE07.ICN ( date:97-05-08 time:21:54 ) -----------<cut here
  1176. # ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
  1177. # x2tree07.icn Rev.1.1 1997/05/08 windy
  1178. # x2tree06.icn é╔é─üAù±é╠Éié▌é≡É▌ÆΦë┬é╔é╡é╜éαé╠
  1179. # This file is in the public domain.
  1180. link jimage
  1181.  
  1182. procedure x2t(x,step)
  1183. # generator
  1184. # topé╠Åêù¥
  1185.   suspend "<" || type(x) || " " || string(serial(x)) || ">"
  1186.                                          #ü¬listé╠ serial No
  1187.   ss := repl(" ", \step | 0)
  1188.   suspend " " || ss || x2tree(x,ss,"")
  1189.                           #ü¬Åëè·ë╗âtâëâO
  1190. end
  1191.  
  1192. procedure x2tree(x,ss,init)
  1193. # generator
  1194. # show the tree structure of x
  1195.   static T          # serial No ôoÿ^ùp setôoÿ^ùp table  staticÉΘî╛é≡é╡é─
  1196.                     # é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
  1197.   if \init then {   # Åëè·ë╗é≡ initialé┼éΓéΘé╞üAô»é╢ programôαé┼ò╩é╠
  1198.                     # ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2té≡ î─é±é╛Ä₧é╔
  1199.                     # Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘé╠é┼üAâtâëâOé┼Åëè·ë╗ÄwĪ
  1200.     T := table()       
  1201.     T["list"]  := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
  1202.     T["set"]   := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
  1203.     T["table"] := set()
  1204.     if (t := type(x)) == ("list" | "set" | "table")
  1205.     then insert(T[t],serial(x))    # serial Noé≡ T[type(x)]é╔ôoÿ^
  1206.   }
  1207.  
  1208.   n := *x                   # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
  1209.  
  1210.   if (tt := type(x)) ~== "table" then { # not table
  1211.     every xx := !x do {       # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
  1212.       n -:= 1
  1213.       t  := type(xx)
  1214.       val_disp := if t == ("list" | "set" | "table")
  1215.               then "+ <" || t || " " || string(m := serial(xx)) || ">"
  1216.               else "+ " || left(t,7)  || jimage(xx)
  1217.  
  1218.       case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  1219.         "string"            : suspend val_disp
  1220.         #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  1221.         "list" | "set" | "table" : {
  1222.           #ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
  1223.           if not member(T[t],m) then {
  1224.             insert(T[t],m)    # serial Noé≡ T[type(xx)]é╓ôoÿ^
  1225.             suspend val_disp
  1226.             suspend (if n > 0 then "| " else "  ") || ss || ss || x2tree(xx,ss)
  1227.                               #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[           # ì─ïAü¬
  1228.             delete(T[t],m)    #ü⌐serial No ôoÿ^é≡ìφÅ£
  1229.           }
  1230.           else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  1231.             return val_disp || " (Recursion)"
  1232.           }
  1233.         }
  1234.         #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  1235.         default             : suspend val_disp
  1236.       }
  1237.     }
  1238.   }
  1239.  
  1240.   else { # table
  1241.     every xkey := key(x) do {       # tableé╠ keyé≡éPé┬ é├é┬ĵéΦÅoé╖
  1242.       n -:= 1
  1243.       tk := type(xkey)
  1244.       xx := x[xkey]
  1245.       t  := type(xx)
  1246.       val_disp := if t == ("list" | "set" | "table")
  1247.               then "+ <" || t || " " || string(m := serial(xx)) || ">"
  1248.               else "+ " || left(t,7)  || jimage(xx)
  1249.       key_disp := if tk == ("list" | "set" | "table")
  1250.               then " <- <" || tk || " " || string(serial(xkey)) || ">"
  1251.               else " <- " || left(tk,7) || jimage(xkey)
  1252.  
  1253.       case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
  1254.         "string" : suspend val_disp || key_disp
  1255.  
  1256.         #ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
  1257.         "list" | "set" | "table" : {
  1258.           #ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
  1259.           if not member(T[t],m) then {
  1260.             insert(T[t],m)    # serial Noé≡ T[type(xx)]é╓ôoÿ^
  1261.             suspend val_disp || key_disp
  1262.             suspend (if n > 0 then "| " else "  ") || ss || ss || x2tree(xx,ss)
  1263.                               #ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[            # ì─ïAü¬
  1264.             delete(T[t],m)    #ü⌐serial No ôoÿ^é≡ìφÅ£
  1265.           }
  1266.           else {  # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
  1267.             return val_disp || key_disp || " (Recursion)"
  1268.           }
  1269.         }
  1270.         #ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
  1271.         default  : suspend val_disp || key_disp
  1272.       }
  1273.     }
  1274.   }
  1275.  
  1276. end
  1277. -----$ X2TREE07.ICN ( lines:101 words:448 ) ----------------<cut here
  1278.  
  1279.   test programé╞ é╗é╠îïë╩é═üAăë±é╔üB
  1280.  
  1281. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1282. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1283. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  1284. (icon_309.txt 1997/05/11 PCVAN PIG)
  1285.  
  1286. üí  Icon > IconÄUòαô╣üiéPéOüj ì─é╤ x2treeüiéQüj      òùé┬é⌐éó
  1287.  
  1288.   æOë±é╠ üuì─é╤ x2treeüvé╠æ▒é½é┼é╖üBtest programé╞é╗é╠îïë╩é┼é╖üB
  1289.   test programé¬Æ╖é¡é╚éΦé▄é╡é╜é╠é┼üAò¬é»é▄é╡é╜üB
  1290.  
  1291. -----^ X2TREE7~.ICN ( date:97-05-08 time:21:54 ) -----------<cut here
  1292. # test driver for x2tree07.icn
  1293. # x2tree7~.icn 1997/05/08 windy
  1294. # This file is in the public domain.
  1295. link x2tree07
  1296.  
  1297. procedure main()
  1298. #  #listé╠ test
  1299.   L1 := ["A","B"]
  1300.   L2 := ["C","D"]
  1301.   L3 := ["E","F"]
  1302.   put(L1,L2)
  1303.   put(L2,L3)
  1304.   put(L1,L3)               # ò╩Ä} test
  1305.   put(L3,L1)               # listé╠ì─ïA
  1306.   every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
  1307.   write()
  1308.   #tableé╠ test
  1309.   T := table()
  1310.   T["A"] := "G"
  1311.   T["C"] := L2[1]
  1312.   T["E"] := L3
  1313.   T[L1] := L1[1]
  1314.   put(L3,T)                # tableé╠ì─ïA
  1315.   every write(x2t(T) \20)
  1316.  
  1317.   write()
  1318.   #seté╠ test
  1319.   L4 := ["H","I"]
  1320.   S1 := set(["L","M"])
  1321.   S  := set(["J","K",L4])
  1322.   insert(S,S1)
  1323.   insert(S1,S)             # seté╠ì─ïA
  1324.   every write(x2t(S) \20)
  1325.  
  1326.   write()
  1327.   every write(x2t(L1,1) \20)
  1328.   every write(x2t(S,1) \20)
  1329.   every write(x2t(T,1) \20)
  1330.  
  1331.   write()
  1332.   every write(x2t(L1,2) \20)
  1333.   every write(x2t(S,2) \20)
  1334.   every write(x2t(T,2) \20)
  1335.  
  1336. end
  1337.  
  1338. -----$ X2TREE7~.ICN ( lines:46 words:111 ) -----------------<cut here
  1339.  
  1340.   ô»é╢âfü[â^é┼üAÅçö╘é╔üAù±é╠Éié▌é≡æ¥éΓé╡é─éóé▄é╖üB
  1341. -----^ X2TREE07 ( date:97-05-11 time:00:43 ) ---------------<cut here
  1342. <list 1>
  1343.  + string "A"
  1344.  + string "B"
  1345.  + <list 2>
  1346.  | + string "C"
  1347.  | + string "D"
  1348.  | + <list 3>
  1349.  |   + string "E"
  1350.  |   + string "F"
  1351.  |   + <list 1> (Recursion)
  1352.  + <list 3>
  1353.    + string "E"
  1354.    + string "F"
  1355.    + <list 1> (Recursion)
  1356.  
  1357. <table 2>
  1358.  + string "C" <- string "C"
  1359.  + <list 3> <- string "E"
  1360.  | + string "E"
  1361.  | + string "F"
  1362.  | + <list 1>
  1363.  | | + string "A"
  1364.  | | + string "B"
  1365.  | | + <list 2>
  1366.  | | | + string "C"
  1367.  | | | + string "D"
  1368.  | | | + <list 3> (Recursion)
  1369.  | | + <list 3> (Recursion)
  1370.  | + <table 2> (Recursion)
  1371.  + string "A" <- <list 1>
  1372.  + string "G" <- string "A"
  1373.  
  1374. <set 8>
  1375.  + string "K"
  1376.  + <list 44>
  1377.  | + string "H"
  1378.  | + string "I"
  1379.  + <set 7>
  1380.  | + string "M"
  1381.  | + string "L"
  1382.  | + <set 8> (Recursion)
  1383.  + string "J"
  1384.  
  1385. <list 1>
  1386.   + string "A"
  1387.   + string "B"
  1388.   + <list 2>
  1389.   |   + string "C"
  1390.   |   + string "D"
  1391.   |   + <list 3>
  1392.   |       + string "E"
  1393.   |       + string "F"
  1394.   |       + <list 1> (Recursion)
  1395.   + <list 3>
  1396.       + string "E"
  1397.       + string "F"
  1398.       + <list 1> (Recursion)
  1399. <set 8>
  1400.   + string "K"
  1401.   + <list 44>
  1402.   |   + string "H"
  1403.   |   + string "I"
  1404.   + <set 7>
  1405.   |   + string "M"
  1406.   |   + string "L"
  1407.   |   + <set 8> (Recursion)
  1408.   + string "J"
  1409. <table 2>
  1410.   + string "C" <- string "C"
  1411.   + <list 3> <- string "E"
  1412.   |   + string "E"
  1413.   |   + string "F"
  1414.   |   + <list 1>
  1415.   |   |   + string "A"
  1416.   |   |   + string "B"
  1417.   |   |   + <list 2>
  1418.   |   |   |   + string "C"
  1419.   |   |   |   + string "D"
  1420.   |   |   |   + <list 3> (Recursion)
  1421.   |   |   + <list 3> (Recursion)
  1422.   |   + <table 2> (Recursion)
  1423.   + string "A" <- <list 1>
  1424.   + string "G" <- string "A"
  1425.  
  1426. <list 1>
  1427.    + string "A"
  1428.    + string "B"
  1429.    + <list 2>
  1430.    |     + string "C"
  1431.    |     + string "D"
  1432.    |     + <list 3>
  1433.    |           + string "E"
  1434.    |           + string "F"
  1435.    |           + <list 1> (Recursion)
  1436.    + <list 3>
  1437.          + string "E"
  1438.          + string "F"
  1439.          + <list 1> (Recursion)
  1440. <set 8>
  1441.    + string "K"
  1442.    + <list 44>
  1443.    |     + string "H"
  1444.    |     + string "I"
  1445.    + <set 7>
  1446.    |     + string "M"
  1447.    |     + string "L"
  1448.    |     + <set 8> (Recursion)
  1449.    + string "J"
  1450. <table 2>
  1451.    + string "C" <- string "C"
  1452.    + <list 3> <- string "E"
  1453.    |     + string "E"
  1454.    |     + string "F"
  1455.    |     + <list 1>
  1456.    |     |     + string "A"
  1457.    |     |     + string "B"
  1458.    |     |     + <list 2>
  1459.    |     |     |     + string "C"
  1460.    |     |     |     + string "D"
  1461.    |     |     |     + <list 3> (Recursion)
  1462.    |     |     + <list 3> (Recursion)
  1463.    |     + <table 2> (Recursion)
  1464.    + string "A" <- <list 1>
  1465.    + string "G" <- string "A"
  1466. -----$ X2TREE07 ( lines:124 words:501 ) --------------------<cut here
  1467.  
  1468.   ôûò¬é═üAâ~âXé╔ïCé¬é┬é½é▄é╣é±éµéñé╔üBüiÅ╬üj
  1469.  
  1470. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1471. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1472. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  1473. (icon_310.txt 1997/05/11 PCVAN PIG)
  1474.  
  1475. üí  Icon > Iconû└éóô╣üiéPüj system()                 òùé┬é⌐éó
  1476.  
  1477.   IconÄUòαô╣é╠ò√é┼é═üAăé═ æ╜ìÇÄ«é╠ôWèJ é≡éΓé┴é─é▌éΘé┬éαéΦé╚é±é┼é╖é¬üA
  1478. îïì\ ô╣é¬î»é╡é¡é─üAăé╠é¿ÿbé╡é¬Åæé»é▄é╣é±üB
  1479.  
  1480.   (a+b+c)^2 é≡ a^2+b^2+c^2+2ab+2ac+2bcé╔üAò╧è╖é╖éΘÆ÷ôxé╠Åêù¥é≡üAìléªé─
  1481. éóéΘé╠é┼é╖é¬üAé╟éñéΓé┴é─ programé≡ ægé▀é╬ù╟éóé╠é⌐ Ävéóé┬é½é▄é╣é±üB
  1482.  
  1483.   é╗é┐éτé═üAé╡é╬éτé¡ìléªé─é▌éΘé╞é╡é─üAë╜é╔éαÅæé⌐é╚éóé╠éαé│é▌é╡éóé╠é┼üA
  1484. ï▀é▓éδÅæéóé╜ programé≡Å╨ëεé╡é▄é╖üB
  1485.  
  1486.   niftyé╞ PCVANé╠ log fileé⌐éτ OSL/Libraryé╠ Iconè╓îW fileâ^âCâgâïé╠òöò¬
  1487. é≡ö▓é½Åoé╖éαé╠é┼é╖üB    éxénésé│é±é╠ ygrepé≡Ägéφé│é╣é─Æ╕éóé─éóé▄é╖üB
  1488.  
  1489.   ygrepé╠ê°Éöé╔é╚éΘò╢ÄÜù±é≡ì∞é┴é─üAsystem()è╓Éöé╔ù^éªéΘé╛é»é┼é╖üB
  1490.   MS-DOSé╠ batch programé┼Åæé»éΘôαùeé┼é╖é¬üAre-direct鬠é┼é½é╚éóé╞é⌐é╠
  1491. ɺî└é¬éáéΦé▄é╖é╠é┼üAIconé⌐éτî─é±é┼éóé▄é╖üB
  1492.  
  1493.   command lineê°Éöé╔üAô·òtüiîÄô·üjé≡ù^éªéΘé╞ é╗é╠ô·òté╠ log fileé≡üA
  1494. ù^éªé╚é»éΩé╬üAé╗é╠ô·é╠ log fileé≡îƒì⌡é╡é▄é╖üB
  1495.  
  1496.   mapè╓Éöé≡Ägé┴é─üA keywordé╠ &dateé⌐éτô·òté≡ ö▓é½Åoé╡é─éóé▄é╖üB
  1497.   &dateé═üA1997/06/04é╞éóéñî`Ä«é≡é╡é─éóé▄é╖üBé▒éΩé⌐éτ 0604é╠òöò¬é≡
  1498. ö▓é½Åoé╖éαé╠é┼é╖üB
  1499.   é╖éΘé╞üAÄgé┴é─éóéΘÄ«é═
  1500.     map("679A","123456789A","1997/06/04")
  1501.   é╞é╚éΦé▄é╖üB
  1502.  
  1503.   mapè╓Éöé═üAû{ùêé═ò╢ÄÜò╧è╖é╠è╓Éöé┼é╖üB  é╗é╠ë≡Ä▀é┼é╖é╞üAæOé╠Ä«é═
  1504. ò╢ÄÜù± "679A"é≡ Äƒé╠ ïKæÑé┼ò╧è╖é╖éΘé▒é╞é╔é╚éΦé▄é╖üB
  1505.  
  1506.     1 -> 1           é╖éΘé╞üAé▓ùùé╠éµéñé╔ "679A"é═üAé┐éσéñé╟îÄô·é╠òöò¬
  1507.     2 -> 9         é╠ÉöÄÜé╔ò╧è╖é│éΩé▄é╖üB
  1508.     3 -> 9           é┐éσé┴é╞üAâpâYâïé▌é╜éóé┼é╖é¬üAé▒é╠éΓéΦò√é≡ èoéªé─
  1509.     4 -> 7         é¿é¡é╞ò╓ùÿé┼é╖üB
  1510.     5 -> /           òöò¬ò╢ÄÜù±ÄwÆΦé╠
  1511.     6 -> 0               &date[[6:8] || &date[9:0]
  1512.     7 -> 6         é╞ô»é╢îïë╩é╔é╚éΦé▄é╖üB
  1513.     8 -> /
  1514.     9 -> 0
  1515.     A -> 4
  1516.  
  1517.   é│é─üA programé┼é╖üB
  1518. -----^ IDLG.ICN ( date:97-06-04 time:23:49 ) ---------------<cut here
  1519. # niftyé╞ PCVANé╠ logé⌐éτ Iconè╓îW downloadÉö é╠òöò¬é≡É╪éΦÅoé╡
  1520. # idlg.icn Rev.1.3 1997/06/04 windy file-nameò╧ìX idl.icn -> idlg.icn
  1521. #                                   commentÆ╟ë┴
  1522. # idl.icn  Rev.1.2 1997/06/01 windy òsÉ│ dateîƒÅoï¡ë╗
  1523. # idl.icn  Rev.1.1 1997/05/23 windy Kazetuskai H.S.
  1524. # éxénésé│é±é╠ ygrepüiÆ┤ìéæ¼üEæ╜ï@ö\ grepüjé≡ÄgùpüB
  1525. # Usage:  idlg é▄é╜é═ idlg MMDD
  1526.  
  1527. procedure main(args)
  1528.   # ô·òtÄwÆΦ鬠éáéΩé╬é╗é╠ô·òt û│é»éΩé╬é╗é╠ô· é╠ log fileé≡æ╬Å█é╔é╖éΘüB
  1529.                                         # ü½formatò╧è╖(îÄô·ö▓é½Åoé╡)
  1530.   date := right(numeric(args[1]),4,"0") | map("679A","123456789A",&date)
  1531.                                                   # 1997/06/04é╠î`Ä«ü¬
  1532.   # ygrepé╠î─é╤Åoé╡âpâëâüü[â^É╢ɼ
  1533.   # niftyùp              ü½ ORîƒì⌡
  1534.   s1 := "ygrep \"{icon,bipl,de386}.*lzh\"" || " nif" || date || ".log "
  1535.   # PCVANùp    ü½êΩÆvìsé╠æOé╠ìséαÅoù═
  1536.   s2 := "ygrep -B1 \"{icon,bipl,de386}.*lzh\"" || " van" || date || ".log "
  1537.  
  1538.   write(&errout,s1)
  1539.   system(s1)            # nifty logîƒì⌡
  1540.  
  1541.   write(&errout,s2)
  1542.   system(s2)            # PCVAN logîƒì⌡
  1543.  
  1544. end
  1545. -----$ IDLG.ICN ( lines:26 words:105 ) ---------------------<cut here
  1546.  
  1547.   îïë╩é═üAé▒é±é╚éαé╠é┼é╖üBüiÆPé╚éΘ grepé╠îïë╩é┼é╖üBè╛üj
  1548. -----^ DL970605.G ( date:97-06-05 time:00:18 ) -------------<cut here
  1549.   82  PFF01531 97/05/03   33393    2 B ICONLEC3.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└éR
  1550. üiÆåù¬üj
  1551.   17  PFF01531 96/12/08   41893  133 B ICON_LEC.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└
  1552.   89.ICONLEC3.DOC   TRA11936  97/ 5/ 3   0002747   0000005
  1553.      ICONLEC3.LZH   TRA11936  97/ 5/ 3   0033385   0000003
  1554. üiÆåù¬üj
  1555.  413.DE386_93.DOC   TRA11936  97/ 5/11   0003329   0000029
  1556.      DE386_93.LZH   TRA11936  97/ 5/11   0206581   0000012
  1557. -----$ DL970605.G ( lines:24 words:165 ) -------------------<cut here
  1558.  
  1559.   û└éóô╣é⌐éτüAö▓é»Åoé╣éΘé⌐é╚ü`üB
  1560.  
  1561. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1562. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1563. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  1564. (icon_351.txt 1997/06/06 PCVAN PIG)
  1565.  
  1566. üí  Icon > Iconû└éóô╣üiéQüjdownloadÉö ÅWîv           òùé┬é⌐éó
  1567.  
  1568.   æOë±üAIconé⌐éτ ygrepé≡î─é±é┼üAlog fileé⌐éτ Iconè╓îW fileé╠â^âCâgâïìsé≡
  1569. É╪éΦÅoé╖ programé≡é▓ùùé╔éóéΩé▄é╡é╜üB  ìXé╔ ÅWîvò\é▄é┼ Åoé╡é─é¡éΩéΘé╞éóéó
  1570. é╞éóéñé▒é╞é┼üAIconé╛é»é┼ÅWîv programé≡Åæéóé─é▌é▄é╡é╜üB
  1571.  
  1572. -----^ DL970607 ( date:97-06-07 time:00:35 ) ---------------<cut here
  1573. <1997/06/07>     PIG  SLABO    PFL FGALTS fileîv
  1574. BIPL.LZH           -     11      -     19     30
  1575. DE386.LZH          -     12      -     40     52
  1576. ICONLEC3.LZH       3     11      3     46     63
  1577. ICONLEC2.LZH       3     16     41     67    127
  1578. ICON_LEC.LZH       6     32     91    134    263
  1579. ------------------------------------------------
  1580. SIG/forumîv       12     82    135    306    535
  1581. -----$ DL970607 ( lines:8 words:43 ) -----------------------<cut here
  1582.  
  1583.   listé┼ ÅWîvò\é≡ ì∞é┴é─é¿é½é▄é╖üB logé≡éPìsé├é┬ ô╟é▌é╚é¬éτ fileé╠ titleé╠
  1584. ìsé⌐éτ downloadÉöé≡ É╪éΦÅoé╡é─ ò\é≡ìXÉVé╡é▄é╖üB      log file鬠ÅIéφéΘé╞üA
  1585. ÅWîvò\é≡Åoù═é╡é─éóé▄é╖üB
  1586.  
  1587. -----^ IDL.ICN ( date:97-06-05 time:00:21 ) ----------------<cut here
  1588. # niftyé╞PCVANé╠ logâtâ@âCâïé⌐éτ Iconè╓îW fileé╠ downloadÉöÆèÅo
  1589. # idl.icn  Rev.1.2 1997/06/05 windy file-nameò╧ìX idl2.icn -> idl.icn
  1590. #                                   commentÆ╟ë┴
  1591. # idl2.icn Rev.1.1 1997/06/04 windy Kazetsukai H.S.
  1592. # This file is in the public domain.
  1593. # Usage: idl é▄é╜é═ idl MMDD
  1594.  
  1595. procedure main(args)
  1596.   # downloadÉö èiö[ list(éQÅd list)
  1597.         #ü½ [1]:PIG [2]:SLABO [3]:FPL [4]:FGALTS
  1598.   L := [ [ 0 ,0, 0 ,0],  # L[1] ICON_LEC.LZH
  1599.          [ 0 ,0, 0 ,0],  # L[2] ICONLEC2.LZH
  1600.          [ 0 ,0, 0 ,0],  # L[3] ICONLEC3.LZH
  1601.          ["-",0,"-",0],  # L[4] DE386.LZH    PIG,FPLé╔é═ uploadé╡é─éóé╚éóüB
  1602.          ["-",0,"-",0] ] # L[5] BIPL.LZH     PIG,FPLé╔é═ uploadé╡é─éóé╚éóüB
  1603.  
  1604.   # fileû╝Å╠ ì∞ɼ
  1605.   # command lineê°Éöé¬ÉöÄÜé╔ò╧è╖é┼é½éΩé╬üAfileô·òté╔ÄgéñüBé┼é½é╚é»éΩé╬üA
  1606.   # é╗é╠ô·é╠ô·òté≡ fileô·òté╔ÄgéñüB
  1607.   f_date := right(numeric(args[1]),4,"0") |
  1608.                   map("679A","123456789A",&date)
  1609.                  #ü¬ &dateé╠ 6,7,9,10ö╘û┌é╠ò╢ÄÜé≡ö▓é½Åoé╖üB(mapè╓Éöé╠ë₧ùp)
  1610.                  #   &dateé═ 1997/06/04é╠î`Ä«
  1611.   f_nif := "nif" || f_date || ".log "   # nifty log fileû╝É╢ɼ
  1612.   f_van := "van" || f_date || ".log "   # PCVAN log fileû╝É╢ɼ
  1613.  
  1614. ####################
  1615. # nifty Åêù¥
  1616. ####################
  1617. # nifty log fileùß
  1618. #1              16               33  37
  1619. #  17  PFF01531 96/12/08   41893  130 B ICON_LEC.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└
  1620.   dir_nif := open(f_nif) | stop("cannot open ",f_nif)
  1621.   write(&errout,f_nif)
  1622.   size_nif := 15      # Iconè╓îW fileîƒÅoé╠é╜é▀é╠Å╞ìçÄÜÉö
  1623.  
  1624.   while line := read(dir_nif) do {      # log fileé≡éPìsé├é┬ô╟é▌ì₧é±é┼
  1625.     nn := numeric(line[33:37])          # downloadÉö É╪éΦÅoé╡
  1626.     case line[1:size_nif+1] of {
  1627.       # downloadÉöé≡ listé╔ôoÿ^
  1628.       "  17  PFF01531 " : L[1][4] := nn # FGALTS ICON_LEC.LZH
  1629.       "  20  PFF01531 " : L[2][4] := nn # FGALTS ICONLEC2.LZH
  1630.       "  21  PFF01531 " : L[3][4] := nn # FGALTS ICONLEC3.LZH
  1631.       " 163  PFF01531 " : L[4][4] := nn # FGALTS DE386_93.LZH
  1632.       " 124  PFF01531 " : L[5][4] := nn # FGALTS BIPL93.LZH
  1633.       "  78  PFF01531 " : L[1][3] := nn # FPL    ICONLEC1.LZH
  1634.       "  81  PFF01531 " : L[2][3] := nn # FPL    ICONLEC2.LZH
  1635.       "  82  PFF01531 " : L[3][3] := nn # FPL    ICONLEC3.LZH
  1636.     }
  1637.   }
  1638.   close(dir_nif)
  1639.  
  1640. ####################
  1641. # PCVANÅêù¥
  1642. ####################
  1643. # PCVAN log file ùß
  1644. #1                 19                               52     59
  1645. # 219.ICON_LEC.DOC   TRA11936  96/12/ 8   0002421   0000032
  1646. #     ICON_LEC.LZH   TRA11936  96/12/ 8   0041893   0000032
  1647.   dir_van := open(f_van) | stop("cannot open ",f_van)
  1648.   write(&errout,f_van)
  1649.   size_van := 18      # Iconè╓îW fileîƒÅoé╠é╜é▀é╠Å╞ìçÄÜÉö
  1650.  
  1651.   while line := read(dir_van) do {      # log fileé≡éPìsé├é┬ô╟é▌ì₧é±é┼
  1652.     nn := numeric(line[52:59])          # downloadÉö É╪éΦÅoé╡
  1653.     case line[1:size_van+1] of {
  1654.       # SIGîƒÅo
  1655.       (" 219.ICON_LEC.DOC " | " 243.ICONLEC2.DOC " |
  1656.        " 256.ICONLEC3.DOC " ) : mode := "LAB" # SLABOÅêù¥Æå
  1657.  
  1658.       ("  79.ICON_LEC.DOC " | "  84.ICONLEC2.DOC " |
  1659.        "  89.ICONLEC3.DOC ")  : mode := "PIG" # PIGÅêù¥Æå
  1660.  
  1661.       # downloadÉöé≡ listé╔ôoÿ^
  1662.        "     ICON_LEC.LZH " : if mode == "LAB" then L[1][2] := nn # SLABO
  1663.                                                else L[1][1] := (nn-1) # PIG
  1664.                                                # download testò¬ ü¬
  1665.        "     ICONLEC2.LZH " : if mode == "LAB" then L[2][2] := nn # SLABO
  1666.                                                else L[2][1] := nn # PIG
  1667.        "     ICONLEC3.LZH " : if mode == "LAB" then L[3][2] := nn # SLABO
  1668.                                                else L[3][1] := nn # PIG
  1669.        "     DE386_93.LZH " :                       L[4][2] := nn # SLABO
  1670.        "     BIPL93.LZH   " :                       L[5][2] := nn # SLABO
  1671.     }
  1672.   }
  1673.   close(dir_van)
  1674.  
  1675. ####################
  1676. # ò\é╔é╡é─Åoù═
  1677. ####################
  1678.   f_name := [ "ICON_LEC.LZH ",     # fileû╝Å╠ list
  1679.               "ICONLEC2.LZH ",
  1680.               "ICONLEC3.LZH ",
  1681.               "DE386.LZH    ",
  1682.               "BIPL.LZH     ",
  1683.               "SIG/forumîv  "  ]
  1684.   size_f_name := *f_name[1]
  1685.  
  1686.   sig    := [ "    PIG",           # SIG/forumû╝Å╠ list
  1687.               "  SLABO",
  1688.               "    PFL",
  1689.               " FGALTS",
  1690.               " fileîv"  ]
  1691.   size_sig := *sig[1]
  1692.  
  1693.   # ô·òtÉ╢ɼ                            ü½fdateé╔"/"é≡æ}ôⁿüB(mapè╓Éöé╠ë₧ùp)
  1694.   writes(left("<" || &date[1:6]  || map("12/34",1234,f_date) ||
  1695.               ">",size_f_name))
  1696.   every writes(!sig)               # SIG/forumû╝Åoù═
  1697.   write()
  1698.  
  1699.   L_sum_col := [0,0,0,0,0]         # SIG/forumûêé╠ downloadÉö ÅWîvùp list
  1700.   every i := *L to 1 by -1 do {    # listé╠ûûö÷é⌐éτüiïtÅçÅoù═é╠é╜é▀üj
  1701.     writes(f_name[i])              # fileû╝Åoù═
  1702.     sum_line := 0                  # fileûêé╠ downloadÉö ÅWîv
  1703.     every j := 1 to *L[i] do {     
  1704.       writes(right((nnn := L[i][j]),size_sig))      # fileûê downloadÉö
  1705.       sum_line     +:= (nnnn := numeric(nnn) | 0)   # ÉöÄÜé╚éτæ½é╡ì₧é▐
  1706.       L_sum_col[j] +:= nnnn                         # ÉöÄÜé╚éτæ½é╡ì₧é▐
  1707.     }
  1708.     write(right(sum_line,size_sig))   # fileûê daownloadÉö Åoù═
  1709.     L_sum_col[-1] +:= sum_line        # æìîvé╔æ½é╡ì₧é▐
  1710.   }
  1711.   write(repl("-",*L_sum_col * size_sig +size_f_name))  # ÄdÉ╪éΦÉⁿ
  1712.  
  1713.   writes(f_name[-1])               # "SIG/forumîv  "é╠ò╢ÄÜé≡Åoù═
  1714.                                    # (f_nameé╠ì┼îπé╠ùvæf)
  1715.   every writes(right(!L_sum_col,size_sig))          # SIG/forumûêé╠îv
  1716.   write()
  1717.  
  1718. end
  1719. -----$ IDL.ICN ( lines:131 words:617 ) ---------------------<cut here
  1720.  
  1721. üiÆ╟ïL 97/11/24î╗ì▌é┼é═ăé╠ downloadÉöé╔é╚é┴é─éóé▄é╖üBüj
  1722. -----^ DL971124 ( date:97-11-24 time:10:16 ) ---------------<cut here
  1723. <1997/11/24>     PIG  SLABO    FPL FGALTS fileîv
  1724. BIPL.LZH           -     14      -     33     47
  1725. DE386.LZH          -     17      -     89    106
  1726. ICONLEC3.LZH       3     12     18     95    128
  1727. ICONLEC2.LZH       5     16     56    111    188
  1728. ICON_LEC.LZH       7     34    109    196    346
  1729. ------------------------------------------------
  1730. SIG/forumîv       15     93    183    524    815
  1731. -----$ DL971124 ( lines:8 words:43 ) -----------------------<cut here
  1732.  
  1733. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1734. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1735. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  1736. (icon_352.txt 1997/06/07 PCVAN PIG)
  1737.  
  1738. üí  Icon > Iconû└éóô╣üiéRüjCSV:ÆΦï`âtâ@âCâïé╠ô╟ì₧    òùé┬é⌐éó
  1739.  
  1740.   ë─é╠É╖éΦé⌐éτüAÆSôûé╡é─éóéΘ û^ projecté╠è╓îWé┼üAû^Åèé╔¥fÆvé│éΩé─é¿éΦ
  1741. é▄é╡é╜é¬üAêΩïµÉ╪éΦé┬é½é▄é╡é╜é╠é┼¢Oöké╔û▀é┴é─üAïCé¬é┬é»é╬éαéñÅHÉ[é╡üB
  1742.  
  1743.   Iconìuì└é═üAé╟é▒é▄é┼Åæéóé╜é⌐ïLë»é╠ö▐ò√é┼é╖üB
  1744.   èmé⌐üACSVâfü[â^üiâRâôâ}ïµÉ╪éΦâfü[â^üjé≡üA ò\î`Ä«é╠ âeâLâXâgâfü[â^é╔
  1745. ò╧è╖é╖éΘprogram é≡ì∞é┴é─ upload é╡éµéñé╞é╡é─éóé╜ éµéñé╚ ïCé¬é╡é▄é╖üB
  1746.  
  1747.   âèânârâèé╞îôé╦é─üAÄvéóÅoé╡é╚é¬éτ æ▒é½é≡éΓé┴é─é▌é╜éó é╞Ävéóé▄é╖üB
  1748.   é╡é⌐é╡üAû^ projecté═ûóé╛æ▒éóé─éóé▄é╖é╠é┼üAIconìuì└鬠ôrÉΓéªé▄é╡é╜éτüA
  1749. é▄é╜ û^Åèé╔¥fÆvé│éΩé╜é╚ é╞Ävé┴é─ë║é│éóüBüiÅ╬üj
  1750.  
  1751.   é│é─üACSVâfü[â^é╞éóéñé╠é═üAé▒é±é╚âfü[â^é┼é╖üB
  1752.  
  1753. "é╚é⌐éΓé▄é▌é┘","ÆåÄRöⁿòΣ",1970,3,1,"O",158,80,60,84,45,"ôîï₧ôsżïαêΣÄs"
  1754.  
  1755.   âRâôâ}ïµÉ╪éΦé╠âfü[â^é┼üAò╢ÄÜù±é═ " é┼ é¡é¡é┴é─éáéΦé▄é╖üB ò╢ÄÜù±Æåé╔ " é¬
  1756. î╗éΩéΘÅΩìçé═üA"" é┼ò\éφé╖éαé╠é╞é╡é▄é╖üB
  1757.   CSVé╞éóé┴é─éαüAì╫é⌐éóô_é┼Ädùlé¬êßéñéαé╠é¬üAéóé¡é┬é⌐éáéΘéµéñé┼é╖é¬üAé▒é▒
  1758. é┼é═é▒é╠Ädùlé╞é╡é▄é╖üB
  1759.  
  1760.   ùßé╠éµéñé╚âfü[â^é¬ò└é±é┼éóéΘ âfü[â^âtâ@âCâïé≡üAò\î`Ä«é╠âfü[â^é╓ ò╧è╖é╡é╜
  1761. éΦüAò\î`Ä«é╠âfü[â^é≡ïté╔ CSVâfü[â^é╓ò╧è╖é╖éΘéαé╠é≡ì∞é┴é─é▌é▄é╖üB
  1762.  
  1763.   ùßé╠âfü[â^é≡ò\î`Ä«é╔é╖éΘé╜é▀é╔é═üAèeùôé≡ë╜ò╢ÄÜé╠ò\é╔é╖éΘé⌐é╠Åεò±é≡é╟é▒é⌐
  1764. é┼ÆΦï`é╡é╚éóé╞éóé»é▄é╣é±üB  é╜é╞éªé╬é▒é±é╚è┤é╢é┼é╖üBèeùôé╠ò╢ÄÜÉöé≡ÆΦï`é╖éΘ
  1765. é┬éóé┼é╔üAò╢ÄÜé⌐ÉöÄÜé⌐é╠Åεò±éαé▄é╞é▀é─ÆΦï`é╡é─éóé▄é╖üB
  1766.  
  1767. -----^ CSV2TB.CFG ( date:97-10-27 time:00:02 ) -------------<cut here
  1768. ####################
  1769. # csv -> ò\âfü[â^  ò╧è╖ÄwÆΦâtâ@âCâï
  1770. ####################
  1771. # ìsô¬é¬ "#"éáéΘéóé═ìsé╔ "="é¬è▄é▄éΩû│éóé╚éτüAû│ÄïüBüiâRâüâôâgüj
  1772. # Åêù¥æ╬Å█âtâ@âCâïû╝é╠ɵô¬é╠ò╢ÄÜé╔é─üAÅêù¥ÄwÆΦé≡Ä»ò╩é╖éΘüB
  1773. # âtâ@âCâïÄ»ò╩ò╢ÄÜüi"="é╠ÄΦæOé╠ò╢ÄÜüjé═üAëpÄÜæσò╢ÄÜüB
  1774. # ò╧è╖ÄwĪé═üA","ïµÉ╪éΦé╠âfü[â^é≡ë╜îàé╠âfü[â^é╞é╡é─ê╡éñé⌐é≡üAÄwĪüB
  1775. # ò╧è╖ÄwÆΦùß
  1776. #   s14 : 14îàé╠ò╢ÄÜù±üAn4 : 4îàé╠ÉöÄÜüAs0 : é╗é╠ùôé═û│Äï(n0é┼éαù╟éó)
  1777. # csvâfü[â^éµéΦüAÄwÆΦîàé¬æσé½éóÅΩìçé═üAîπéδé╔ " "é¬Æ╟ë┴é│éΩéΘüB
  1778. # ò╧è╖ÄwÆΦé¬û│éóòöò¬é╠ csvâfü[â^é═û│Äïé│éΩéΘüB
  1779. ####################
  1780.  
  1781. # âeâXâgùpâTâôâvâïâfü[â^
  1782. #   "é╚é⌐éΓé▄é▌é┘","ÆåÄRöⁿòΣ",1970,3,1,"O",158,80,60,84,45,"ôîï₧ôsżïαêΣÄs",10
  1783. SAM= s13            s9        n4   n2n2 s0 n3  n3 n3 n3 n3 s12              n2
  1784.  
  1785. -----$ CSV2TB.CFG ( lines:17 words:52 ) --------------------<cut here
  1786.  
  1787.   é╞éóéñé▒é╞é┼üAé▒é±é╚ÆΦï`âtâ@âCâïé≡ô╟é▌é▒é▐é╜é▀é╠ procedureé≡ Éµé╕ ì∞é┴é─
  1788. é▌éΘé▒é╞é╔é╡é▄é╖üB
  1789.  
  1790.   æüæ¼üAprogramé┼é╖üBÆΦï`âtâ@âCâïé≡ô╟é▌ì₧é±é┼ listé╓èiö[é╖éΘ programé╞
  1791. é╗é╠ listé╔èiö[é│éΩé─éóéΘ keyé╞ stringé≡â`âFâbâNé╖éΘéQé┬é╠ procedureé¬
  1792. è▄é▄éΩé─éóé▄é╖üB
  1793. -----^ GET_INL.ICN ( date:97-10-27 time:23:59 ) ------------<cut here
  1794. ####################
  1795. # Åëè·ë╗âtâ@âCâïüEÆΦï`âtâ@âCâïé╠ô╟é▌ì₧é▌üiò╢ÄÜù±â_âuâèæ╬ë₧üj
  1796. ####################
  1797. # args : stringüiègÆúÄqû╝üj
  1798. # value: list üiÅëè·É▌ÆΦÆlé╠ [key1,value1,key2,value2,...])
  1799. # Usage: L_INI := get_inil("INI")
  1800. #        Ä└ìsâtâ@âCâïû╝é╠ègÆúÄqé≡ INIé╔ò╧éªé╜éαé╠é≡Åëè·ë╗âtâ@âCâïé╞é▌é╚é╖üB
  1801. #        Åëè·ë╗âtâ@âCâïé╠î`Ä«é═üAë║ïLé╠î`Ä«
  1802. #          Nantara=Kantara Dotara
  1803. #          ["Nantara","Kantara Dotara"]鬠valueé╞é╚éΘüB
  1804. #          "="é¬üAè▄é▄éΩû│éóìsé═û│Äïé│éΩéΘüBüiâRâüâôâgìsé╔ÄgéªéΘüj
  1805. # ö⌡ìl : éáéΘ keyé╠ò╢ÄÜù±é¬æ╝é╠ keyé╠ò╢ÄÜù±é╔è▄é▄éΩéΘÅΩìçé═üA
  1806. #        keyé═ì~Åçé╔Åæé½ì₧é▐é▒é╞üBüiÆ╖éóÅçé╔â`âFâbâNé╡é╚éóé╞û│Äïé│éΩéΘé╠é┼üj
  1807. #        ABC=D:\icon\
  1808. #        AB=D:\icon\my_procs\
  1809. # This file is in the public domain.
  1810.  
  1811. link file_e        # f_name()
  1812. procedure get_inil(ext)
  1813.   L := []          # listÉ╢ɼ
  1814.   /ext := "INI"    # ègÆúÄq default
  1815.   dir := open(f_name() || "." || ext) | # Åëè·ë╗âtâ@âCâïé≡
  1816.          fail                           #
  1817.   while line := read(dir) do {          # éPìsé╕é┬ô╟é▌ì₧é▌
  1818.     line ?  {                           # lineé≡æûì╕æ╬Å█é╞é╡é─
  1819.                         #ü½éQö╘û┌é╠Ä«é≡Ælé╞é╖éΘ
  1820.       put(L,tab(upto('=')),2(move(1),tab(0)))
  1821.     } # ü¬'='ûÿé╠ò╢ÄÜù±      ü¬        ü¬ÄcéΦé╠ò╢ÄÜù±
  1822.   }   # ü¬é≡ keyé╞é╡é─   "="ò╢ÄÜâXâLâbâv
  1823.   return L
  1824. end
  1825.  
  1826.  
  1827. ####################
  1828. # ò╢ÄÜù±é╠ɵô¬é¬ Lé╠ keyé╔éáéΩé╬üAvalueé≡ò╘é╖
  1829. ####################
  1830. # args : [1]:list [key1,value1,key2,value2,...]é╠î`Ä«
  1831. #        [2]:string
  1832. # value: keyé¬ò╢ÄÜù±é╠ɵô¬é╞êΩÆvé╖éΩé╬üAkeyé╔æ╬ë₧é╡é╜ value
  1833. # ö⌡ìl : Lé═ì─Ägùpòsë┬üB
  1834. # This file is in the public domain.
  1835.  
  1836. procedure key_check(L,s)
  1837.   /s := &subject
  1838.   while ss := get(L) do {  # keyé≡ĵéΦÅoé╡é─üA
  1839.     # keyé¬ò╢ÄÜù±é╠ɵô¬é╔êΩÆvé╖éΩé╬üAvalueé≡ò╘é╖üBòsêΩÆvé╚éτô╟é▌ö≥é╬é╡üB
  1840.     if match(ss,s) then return get(L) else get(L)
  1841.   }
  1842.   fail                     # êΩÆvé╡é╚é»éΩé╬üAfail
  1843. end
  1844. -----$ GET_INL.ICN ( lines:50 words:165 ) ------------------<cut here
  1845. üiì╖é╡æ╓éªüj
  1846.  
  1847.   f_name()é═ê╚æO exe_name()é╞éóéñû╝æOé┼Å╨ëεé╡é▄é╡é╜ procedureé┼é╖üB
  1848. Ä└ìsâtâ@âCâïû╝é≡ĵéΦÅoé╖ procedureé┼é╖üB Ääé═ f_name()é≡üAî╗ì▌é═ file_e.icn
  1849. é╞éóéñ procedureé╠âtâ@âCâïé╠Æåé╔ôⁿéΩé─éóé▄é╖é╠é┼üAfile_eé≡ linké╡é─éóé▄é╖üB
  1850.  
  1851.   get_inilé╠ test programé≡ăé╔üB ÆΦï`âtâ@âCâïé≡ô╟é▌ì₧é±é┼ô╟é▌ì₧é±é╛îïë╩
  1852. é╠ listé╠ò\Īé≡ìséñòöò¬é╞ key_checké≡ìsé┴é╜îïë╩é╠ò\Īé≡ ìséñòöò¬é¬è▄é▄éΩ
  1853. é─éóé▄é╖üB
  1854. -----^ GET_INL~.ICN ( date:97-10-27 time:23:55 ) -----------<cut here
  1855. # test procedure for get_inil
  1856. # This file is in the public domain.
  1857. link view_e, # x2t()
  1858.      file_e  # get_inil(), key_check()
  1859. procedure main()
  1860.   every write(x2t(get_inil()))
  1861.   every write(x2t(get_inil("CFG")))
  1862.   write(key_check(get_inil("CFG"),"lmnopqr") | "error")
  1863.   write(key_check(get_inil("CFG"),"lmno") | "error")
  1864.   write(key_check(get_inil("CFG"),"lmn") | "error")
  1865.   write(key_check(get_inil("CFG"),"abcd") | "error")
  1866. end
  1867. -----$ GET_INL~.ICN ( lines:12 words:40 ) ------------------<cut here
  1868.  
  1869.   treeò\Ī é╠ x2t()é═üAview_eé╔üAget_inil(),key_checké═üAfile_eé╔ôⁿéΩé─éóéΘ
  1870. é╜é▀ èeüXé≡ linké╡é─éóé▄é╖üB
  1871.  
  1872.   ÆΦï`âtâ@âCâïé╠âTâôâvâïé┼é╖üB
  1873. -----^ GET_INL~.INI ( date:97-10-27 time:23:57 ) -----------<cut here
  1874. # test data for get_inl~
  1875. ABC=abc_ini
  1876. DEFG=âfü[âCü[âGâtâWü[
  1877. hijk=123,456
  1878.  
  1879. -----$ GET_INL~.INI ( lines:5 words:8 ) --------------------<cut here
  1880.  
  1881.   éαéñéPé┬é╠ÆΦï`âtâ@âCâïâTâôâvâïé┼é╖üB
  1882. -----^ GET_INL~.CFG ( date:97-10-27 time:23:56 ) -----------<cut here
  1883. # test data for get_inl~
  1884. hijk=123,456,789
  1885. lmno=lmnoé╛
  1886. pqrs=
  1887. lmn=lmné╛
  1888.  
  1889. -----$ GET_INL~.CFG ( lines:6 words:9 ) --------------------<cut here
  1890.  
  1891.   îïë╩é═é▒éñé╚éΦé▄é╖üB
  1892. -----^ GET_INIL ( date:97-10-27 time:00:30 ) ---------------<cut here
  1893. <list 1>
  1894.  + string "ABC"
  1895.  + string "abc_ini"
  1896.  + string "DEFG"
  1897.  + string "âfü[âCü[âGâtâWü["
  1898.  + string "hijk"
  1899.  + string "123,456"
  1900. <list 84>
  1901.  + string "hijk"
  1902.  + string "123,456,789"
  1903.  + string "lmno"
  1904.  + string "lmnoé╛"
  1905.  + string "pqrs"
  1906.  + string ""
  1907.  + string "lmn"
  1908.  + string "lmné╛"
  1909. lmnoé╛
  1910. lmnoé╛
  1911. lmné╛
  1912. error
  1913. -----$ GET_INIL ( lines:20 words:50 ) ----------------------<cut here
  1914.  
  1915.   é╞éóéñé╞é▒éδé┼üAìíô·é═é▒é╠é¡éτéóé╔é╡é▄é╖üB  Äƒë±é═üAÆΦï`âtâ@âCâïé≡
  1916. ë≡É═é╖éΘéáé╜éΦé≡éΓé┴é─é▌é▄é╖üB
  1917.  
  1918. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  1919.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  1920. BGM: éréìéëéîéàü^ë¬û{É^ûΘ
  1921. (icon_353.txt 1997/10/27 PCVAN PIG)
  1922.  
  1923. üí  Icon > Iconû└éóô╣üiéSüjCSV:ÆΦï`âtâ@âCâïé╠ë≡É═    òùé┬é⌐éó
  1924.  
  1925.   ìíô·é═üAÆΦï`âtâ@âCâïé╠ë≡É═é╠òöò¬é≡éΓéΦé▄é╖üBÆΦï`âtâ@âCâïé═üACSVâfü[â^é╞
  1926. ò└é╫é─ăé╠éµéñé╔ÄwÆΦé╡é╜éóé╠é┼é╖üB
  1927.  
  1928. SAM= s4     s1 n1n2 n3   s16
  1929. #   "Ænïà","E",1,15,256,"é┐é½éπéñé═é▄éΘéó"
  1930.  
  1931.   Åçé╔üAÆnïà              -> s4
  1932.         E                 -> s1
  1933.         1                 -> n1
  1934.         15                -> n2
  1935.         256               -> n3
  1936.         é┐é½éπéñé═é▄éΘéó  -> s16
  1937.  
  1938.   é╞ÄwÆΦé╡é─éóéΘû≤é┼é╖üB
  1939.  
  1940.   programé┼é═üACSVâfü[â^é╠ùôé╔æ╬ë₧é╡é╜ÄwÆΦé≡ listé╔èiö[é╡é─é¿é¡é▒é╞é╔
  1941. é╡é▄é╖üB æOë±é╠ÆΦï`âtâ@âCâïé╠ô╟ì₧é▌é┼é═üA
  1942.  
  1943. SAM= s4     s1 n1n2 n3   s16     é╞éóéñ stirngé≡
  1944.  
  1945. ["SAM"," s4     s1 n1n2 n3   s16"] é╞ ò╧è╖é╡é─üA"SAM"é┼ listâfü[â^é≡
  1946. âTü[â`é╡é─üA" s4     s1 n1n2 n3   s16" é╞éóéñò╢ÄÜù±é≡ ÄµéΦÅoé╖é╞é▒éδé▄é┼
  1947. ì╧é±é┼éóé▄é╖üB
  1948.  
  1949.   ìíë±é═üAé▒é╠ÄwÆΦò╢ÄÜù±é≡üAùôûêé╠ÄwÆΦé¬Åçé╔ïlé▄é┴é╜ listé╓ò╧è╖é╖éΘòöò¬
  1950. é≡ì∞éΦé▄é╖üB
  1951.  
  1952.   ÄwÆΦé¬æSé─âXâyü[âXïµÉ╪éΦé╚éτüAê╚æOÅ╨ëεé╡é▄é╡é╜ splité╞é⌐é┼ listé╔ò╧è╖
  1953. é┼é½éΘé╠é┼é╖é¬üAìíë±é╠âfü[â^é═ âXâyü[âXé¬û│éóòöò¬éαéáéΦé▄é╖ é╠é┼üA ò╩é╠
  1954. ò√û@é¬òKùvé┼é╖üB
  1955.  
  1956.   ÄwÆΦé¬üAâAâïâtâ@âxâbâgéPò╢ÄÜé╞ÉöÄÜé╠ægé▌ìçéφé╣é┼é╖é╠é┼üAé╗é╠ægé▌ìçéφé╣
  1957. é≡îƒì⌡é╡é─üAlisté╔Åçé╔èiö[é╖éΘ procedureé≡ì∞éΦé▄é╖üB
  1958.   é▒éñéóéñ âfü[â^ò╧è╖ procedureé≡ è╚ÆPé╔ì∞éΩéΘé╞é▒éδé¬üAIconé╠ù╟éóé╞é▒éδ
  1959. é┼é╖üB
  1960.  
  1961.   é╞éóéñé╞é▒éδé┼üAprogramé┼é╖üB Test programéαêΩÅÅé╔ôⁿéΩé─éóé▄é╖üB
  1962. -----^ CN_SPLIT.ICN ( date:97-10-29 time:00:42 ) -----------<cut here
  1963. ####################
  1964. # ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
  1965. ####################
  1966. # cn_split.icn 1997/10/29 windy commentÆ╟ë┴
  1967. # cn_split.icn 1997/08/20 windy òùé┬é⌐éó H.S.
  1968. # This file is in the public domain.
  1969.  
  1970. # Test program
  1971. procedure main()
  1972.   s := "s4     s1 n1n2 n3   s16"
  1973.   s ? every write(!cn_split())
  1974. end
  1975.  
  1976. ####################
  1977. # ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
  1978. ####################
  1979. # Åêù¥ÄwÆΦüiëpò╢ÄÜéPò╢ÄÜé≡æzÆΦüjü{Åêù¥ò╢ÄÜÉö
  1980. # args : c1 : cset(Åêù¥ÄwÆΦéPâoâCâgò╢ÄÜâZâbâg) 
  1981. #        c2 : cset(Åêù¥ò╢ÄÜÉöüAÉöÄÜéÄîàüj
  1982. #        s  : ÄwÆΦò╢ÄÜù±
  1983. # value: list(Åêù¥ÄwÆΦé≡Åçé╔ïlé▀é╜éαé╠)
  1984. # ùß   : "s4     s1 n1n2 n3   s16"      ->    [s4,s1,n1,n2,n3,s16] é╞ò╧è╖
  1985. #        "Ænïà","E",1,15,256,"é┐é½éπéñé═é▄éΘéó"
  1986. # ö⌡ìl : csvâfü[â^é≡ò\âfü[â^é╔ò╧è╖é╖éΘâvâìâOâëâÇé╠é╜é▀é╔ì∞ɼ
  1987. #        Åπé╠ùßé╠ùpé╔üAâfü[â^ùßé╞ò└é╫é─ÄwÆΦé¬ë┬ö\é╚âvâìâOâëâÇé╔é╖éΘé╜é▀
  1988.  
  1989. procedure cn_split(s,c1,c2)
  1990.   /s  := &subject                   # default
  1991.   /c1 := &letters                   # ëpò╢ÄÜé╠æσò╢ÄÜüEżò╢ÄÜé╠âZâbâg
  1992.   /c2 := &digits                    # ÉöÄÜé╠âZâbâg '0123456789'
  1993.   L   := []                         # û▀éΦÆlùp list
  1994.   s ? {
  1995.     while tab(upto(c1)) do {        # c1ûÿâXâLâbâv
  1996.       ss := ""                      # 
  1997.       ss := tab(many(c1))           # c1ê╚èOé╠ò╢ÄÜûÿâXâLâbâvé╡üAé╗é╠è╘é╠ò╢ÄÜ
  1998.                                     # é≡ ssé╓
  1999.       put(L,ss ||:= tab(many(c2)))  # c2ê╚èOé╠ò╢ÄÜûÿâXâLâbâvé╡üAé╗é╠è╘é╠ò╢ÄÜ
  2000.                                     # é≡ ssé╓æ½é╡é▒é▐
  2001.     }
  2002.   }
  2003.   return L
  2004. end
  2005. -----$ CN_SPLIT.ICN ( lines:42 words:140 ) -----------------<cut here
  2006.  
  2007.   cn_split.exeé≡Ä└ìsé╡é╜îïë╩é┼é╖üB
  2008. -----^ CN_SPLIT ( date:97-10-29 time:00:42 ) ---------------<cut here
  2009. s4
  2010. s1
  2011. n1
  2012. n2
  2013. n3
  2014. s16
  2015. -----$ CN_SPLIT ( lines:6 words:6 ) ------------------------<cut here
  2016.  
  2017.   éáé╞üAéαéñêΩé┬ procedureé≡ÅÇö⌡é╡é▄é╖é¬üAé╗éΩé═ăë±é╔üB
  2018.  
  2019. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2020.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2021. BGM: éréìéëéîéàü^ë¬û{É^ûΘ
  2022. (icon_354.txt 1997/10/29 PCVAN PIG)
  2023.  
  2024. üí  Icon > Iconû└éóô╣üiéTüjCSV:ègÆúÄqò╧ìXüiéPüj      òùé┬é⌐éó
  2025.  
  2026.   é│é─üAìíô·é═ ègÆúÄqé≡ò╧ìXé╖éΘ procedureé╔é┬éóé─Éαû╛é╡é▄é╖üBé▒é╠ procedure
  2027. é═üACSVâfü[â^é╠âtâ@âCâïû╝é≡ foo.csvé╞é╡é▄é╖é╞üACSVâfü[â^é≡ò\î`Ä«âfü[â^é╔ò╧è╖
  2028. é╡é╜âfü[â^é╠âtâ@âCâïé═ègÆúÄqé≡ò╧éªé─üAfoo.txté╞éóéñû╝Å╠é╔é╖éΘé╜é▀é╠éαé╠é┼é╖üB
  2029.  
  2030.   é▄é╕ âtâ@âCâïû╝é╠ '.' é╠æOé╠òöò¬é╞ îπéδé╠òöò¬é≡ò¬é»éΘ procedureé≡ì∞éΦé▄é╖üB
  2031.   æüæ¼üAprogramé┼é╖üB
  2032. -----^ DOT.ICN ( date:97-10-30 time:00:33 ) ----------------<cut here
  2033. ####################
  2034. # ò╢ÄÜù± sé╠ ò╢ÄÜ céµéΦÄΦæOé╞îπéδé╠òöò¬é≡ô╛éΘüB
  2035. ####################
  2036. # ò╢ÄÜù± sé╠ ò╢ÄÜ céµéΦÄΦæOé╞îπéδé╠òöò¬é≡ô╛éΘüB
  2037. # Å«üAò╢ÄÜ cé═üAéPî┬é⌐ éαé╡é¡é═û│éóÅΩìçé≡æzÆΦüAòíÉöé╠ÅΩìçé═ top_get()éΓ
  2038. # top_cut() é≡ÄgéñüB
  2039. # âtâ@âCâïû╝é╠ègÆúÄqé≡Å£éóé╜òöò¬éΓègÆúÄqé≡ô╛éΘÅΩìçé╞é⌐üAÉöÄÜé╠żÉöô_ê╚ë║éΓ
  2040. # ê╚Åπé╠Ælé≡ô╛éΘÅΩìçé╔ÄgùpüB
  2041. # dot.icn 1997/10/30 windy commentÅCÉ│
  2042. # dot.icn 1997/08/15 windy òùé┬é⌐éó H.S.
  2043. # This file is in the public domain.
  2044.  
  2045. ####################
  2046. # céµéΦÄΦæOé╠òöò¬é≡ô╛éΘüB
  2047. ####################
  2048. # args : (1):ò╢ÄÜù±, (2):ò╢ÄÜüiâZâbâgüj
  2049. # value: ò╢ÄÜù±
  2050. #        cé¬è▄é▄éΩû│éóÅΩìçé═üAê°Éöò╢ÄÜù±
  2051.  
  2052. procedure pre_char(s,c)
  2053.   /c := '.'                  # default
  2054.   s ? return tab(upto(c) | 0)
  2055. end
  2056.  
  2057.  
  2058. ####################
  2059. # céµéΦîπéδé╠òöò¬é≡ô╛éΘüB
  2060. ####################
  2061. # args : (1):ò╢ÄÜù±, (2):ò╢ÄÜüiâZâbâgüj
  2062. # value: ò╢ÄÜù±
  2063. #        cé¬è▄é▄éΩû│éóÅΩìçé═üA""üiï≤ò╢ÄÜù±üj
  2064.  
  2065. procedure post_char(s,c)
  2066.   /c := '.'                  # default
  2067.   s ? return if tab(upto(c)) then 2(move(1),tab(0)) else ""
  2068. end
  2069. -----$ DOT.ICN ( lines:36 words:102 ) ----------------------<cut here
  2070.  
  2071.   é▒é╠òöò¬é╠ Test programé┼é╖üB
  2072. -----^ DOT~.ICN ( date:97-10-30 time:00:43 ) ---------------<cut here
  2073. # test procedure for dot.icn
  2074. # dot~.icn 1997/10/30 windy commentÅCÉ│
  2075. # dot~.icn 1997/08/15 windy òùé┬é⌐éó H.S.
  2076. # This file is in the public domain.
  2077. link dot
  2078.  
  2079. procedure main()
  2080.   write(s := "abcd.efg"," ",pre_char(s)," ",post_char(s))
  2081.   write(s := "abcd"," ",pre_char(s)," ",post_char(s))
  2082.   write(s := ".efg"," ",pre_char(s)," ",post_char(s))
  2083.   write(s := "abcd."," ",pre_char(s)," ",post_char(s))
  2084.   write(s := "123.45"," ",pre_char(s)," ",post_char(s))
  2085.   write(s := "123"," ",pre_char(s)," ",post_char(s))
  2086.   write(s := ".45"," ",pre_char(s)," ",post_char(s))
  2087.   write(s := "123."," ",pre_char(s)," ",post_char(s))
  2088. end
  2089. -----$ DOT~.ICN ( lines:16 words:69 ) ----------------------<cut here
  2090.  
  2091.   dot~.exeé╠îïë╩é┼é╖üB
  2092. -----^ DOT~ ( date:97-10-30 time:00:36 ) -------------------<cut here
  2093. abcd.efg abcd efg
  2094. abcd abcd 
  2095. .efg  efg
  2096. abcd. abcd 
  2097. 123.45 123 45
  2098. 123 123 
  2099. .45  45
  2100. 123. 123 
  2101. -----$ DOT~ ( lines:8 words:18 ) ---------------------------<cut here
  2102.  
  2103.   é┐éσé┴é╞üAÆ╖é¡é╚éΦé▄é╡é╜é╠é┼üAæ▒é½é═ăë±é╔üB
  2104.  
  2105. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2106.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2107. BGM: Blow by Blow / Jeff Beck
  2108. (icon_355.txt 1997/10/30 PCVAN PIG)
  2109.  
  2110. üí  Icon > Iconû└éóô╣üiéUüjCSV:ègÆúÄqò╧ìXüiéQüj      òùé┬é⌐éó
  2111.  
  2112.   é│é─üAègÆúÄqé≡ò╧ìXé╖éΘ procedureé╠é┬é├é½é┼é╖üB æOë± ì∞éΦé▄é╡é╜ '.' é╠æOé╠
  2113. òöò¬é╞ îπéδé╠òöò¬é≡ò¬é»éΘ procedureé≡Ägé┴é─üAègÆúÄqé≡ò╧ìXé╡é╜éΦâ`âFâbâNé╡é╜
  2114. éΦé╖éΘ procedureé≡ì∞éΦé▄é╖üB
  2115.  
  2116. -----^ EXT.ICN ( date:97-10-30 time:00:48 ) ----------------<cut here
  2117. ####################
  2118. # ègÆúÄqû╝ò╧ìXüEâ`âFâbâN
  2119. ####################
  2120. # ext.icn 1997/10/30 windy commentÅCÉ│
  2121. # ext.icn 1997/08/25 windy òùé┬é⌐éó H.S.
  2122. link dot
  2123.  
  2124. ####################
  2125. # ègÆúÄqû╝ò╧ìXâtâ@âCâïû╝É╢ɼ
  2126. ####################
  2127. # ègÆúÄqû╝鬠ext1é╚éτé╬üAègÆúÄqé≡ ext2é╔ò╧ìXé╡é╜âtâ@âCâïû╝é≡É╢ɼ
  2128. # args : (1):ïûùeâ`âFâbâNègÆúÄqû╝, (2):ÉVègÆúÄq, (3):âtâ@âCâïû╝,(4):ö╜ô]
  2129. # value: string: ÉVâtâ@âCâïû╝
  2130. #        ègÆúÄq鬠ext1é┼û│é»éΩé╬üAÄ╕ös
  2131. # ö⌡ìl : negé╔üAë╜é⌐Ælé≡âZâbâgé╖éΘé╞Å≡îÅé≡ö╜ô]üiègÆúÄqé¬üAext1é┼û│é»éΩé╬
  2132. #        üDüDüDé╞éóéñô«ì∞é╞é╚éΘüB
  2133.  
  2134. procedure change_ext(ext1,ext2,f_name,neg)
  2135.   return if /neg                              # ü½'.'ê╚æOé╠ò╢ÄÜù±
  2136.   then 2(map(ext1)  == map(post_char(f_name)),pre_char(f_name) || "." || ext2)
  2137.                            # ü¬'.'ê╚ì~é╠ò╢ÄÜù±üiüüègÆúÄqüj
  2138.                 # ü½ü¬öΣèrÄ«é═üAɼî≈é╖éΩé╬ëEò╙Ælé╔é╚éΘüB
  2139.   else 2(map(ext1) ~== map(post_char(f_name)),pre_char(f_name) || "." || ext2)
  2140. end
  2141.  
  2142.  
  2143. ####################
  2144. # ègÆúÄqû╝â`âFâbâN
  2145. ####################
  2146. # ègÆúÄqû╝鬠exté⌐é╟éñé⌐â`âFâbâN
  2147. # args : (1):ïûùeègÆúÄqû╝, (2):âtâ@âCâïû╝ ,(3):ö╜ô]
  2148. # value: string: âtâ@âCâïû╝
  2149. #        ègÆúÄq鬠exté┼é╚é»éΩé╬üAÄ╕ös
  2150. #        ègÆúÄqû│é╡é╠â`âFâbâNé═üAexté╔ ""üiï≤ò╢ÄÜù±üjé≡âZâbâg
  2151. # ö⌡ìl : negé╔üAë╜é⌐Ælé≡âZâbâgé╖éΘé╞Å≡îÅé≡ö╜ô]üiègÆúÄqé¬üAexté╚éτÄ╕ösüj
  2152.  
  2153. procedure check_ext(ext,f_name,neg)
  2154.   return if /neg
  2155.   then 2(map(ext)  == map(post_char(f_name)),f_name)
  2156.   else 2(map(ext) ~== map(post_char(f_name)),f_name)
  2157. end
  2158. -----$ EXT.ICN ( lines:41 words:113 ) ----------------------<cut here
  2159.  
  2160.   Test programé┼é╖üB
  2161. -----^ EXT~.ICN ( date:97-10-30 time:01:08 ) ---------------<cut here
  2162. ####################
  2163. # ègÆúÄqû╝ò╧ìXüEâ`âFâbâN Test program
  2164. ####################
  2165. # ext~.icn 1997/10/30 windy commentÅCÉ│
  2166. # ext~.icn 1997/08/25 windy òùé┬é⌐éó H.S.
  2167. link ext
  2168.  
  2169. procedure main()
  2170.   write("ègÆúÄqâ`âFâbâN:check_ext test")
  2171.   write(s1 := "def"," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
  2172.   write(s1 := "DEF"," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
  2173.   write(s1 := "def"," ",s2 := "abc.DEF"," ",check_ext(s1,s2) | "error")
  2174.   write(s1 := "def"," ",s2 := "abc"," ",check_ext(s1,s2) | "error")
  2175.   write(s1 := ""," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
  2176.   write(s1 := ""," ",s2 := "abc"," ",check_ext(s1,s2) | "error")
  2177.  
  2178.   write("ègÆúÄqò╧ìX:change_ext test")
  2179.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2180.               change_ext(s1,s2,s3) | "error")
  2181.   write(s1 := "DEF"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2182.               change_ext(s1,s2,s3) | "error")
  2183.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.DEF"," ",
  2184.               change_ext(s1,s2,s3) | "error")
  2185.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.txt"," ",
  2186.               change_ext(s1,s2,s3) | "error")
  2187.   write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2188.               change_ext(s1,s2,s3) | "error")
  2189.   write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc"," ",
  2190.               change_ext(s1,s2,s3) | "error")
  2191.  
  2192.   write("ègÆúÄqâ`âFâbâN:check_ext Å≡îÅö╜ô] test")
  2193.   write(s1 := "def"," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
  2194.   write(s1 := "DEF"," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
  2195.   write(s1 := "def"," ",s2 := "abc.DEF"," ",check_ext(s1,s2,"") | "error")
  2196.   write(s1 := "def"," ",s2 := "abc"," ",check_ext(s1,s2,"") | "error")
  2197.   write(s1 := ""," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
  2198.   write(s1 := ""," ",s2 := "abc"," ",check_ext(s1,s2,"") | "error")
  2199.  
  2200.   write("ègÆúÄqò╧ìX:change_ext Å≡îÅö╜ô] test")
  2201.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2202.               change_ext(s1,s2,s3,"") | "error")
  2203.   write(s1 := "DEF"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2204.               change_ext(s1,s2,s3,"") | "error")
  2205.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.DEF"," ",
  2206.               change_ext(s1,s2,s3,"") | "error")
  2207.   write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.txt"," ",
  2208.               change_ext(s1,s2,s3,"") | "error")
  2209.   write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc.def"," ",
  2210.               change_ext(s1,s2,s3,"") | "error")
  2211.   write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc"," ",
  2212.               change_ext(s1,s2,s3,"") | "error")
  2213. end
  2214. -----$ EXT~.ICN ( lines:52 words:296 ) ---------------------<cut here
  2215.  
  2216.   ext~.exeé╠îïë╩é┼é╖üB
  2217. -----^ EXT~ ( date:97-10-30 time:00:53 ) -------------------<cut here
  2218. ègÆúÄqâ`âFâbâN:check_ext test
  2219. def abc.def abc.def
  2220. DEF abc.def abc.def
  2221. def abc.DEF abc.DEF
  2222. def abc error
  2223.  abc.def error
  2224.  abc abc
  2225. ègÆúÄqò╧ìX:change_ext test
  2226. def xyz abc.def abc.xyz
  2227. DEF xyz abc.def abc.xyz
  2228. def xyz abc.DEF abc.xyz
  2229. def xyz abc.txt error
  2230.  xyz abc.def error
  2231.  xyz abc abc.xyz
  2232. ègÆúÄqâ`âFâbâN:check_ext Å≡îÅö╜ô] test
  2233. def abc.def error
  2234. DEF abc.def error
  2235. def abc.DEF error
  2236. def abc abc
  2237.  abc.def abc.def
  2238.  abc error
  2239. ègÆúÄqò╧ìX:change_ext Å≡îÅö╜ô] test
  2240. def xyz abc.def error
  2241. DEF xyz abc.def error
  2242. def xyz abc.DEF error
  2243. def xyz abc.txt abc.xyz
  2244.  xyz abc.def abc.xyz
  2245.  xyz abc error
  2246. -----$ EXT~ ( lines:28 words:86 ) --------------------------<cut here
  2247.  
  2248.   é╞éóéñé▒é╞é┼üAéΓé┴é╞ă뱠CSVâfü[â^é≡ ò\î`Ä«âfü[â^é╔ ò╧ìXé╖éΘ programé¬
  2249. é▄é╞é▄éΦé▄é╖üB
  2250.  
  2251. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2252.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2253. BGM: Blow by Blow / Jeff Beck
  2254. (icon_356.txt 1997/10/30 PCVAN PIG)
  2255.  
  2256. üí  Icon > Iconû└éóô╣üiéVüjCSV:CSV2TB                òùé┬é⌐éó
  2257.  
  2258.   é│é─üACSVâfü[â^é≡ò\î`Ä«âfü[â^é╓ò╧è╖é╖éΘ programé╠é▄é╞é▀é┼é╖üB
  2259. CSVâfü[â^é╠âtâ@âCâïé⌐éτüAéPìsé╕é┬âfü[â^é≡ô╟ì₧é±é┼üACSVâfü[â^é≡ò\î`Ä«âfü[â^
  2260. é╔ò╧è╖é╡é─üAÅæé½Åoé╡é─éóé½é▄é╖üB
  2261.  
  2262. -----^ CSV2TB.ICN ( date:97-10-26 time:21:08 ) -------------<cut here
  2263. ####################
  2264. # CSV(commaïµÉ╪éΦâfü[â^)é≡ ò\î`Ä«é╔ò╧è╖
  2265. ####################
  2266. # csv2tb.icn   Rev.1.2 1997/10/26 windy .cfgò╧è╖ÄwÆΦé≡tableé⌐éτlisté╓ò╧ìX
  2267. # csv2tb.icn   Rev.1.1 1997/08/26 windy .cfgò╧è╖ÄwÆΦò√Ä«é╓ò╧ìXüAû╝Å╠ò╧ìX
  2268. # csv2tbl.icn  Rev.1.1 1994/11/03 windy òùé┬é⌐éó H.S.
  2269. # Usage   : csv2tb [format] input.csv
  2270. #           formatùß : "s14 s0 n4"
  2271. #           command lineé╠ formatÄwÆΦé¬û│éóÅΩìçé═ current directoryé╠
  2272. #           csv2tb.cfgé╔é─ formatÄwÆΦé│éΩé─éóéΘéαé╠é╞î⌐é╚é╖üB
  2273. #             SA=s14 s0 n4
  2274. #           ÄwÆΦé╠éΓéΦò√ : s14 :ò╢ÄÜù± 12îàüAn4 :ÉöÄÜ 4îàüB s0 :é╗é╠ùôé═û│Äï
  2275. #           ò╧è╖îπé╠âfü[â^é═üAinput.txté╞éóéñâtâ@âCâïé╓Åoù═é│éΩéΘüB
  2276. # This file is in the public domain.
  2277. link string_e,  # cn_split
  2278.      file_e     # get_inil, change_ext, key_check
  2279.  
  2280. procedure main(args)   # argsé═ command lineê°Éö(list)üB
  2281.                        # û╝æOé═ argsê╚èOé┼éαù╟éóüB
  2282.   Usage := (map(f_name()) || " s14 s0 n4 input.csv")
  2283.            #ü¬map()é═üAâfâtâHâïâgé┼é═üAæσò╢ÄÜü¿Å¼ò╢ÄÜò╧è╖
  2284.   new_ext := "txt"     # ò\î`Ä«é╓ò╧è╖é╡é╜âfü[â^é╠âtâ@âCâïé╠ègÆúÄqÄwÆΦ
  2285.  
  2286. # ê°Éöâ`âFâbâN
  2287.   case *args of {  # *argsé═üAargsé╠âTâCâYé≡Īé╖üBé▒é▒é┼é═ê°Éöé╠ÉöüB
  2288.     0 : stop(Usage)# ê°ÉöâGâëü[
  2289.     1 : {    # ò╧è╖ÄwÆΦ鬠command lineé╔û│éóé╠é┼üA.cfgé≡ô╟é▌ì₧é▐üB
  2290.       f_csv := map(args[-1],&lcase,&ucase)      # [-1]é═ì┼îπé╠ùvæfé≡ÄwÆΦ
  2291.              # ü¬ëpæσò╢ÄÜé╓ò╧è╖
  2292.       L_cfg := get_inil("CFG") | stop("cannot open .CFG file")
  2293.              # ü¬ÆΦï` fileô╟ì₧é▌
  2294.       form  := cn_split(key_check(L_cfg,f_name(f_csv)))    # âeâLâXâgò╧è╖ÄwÆΦ
  2295.              # ü¬      #ü¬ csvâtâ@âCâïé╠û╝æOé╠ɵô¬é┼üAcfgâtâ@âCâïé╠é╟é╠ÄwÆΦé≡
  2296.              # üb      # Ägéñé⌐ö╗Æfé╖éΘüB
  2297.              # übdataò╧è╖ÄwÆΦé≡ listé╓ò╧è╖
  2298.     }
  2299.     default : {    # âtâ@âCâïÄwÆΦê╚èOé╠ê°Éöé≡ formé╔âZâbâgüB
  2300.       f_csv := args[-1]
  2301.       form  := args[1:-1]
  2302.     }              # ü¬[1:-1]é═üAì┼Åëé╠ùvæfé⌐éτì┼îπé╠ùvæfé▄é┼é╠ö═ê═ÄwÆΦ
  2303.   }
  2304.   # open files
  2305.   intext  := open(f_csv) | stop("cannot open ",f_csv)
  2306.   # ègÆúÄq鬠"csv" é╚éτé╬üAnew_txté╓ò╧è╖é╡é╜éαé╠é≡üAÅoù═âtâ@âCâïû╝é╞é╖éΘüB
  2307.   outtext := open(f_new := change_ext("csv",new_ext,f_csv),"a") |
  2308.              stop("file error")
  2309.   write(&errout,f_csv," -> ",f_new)        # ô«ì∞âéâjâ^ü[
  2310.  
  2311. # display form data
  2312. #  every writes(&errout," ",!form) ; write(&errout)
  2313.  
  2314.   # main
  2315.   no := 0                                  # âéâjâ^ü[ùpò\Īé╠ìsö╘ìåÅëè·Æl
  2316.   while line := read(intext) do {          # âtâ@âCâïé≡éPìsé╕é┬ô╟é▌ì₧é▌üA
  2317.     write(outtext,csv2tb(line,form))       # formÄwÆΦé╔Å]éóò╧è╖
  2318.     writes(&errout," ",right(no +:= 1,4))  # âéâjâ^ü[ùpò\Ī
  2319.   }
  2320.   write(&errout,"")                        # âJü[âTü[ò£ïA
  2321.  
  2322.   # close files üiû│é¡é─éαô«é¡üj
  2323.   close(intext)
  2324.   close(outtext)
  2325. end
  2326.  
  2327.  
  2328. ####################
  2329. # csvâfü[â^éPìsò╧è╖ procedure
  2330. ####################
  2331. # args : [1]: string csvâfü[â^üiéPìsüjüA[2]: list ò╧è╖ÄwÆΦò╢ÄÜü{îàé╠ listüA
  2332. #        [3]: îàæ╡éªÆ╟ë┴ò╢ÄÜ
  2333. # value: string ò\î`Ä«é╔ò╧è╖é│éΩé╜ò╢ÄÜù±üiéPìsüj
  2334.  
  2335. procedure csv2tb(line,form,s_fill)
  2336.   /s_fill := " " # ÄwÆΦé¬û│é»éΩé╬üAspaceé╞î⌐é╚é╖üB
  2337.                  # î┤âfü[â^Æåé╠ spaceé╞îàæ╡éªé╠é╜é▀é╔òtë┴é╖éΘ spaceé≡ïµò╩é≡
  2338.                  # é╖éΘÄ₧ÄgùpüBùßéªé╬üAâfü[â^Æåé╠ " "é≡ "_"é╞é⌐é╔ò╧è╖é╖éΘüB
  2339.   if line[1] == "#" then {       # ìsé╠ɵô¬é¬ "#"é╚éτâRâüâôâgìs
  2340.     return line
  2341.   }
  2342.  
  2343.   l_list := split_csv(line)      # ìsâfü[â^é≡üA","ïµÉ╪éΦé┼üAlisté╔ò╧è╖üB
  2344.  
  2345.   ##################
  2346.   # ÄwÆΦîàìçéφé╣
  2347.   ##################
  2348.   i := 1     # ùôö╘ìå
  2349.   s_line := ""                   # ò╢ÄÜù±æ½é╡ì₧é▌ùpé╠ï≤ò╢ÄÜù±
  2350.   while i <= *form do {          # ò╧è╖ÄwÆΦé╠Éöò¬üAâïü[âv
  2351.     if not (form[i][2:0] == "0") then {  # 0îàÄwÆΦé┼é╚é»éΩé╬
  2352.       if form[i][1] == "s"
  2353.       # ò╢ÄÜù±ÄwÆΦé╛é┴é╜éτüAì╢ïlé▀
  2354.       then s_line ||:= (left(map(string(l_list[i])," ",s_fill),
  2355.                         form[i][2:0]) || " ")
  2356.       # ÉöÄÜÄwÆΦé╛é┴é╜éτüAëEïlé▀
  2357.       else s_line ||:= (right(l_list[i],form[i][2:0]) || " ")
  2358.     }
  2359.     i +:= 1
  2360.   }
  2361.   return s_line[1:-1]   # ûûö÷é╠ spaceé╠  é┬é»ë▀é¼é≡ìφÅ£üB
  2362. end
  2363.  
  2364.  
  2365. ####################
  2366. # csvâfü[â^é≡ listé╔ò╧è╖
  2367. ####################
  2368. # args : string csvâfü[â^üiéPìsüj
  2369. #        ò╢ÄÜù±âfü[â^é═ ù╝Æ[é≡ \" é┼ê═é▄éΩé─éóéΘéαé╠é╞é╖éΘüB
  2370. #        ò╢ÄÜù±Æåé╠ \"é═üA\"\"é┼ò\éφé│éΩé─éóéΘéαé╠é╞é╖éΘüB
  2371. # value: list ùôâfü[â^é≡Åçé╔ listé╔ïlé▀é╜éαé╠
  2372. # ö⌡ìl : 3Å≤æ╘é╠Å≤æ╘æJê┌â}âVâô  state : "init": Åëè·Å≤æ╘,
  2373. #        "string":ò╢ÄÜù±Åêù¥Å≤æ╘,  "number":ÉöÄÜÅêù¥Å≤æ╘
  2374.  
  2375. procedure split_csv(line)
  2376.   state := "init"       # ô«ì∞Å≤æ╘è╟ù¥ò╧Éöé╔üAÅëè·Å≤æ╘é≡âZâbâg
  2377.                         # "string":ò╢ÄÜù±Åêù¥Å≤æ╘, "number":ÉöÄÜÅêù¥Å≤æ╘
  2378.   L     := []           # û▀éΦÆlùp ï≤ list
  2379.   line ? {
  2380.     repeat {
  2381. #      write(&errout,&pos," ",state)
  2382.       case state of {
  2383.         "init"     : {  # Åëè·Å≤æ╘
  2384.           buf   := ""              # ò╢ÄÜù±æ½é╡ì₧é▌ùpâoâbâtâ@ü[Åëè·ë╗
  2385.           s := move(1) | fail      # Äƒé╠éPò╢ÄÜé≡ get
  2386.           if s == "\""             # stringâfü[â^é╠Äné▀ïLìåé╚éτ
  2387.           then state := "string"   # Å≤æ╘ -> ò╢ÄÜù±Åêù¥
  2388.           else {
  2389.             state := "number"      # Å≤æ╘ -> ÉöÄÜÅêù¥
  2390.             move(-1)               # &posû▀é╡
  2391.           }
  2392.         }
  2393.         "number"   : {  # ÉöÄÜâfü[â^Åêù¥Å≤æ╘
  2394.           put(L,tab(upto(',') | 0)) # Äƒé╠ ","ûÿé╠ò╢ÄÜù±é≡ list Lé╔Æ╟ë┴
  2395.           move(1)      | break     # skip "," é▄é╜é═ìsûûé┼âïü[âvé≡ö▓é»éΘüB
  2396.           state := "init"          # Å≤æ╘ -> Åëè·Å≤æ╘
  2397.         }
  2398.         "string"   : {  # ò╢ÄÜù±âfü[â^Åêù¥Å≤æ╘
  2399.           buf ||:= tab(upto("\"")) # Äƒé╠ "\""ûÿé╠ò╢ÄÜù±é≡ bufé╔Æ╟ë┴
  2400.           move(1)                  # skip \"üiòKé╕éáéΘé═é╕üBüj
  2401.           if (s := move(1))        # ìsûûâ`âFâbâN
  2402.           then {                   # ìsûûé┼é╚é»éΩé╬
  2403.             if s == ","            # âfü[â^ïµÉ╪éΦïLìå
  2404.             then {                 # æOé╠ \"é═üAstringé╠ÅIéφéΦé╛é┴é╜üB
  2405.               put(L,buf)           # bufé╠ôαùeé≡ listé╓Æ╟ë┴
  2406.               state := "init"      # Å≤æ╘ -> Åëè·Å≤æ╘
  2407.             }
  2408.             else {                 # æOé╠ \"é═üAescapeé╛é┴é╜üB
  2409.               buf ||:= s           # bufé╔æ½é╡ì₧é▌
  2410.               state := "string"    # Å≤æ╘ -> ò╢ÄÜù±Åêù¥
  2411.             }
  2412.           }
  2413.           else {                   # ìsûûé╚é╠é┼âïü[âvé≡ö▓é»éΘüB
  2414.             put(L,buf)             # bufé╠ôαùeé≡ listé╓Æ╟ë┴
  2415.             break
  2416.           }
  2417.         }
  2418.         default    : stop("state error")  # é▒é▒é╓é═üAùêé╚éóânâYüB
  2419.       }
  2420.     }
  2421.   }
  2422.   return L
  2423.  
  2424. end
  2425. -----$ CSV2TB.ICN ( lines:162 words:594 ) ------------------<cut here
  2426.  
  2427.   ô«ì∞é═üAâRâüâôâgé┼é¿ò¬é⌐éΦéóé╜é╛é»éΘé⌐é╞Ävéóé▄é╖üB
  2428.   linkÄwÆΦé═üAé▒éΩé▄é┼ì∞é┴é╜ procedureé≡ÄwÆΦé╡é─éóéΘé╠é┼é╖é¬üA  Ääé╠
  2429.   libraryé╔ìçéφé╣é╜ÄwÆΦé╞é╚é┴é─éóé▄é╖üB é¿ÄÄé╡é╠Ä₧é═üAôKôûé╔ÅCÉ│é≡é¿èΦéó
  2430.   é╡é▄é╖üBüiÄΦö▓é½é╛é╚ü`üBè╛üj
  2431.  
  2432.   Äƒë±é═üAò\î`Ä«âfü[â^é≡üACSVî`Ä«âfü[â^é╔ò╧è╖é╖éΘ programé≡ì∞éΦé▄é╖üB
  2433.  
  2434. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2435.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2436. BGM: éréòéÄ üò éléÅéÅéÄü^ë¬û{É^ûΘ
  2437. (icon_357.txt 1997/10/31 PCVAN PIG)
  2438.  
  2439. üí  Icon > Iconû└éóô╣üiéWüjCSV:CSV2TB                òùé┬é⌐éó
  2440.  
  2441.   é│é─üAìíë±é═üAò\î`Ä«âfü[â^é≡ CSVâfü[â^é╓ò╧è╖é╖éΘ programé┼é╖üBé▒é╠ program
  2442. é┼éαüAÆΦï`âtâ@âCâïé≡Ägéóé▄é╖é¬üAăé╠éµéñé╚î`Ä«é┼é╖üB
  2443. -----^ TB2CSV.CFG ( date:97-10-26 time:21:20 ) -------------<cut here
  2444. ####################
  2445. # ò\âfü[â^ -> csvâtâ@âCâïò╧è╖ÄwÆΦâtâ@âCâï
  2446. ####################
  2447. # ìsô¬é¬ "#"éáéΘéóé═ìsé╔ "="é¬è▄é▄éΩû│éóé╚éτüAû│ÄïüBüiâRâüâôâgüj
  2448. # Åêù¥æ╬Å█âtâ@âCâïû╝é╠ɵô¬ò╢ÄÜé╔é─üAÅêù¥ÄwÆΦé≡Ä»ò╩é╖éΘüB
  2449. # âtâ@âCâïÄ»ò╩ò╢ÄÜüi"="é╠ÄΦæOé╠ò╢ÄÜüjé═üAëpÄÜæσò╢ÄÜüB
  2450. # ò╧è╖ÄwĪé═üA
  2451. # s: ò╢ÄÜâfü[â^ɵô¬ÄwĪüAn: ÉöÄÜâfü[â^ɵô¬ÄwĪüAd: ìφÅ£âfü[â^ɵô¬ÄwĪ
  2452. ####################
  2453.  
  2454. # âeâXâgùpâTâôâvâïâfü[â^
  2455.    #é╚é⌐éΓé▄é▌é┘  ÆåÄRöⁿòΣ  1970  3  1 O 158  80  60  84  45 ôîï₧ôsżïαêΣ
  2456. SAM=s            ds        dn   dn dn dsdn  dn  dn  dn  dn  ds           
  2457. -----$ TB2CSV.CFG ( lines:13 words:47 ) --------------------<cut here
  2458.  
  2459.   Åπé╠ÆΦï`âtâ@âCâïé╠ÅΩìçé╔üAò╧è╖ÄwĪé╠ò╢ÄÜé╠ê╩Æué≡îƒÅoé╖éΘòKùvé¬éáéΦé▄é╖üB
  2460. é╞éóéñé▒é╞é┼üAæüæ¼é╗é╠ procedureé┼é╖üB éPìsé╠ò\âfü[â^ CSVâfü[â^é╓ò╧è╖é╖éΘ
  2461. programéα Test programé╞é╡é─è▄é±é┼éóé▄é╖üB show_wlé═üAê╚æOÅ╨ëεé╡é▄é╡é╜
  2462. éQÅd listò\Ī procedureüAreplaceé═ BIPLé╔è▄é▄éΩéΘ procedureé┼é╖üB
  2463. -----^ CP_SPLIT.ICN ( date:97-10-31 time:00:09 ) -----------<cut here
  2464. ####################
  2465. # ò\î`Ä«âfü[â^ü¿CSVâfü[â^ò╧è╖ programé╠ÅKì∞
  2466. ####################
  2467. # cp_split.icn 1997/10/31 windy commentÅCÉ│
  2468. # cp_split.icn 1997/08/25 windy òùé┬é⌐éó H.S.
  2469. link view_e,  # show_wl
  2470.      strings  # replace
  2471.  
  2472. procedure main()
  2473.           #0   0 0 00 1  1       2 2   2 3 
  2474.           #1   5 7 89 1  5       3 5   9 1
  2475.   s1 :=   "Ænïà  E 115256é┐é½éπéñé═é▄éΘéó"
  2476.   s2 :=   "s   d sdnn n  s       d s   d "
  2477.   write(s1,"\n",s2)
  2478.   write(right("",*s1,"1234567890"))
  2479.   L  := cp_split(s2)
  2480.   show_wl(L)                        # éQÅd list ò\Ī
  2481.  
  2482.   # csvò╧è╖é╠ùß
  2483.   ss := ""
  2484.   every i := 1 to *L do {
  2485.     ss ||:= case (LL := L[i])[1] of {
  2486.               "s" : { "\"" || replace(s1[LL[2]:LL[3]],"\"","\"\"") || "\"\," }
  2487.               "n" : {         s1[LL[2]:LL[3]] || "\,"   }
  2488.             # "d" é╠òöò¬é═û│Äïé╖éΘüB
  2489.             }
  2490.   }
  2491.   write(ss[1:-1])
  2492. end
  2493.  
  2494. ####################
  2495. # ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
  2496. ####################
  2497. # Åêù¥ÄwÆΦ ëpò╢ÄÜéPò╢ÄÜ
  2498. # args : c : cset(Åêù¥ÄwÆΦéPâoâCâgò╢ÄÜâZâbâg) 
  2499. #        s : ÄwÆΦò╢ÄÜù±
  2500. # value: éQÅd list(Åêù¥ÄwÆΦé≡Åçé╔ïlé▀é╜éαé╠)
  2501. #        [1]:ÄwÆΦò╢ÄÜ, [2]:èJÄnê╩Æu, [3]:ăé╠ÄwÆΦò╢ÄÜé╠èJÄnê╩Æu
  2502. # ÄwÆΦùß   0   0 0 00 1  1       2 2   2 3
  2503. #          1   5 7 89 1  5       3 5   9 1
  2504. # s1 :=   "Ænïà  E 115256é┐é½éπéñé═é▄éΘéó"
  2505. # s2 :=   "s   d sdnn n  s       d s   d "
  2506. # s2é≡    [["s",1,5],["d",5,7], ... ,["d",29,31]] é╞ò╧è╖é╖éΘüB
  2507. # ö⌡ìl : ò\âfü[â^é╠É«î`üi csvò╧è╖üAôÖüjé╠âvâìâOâëâÇé╠é╜é▀é╔ì∞ɼ
  2508. #        Åπé╠ùßé╠ùpé╔üAâfü[â^ùßé╞ò└é╫é─ÄwÆΦé¬ë┬ö\é╚âvâìâOâëâÇé╔é╖éΘé╜é▀
  2509.  
  2510. procedure cp_split(s,c)
  2511.   /s  := &subject                   # default
  2512.   /c  := &letters                   # ëpò╢ÄÜé╠æσò╢ÄÜüEżò╢ÄÜé╠âZâbâg
  2513.   L   := []                         # û▀éΦÆlùp list
  2514.   s ? {
  2515.     tab(ps := upto(c))              # cûÿâXâLâbâv
  2516.     move(1)                         # é╗é╠ò╢ÄÜé≡âXâLâbâv
  2517.     while tab(upto(c)) do {         # Äƒé╠ cûÿâXâLâbâvé╡üA
  2518.       put(L,[s[ps],ps,&pos])        # ò╢ÄÜüAèJÄnê╩ÆuüAăé╠ò╢ÄÜé╠èJÄnê╩Æu
  2519.                                     # é≡ list é╔Æ╟ë┴
  2520.       ps := &pos                    # psìXÉV
  2521.       move(1)                       # é╗é╠ò╢ÄÜé≡âXâLâbâv
  2522.     }
  2523.     put(L,[s[ps],ps,*s+1])          # ÄcéΦé╠òöò¬é≡Åêù¥
  2524.   }
  2525.   return L
  2526. end
  2527. -----$ CP_SPLIT.ICN ( lines:63 words:253 ) -----------------<cut here
  2528.  
  2529.   cp_split.exeé╠Ä└ìsîïë╩é┼é╖üB
  2530. -----^ CP_SPLIT ( date:97-10-31 time:00:11 ) ---------------<cut here
  2531. Ænïà  E 115256é┐é½éπéñé═é▄éΘéó
  2532. s   d sdnn n  s       d s   d 
  2533. 123456789012345678901234567890
  2534.  s 1 5
  2535.  d 5 7
  2536.  s 7 8
  2537.  d 8 9
  2538.  n 9 10
  2539.  n 10 12
  2540.  n 12 15
  2541.  s 15 23
  2542.  d 23 25
  2543.  s 25 29
  2544.  d 29 31
  2545.  
  2546. "Ænïà","E",1,15,256,"é┐é½éπéñ","é▄éΘ"
  2547. -----$ CP_SPLIT ( lines:16 words:46 ) ----------------------<cut here
  2548.  
  2549.   é╞éóéñé╞é▒éδé┼üAé▄é╞é▀é┼é╖üB
  2550. -----^ TB2CSV.ICN ( date:97-10-26 time:21:16 ) -------------<cut here
  2551. ####################
  2552. # ò\î`Ä«âfü[â^é≡ CSV(commaïµÉ╪éΦâfü[â^)é╔ò╧è╖
  2553. ####################
  2554. # tb2csv.icn   Rev.1.2 1997/10/26 windy .cfgò╧è╖ÄwÆΦé≡tableé⌐éτlisté╓ò╧ìX
  2555. # tb2csv.icn   Rev.1.1 1997/08/26 windy .cfgò╧è╖ÄwÆΦò√Ä«é╓ò╧ìXüAû╝Å╠ò╧ìX
  2556. # tbl2csv.icn  Rev.1.1 1994/10/30 windy òùé┬é⌐éó H.S.
  2557. # Usage   : tb2csv input.txt
  2558. #           tb2csv.cfgé╔é─ formatÄwÆΦé≡ìséñüB
  2559.    #é╚é⌐éΓé▄é▌é┘  ÆåÄRöⁿòΣ  1970  3  1 O 158  80  60  84  45 ôîï₧ôsżïαêΣ
  2560. #SA=s            ds        dn   dn dn dsdn  dn  dn  dn  dn   s           
  2561. #  ò╧è╖îπé╠âfü[â^é═üAinput.csvé╞éóéñâtâ@âCâïé╓Åoù═é│éΩéΘüB
  2562. # This file is in the public domain.
  2563. link string_e,  # cp_split
  2564.      file_e     # get_inil, change_ext, key_check
  2565.  
  2566. procedure main(args)   # argsé═ command lineê°Éö(list)üB
  2567.                        # û╝æOé═ argsê╚èOé┼éαù╟éóüB
  2568.   Usage := (map(f_name()) || " input.txt")
  2569.            #ü¬map()é═üAâfâtâHâïâgé┼é═üAæσò╢ÄÜü¿Å¼ò╢ÄÜò╧è╖
  2570.   new_ext := "csv"     # ò\î`Ä«é╓ò╧è╖é╡é╜âfü[â^é╠âtâ@âCâïé╠ègÆúÄqÄwÆΦ
  2571.  
  2572. # ê°Éöâ`âFâbâN
  2573.   if *args ~= 1 then stop(Usage) # ê°ÉöâGâëü[
  2574.   f_txt := map(args[1],&lcase,&ucase)
  2575.           # ü¬ëpæσò╢ÄÜé╓ò╧è╖
  2576.   # config fileô╟é▌ì₧é▌
  2577.   L_cfg := get_inil("CFG") | stop("cannot open .CFG file")
  2578.   # âeâLâXâgò╧è╖ÄwÆΦ
  2579.   form  := cp_split(key_check(L_cfg,f_name(f_txt)))
  2580.          # ü¬      #ü¬ csvâtâ@âCâïé╠û╝æOé╠ɵô¬é┼üAcfgâtâ@âCâïé╠é╟é╠ÄwÆΦé≡
  2581.          # üb      # Ägéñé⌐ö╗Æfé╖éΘüB
  2582.          # übdataò╧è╖ÄwÆΦé≡ listé╓ò╧è╖
  2583.   # open files
  2584.   intext  := open(f_txt) | stop("cannot open ",f_csv)
  2585.   # ègÆúÄqé¬üA"csv"é┼û│é»éΩé╬üA"csv"é≡ò╧è╖îπé╠âtâ@âCâïû╝é╞é╖éΘüB
  2586.   outtext := open(f_new := change_ext("csv",new_ext,f_txt,""),"a") |
  2587.              stop("file ext error")                      #ü¬ö╜ô]Å≡îÅ
  2588.   write(&errout,f_txt," -> ",f_new)        # ô«ì∞âéâjâ^ü[
  2589.  
  2590. # display form data
  2591. #  every writes(&errout," ",!form) ; write(&errout)
  2592.  
  2593.   # main
  2594.   no := 0                                  # âéâjâ^ü[ùpò\Īé╠ìsö╘ìåÅëè·Æl
  2595.   while line := read(intext) do {          # âtâ@âCâïé≡éPìsé╕é┬ô╟é▌ì₧é▌üA
  2596.     write(outtext,tb2csv(line,form))       # formÄwÆΦé╔Å]éóò╧è╖
  2597.     writes(&errout," ",right(no +:= 1,4))  # âéâjâ^ü[ùpò\Ī
  2598.   }
  2599.   write(&errout,"")                        # âJü[âTü[ò£ïA
  2600.  
  2601.   # close files üiû│é¡é─éαô«é¡üj
  2602.   close(intext)
  2603.   close(outtext)
  2604. end
  2605.  
  2606.  
  2607. ####################
  2608. # ò\âfü[â^ -> csvâfü[â^éPìsò╧è╖ procedure
  2609. ####################
  2610. # args : [1]: string ò\âfü[â^üiéPìsüjüA[2]: list ò╧è╖ÄwÆΦüiéQÅd listüj
  2611. # value: string csvî`Ä«é╔ò╧è╖é│éΩé╜ò╢ÄÜù±üiéPìsüj
  2612.  
  2613. procedure tb2csv(s,L)
  2614.   ss := ""
  2615.   every i := 1 to *L do {
  2616.     ss ||:= case (LL := L[i])[1] of {
  2617.               "s" : { "\"" || replace(s[LL[2]:LL[3]],"\"","\"\"") || "\"\," }
  2618.               "n" : {                 s[LL[2]:LL[3]]              ||    "\,"}
  2619.             # "d" é╠òöò¬é═û│Äïé╖éΘüB
  2620.             }
  2621.   }
  2622.   return ss[1:-1]
  2623. end          #ü¬ì┼îπé╠ù]ò¬é╚ "\,"é≡ìφÅ£
  2624. -----$ TB2CSV.ICN ( lines:73 words:275 ) -------------------<cut here
  2625.  
  2626. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2627.  < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2628. BGM: éréòéÄ üò éléÅéÅéÄü^ë¬û{É^ûΘ
  2629. (icon_358.txt 1997/10/31 PCVAN PIG)
  2630.  
  2631. üí  Icon > é┐éσé┴é╞ IconüiéPüjdataÉ«î`               òùé┬é⌐éó
  2632.  
  2633. üiniftyserveé╠ FGALTSé╔üuAWKôVìæ/é╚é±é╛è╚ÆPé╢éßé╦éªé⌐üIüvé╞éóéñë∩ïcÄ║é¬
  2634.   éáéΦé▄é╖é¬üAé╗é▒é┼ dataÉ«î`é╠ÿbæΦ鬠é┼é▄é╡é╜üB
  2635.   é╗éΩé≡âlâ^é╔ FGALTSé╠üuâXâNâèâvâgôVìæü^ë╜é┼éαé⌐é±é┼éαüvé╠ë∩ïcÄ║é┼üA
  2636.   Iconé╠Å╨ëεé≡ é╡é╜éαé╠é┼é╖üB)
  2637.  
  2638.   Äƒé╠éµéñé╚ dataé≡
  2639. -----^ TEST03.DAT ( date:97-05-17 time:13:32 ) -------------<cut here
  2640. 1,æèÉ∞ Ä╡Éú
  2641. 1,ê└Ä║ ô▐öⁿîb
  2642. 3,æσìò ûÇïG
  2643. 3,ë¬û{ É^ûΘ
  2644. 3,ö÷ìΦ êƒöⁿ
  2645. 3,Éhôç öⁿôoùó
  2646. 7,Ä┬î┤ é╞éαéª
  2647. 7,Ä┬î┤ öⁿûτÄq
  2648. 7,Ä┬î┤ ù┴Äq
  2649. 10,Æ|ôα é▄éΦéá
  2650. 10,Æåôç é▌éΣé½
  2651. 10,ÆåÄR öⁿòΣ
  2652. 10,Æåæ║ éáéΣé▌
  2653. 10,ïvÅ╝ Äjô▐
  2654. 10,Å╝öCÆJ ùRöⁿ
  2655. 10,ÉXÉ∞ öⁿòΣ
  2656. 10,ÄRë║ ïvöⁿÄq
  2657. 18,ùVì▓ ûóÉX
  2658. -----$ TEST03.DAT ( lines:18 words:36 ) --------------------<cut here
  2659.  
  2660.   Äƒé╠éµéñé╔üAÉ«î`é╡é▄é╖üB Éµô¬é╠ÉöÄÜé¬ò╧éφé┴é╜éτëⁿìsüAéPìsé╠ dataé═üA
  2661. éRé┬é▄é┼üAâIâèâWâiâï dataé╠ɵô¬é╠ÉöÄÜé═üAÉ«î`îπé═ɵô¬é╔é╛é»üB
  2662. -----^ SHAPE01 ( date:97-05-17 time:16:08 ) ----------------<cut here
  2663. 1,æèÉ∞ Ä╡Éú,ê└Ä║ ô▐öⁿîb
  2664. 3,æσìò ûÇïG,ë¬û{ É^ûΘ,ö÷ìΦ êƒöⁿ
  2665. 3,Éhôç öⁿôoùó
  2666. 7,Ä┬î┤ é╞éαéª,Ä┬î┤ öⁿûτÄq,Ä┬î┤ ù┴Äq
  2667. 10,Æ|ôα é▄éΦéá,Æåôç é▌éΣé½,ÆåÄR öⁿòΣ
  2668. 10,Æåæ║ éáéΣé▌,ïvÅ╝ Äjô▐,Å╝öCÆJ ùRöⁿ
  2669. 10,ÉXÉ∞ öⁿòΣ,ÄRë║ ïvöⁿÄq
  2670. 18,ùVì▓ ûóÉX
  2671. -----$ SHAPE01 ( lines:8 words:26 ) ------------------------<cut here
  2672.   é╞éóéñòùé╔üAÉ«î`é╖éΘé╞éóéñé╠é¬üAÄdùlé┼é╖üBüj
  2673.  
  2674.   AWKòöë«é┼üAéPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î`é╠ÿbæΦé¬üAÅoé▄é╡é╜
  2675. é¬üAIconé┼éΓé┴é╜éτé╟é±é╚òùé╔é╚éΘé⌐üAé┐éσé┴é╞üAé▓ùùé╔éóéΩéµéñé╞Ävéóé▄é╖üB
  2676.   é▄é╕üAAWKé╠âXâNâèâvâgé═üAæσæ╠é▒é±é╚òùé╔é╚éΦé▄é╖üB
  2677. -----^ SHAPE01.AWK ( date:97-05-16 time:19:52 ) ------------<cut here
  2678. # Nî┬ ïµÉ╪éΦâXâNâèâvâg
  2679. # shape01.awk Rev.1.2 1997/05/16 windy printf ê°ÉöÅCÉ│
  2680. # shape01.awk Rev.1.1 1997/05/14 windy
  2681. # Usage: jgawk -f shape01.awk data_file >kekka
  2682. # data sample(/line)  :  1,"A"
  2683. # This file is in the public domain.
  2684.  
  2685. BEGIN{
  2686.   FS = "," # ìsôαé╠ dataïµÉ╪éΦé≡ ","é╔ò╧ìX
  2687.   No = 0   # âfü[â^Äφò╩ö╘ìå
  2688.   n  = 1   # üiô»êΩâfü[â^Äφò╩ö╘ìåé╠üjâfü[â^î┬ÉöâJâEâôâ^
  2689.   N  = 3   # ïµÉ╪éΦÉö
  2690. }
  2691.  
  2692. {
  2693.   if($1 != No){                     # dataÄφò╩ Noé¬ò╧éφé┴é╜éτ
  2694.     No = $1                         # dataÄφò╩ NoìXÉV
  2695.     if(n % N != 1 ){ print ""}      # top dataé┼û│é»éΩé╬üAëⁿìsÅoù═
  2696.     n  = 1                          # dataî┬Éö reset
  2697.   }
  2698.   if(n % N == 1)   {                # Nî┬ ïµÉ╪éΦé╠ɵô¬é╚éτâfü[â^Äφò╩ NoÅoù═
  2699. #    printf($1)                      #
  2700.     printf($1 FS $2)                # Rev1.2
  2701.   }
  2702. #  printf(FS $2)                     #
  2703.   printf(FS $3 FS $4)               # Rev1.2
  2704.   if(n % N == 0)   { print ""}      # Nî┬ ïµÉ╪éΦÉöì┼îπé╚éτüAëⁿìsÅoù═
  2705.   n++                               # dataÉöâJâEâôâgâAâbâv
  2706. }
  2707.  
  2708. END{
  2709.   if(n % N != 1)   { print ""}      # ì┼îπé╠ìs鬠Nî┬é┼é╚é»éΩé╬üAëⁿìsÅoù═
  2710. }
  2711. -----$ SHAPE01.AWK ( lines:33 words:147 ) ------------------<cut here
  2712.  
  2713.   é▒éΩé≡üAIconé┼Åæé¡é╞üAăé╠éµéñé╔é╚éΦé▄é╖üB è╓Éöû╝üEëëÄZÄqïLìåê╚èOé═
  2714. ûwé╟üAò╧éφéΦé▄é╣é±üB
  2715. üiprogramé╠îπéδé╠ò√é╔è╓ÉöüEëëÄZÄqïLìåé╠ë≡Éαé≡é┬é»é▄é╡é╜üBüj
  2716.  
  2717.   Å«üAAWKé┼é═üAcommand line ê°Éöé╔ fileû╝é≡ ÄwÆΦé╖éΘé╞üAÄ⌐ô«ôIé╔
  2718. é╗é╠ fileé≡ âIü[âvâôé╡é─üAdata fileé╞é╡é─üAô╟é▌ì₧é±é┼é¡éΩé▄é╖üB
  2719.   Iconé═üAÄ⌐ô«ôIé╔é═üAéΓéΦé▄é╣é±üB  programé┼ fileé≡âIü[âvâôé╡é▄é╖üB
  2720.  
  2721.   é▄é╜üAAWKé┼é═üAìsé≡ Ä⌐ô«ôIé╔ FSé┼ò¬èäé╡é─üAözù±é╔ é╡é─é¡éΩé▄é╖é¬üA
  2722. Iconé═ éΓéΦé▄é╣é±é╠é┼üAòKùvé╚éτ é╗é╠Åêù¥é≡ìséñ procedureé≡ì∞ɼé╡é─
  2723. linké╖éΘòKùvé¬üAéáéΦé▄é╖üB
  2724.  
  2725.   ïté╔î╛éªé╬üAIconé┼é═üAìsé≡é╟éñù┐ù¥é╡éµéñé¬üAprogramé╖éΘÉlé╠Ä⌐ùRé┼é╖üB
  2726. -----^ SHAPE01.ICN ( date:97-05-17 time:13:11 ) ------------<cut here
  2727. # Nî┬ ïµÉ╪éΦâvâìâOâëâÇ
  2728. # shape01.icn 1997/05/16 windy
  2729. # Usage: shape01 data_file >kekka
  2730. # data sample(/line)  :  1,"A"
  2731. # shape01.awk é≡üAé╗é╠é▄é▄üAIconé╔ê┌é╡ò╧éªé╜éαé╠üB
  2732. # This file is in the public domain.
  2733. link split6
  2734.  
  2735. procedure main(args)
  2736.               # ü¬command line ê°Éö (list)
  2737.   Usage := "shape01 data_file >kekka"
  2738.  
  2739.   # command line ê°Éöâ`âFâbâNüiê°Éöé¬û│é»éΩé╬Ägùpò√û@ò\Īüj
  2740.   if *args = 0 then stop(Usage)
  2741.  
  2742.   # data fileâIü[âvâôüiâGâëü[é╚éτâGâëü[ò\Īüj
  2743.   dir := open(args[1]) | stop("cannot open ",args[1]) 
  2744.              # ü¬command lineê°Éöé╠éPö╘û┌
  2745.  
  2746.   fs := '\,'           # ìsôαé╠ dataïµÉ╪éΦ
  2747.   No := 0              # âfü[â^Äφò╩ö╘ìå
  2748.   n  := 1              # üiô»êΩâfü[â^Äφò╩ö╘ìåé╠üjâfü[â^î┬ÉöâJâEâôâ^
  2749.   N  := 3              # ïµÉ╪éΦÉö
  2750.  
  2751.   while line := read(dir) do {     # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
  2752.     L := split(line,fs)            # fsé╔é─ dataé≡ò¬èäé╡é─üAlisté╓
  2753.     if numeric(L[1]) ~= No then {  # âfü[â^Äφò╩ Noé¬ò╧éφé┴é╜éτ
  2754.       if (n % N) ~= 1 then write() # top dataé┼û│é»éΩé╬üAëⁿìsÅoù═
  2755.       No := numeric(L[1])          # âfü[â^Äφò╩ NoìXÉV
  2756.       n  := 1                      # dataî┬Éö reset
  2757.     }
  2758.     if (n % N) = 1 then writes(No) # Nî┬ ïµÉ╪éΦé╠ɵô¬é╚éτâfü[â^Äφò╩ NoÅoù═
  2759. #    if (n % N) = 1 then writes(No,fs,L[2]) # 
  2760.     writes(fs,L[2])                # âfü[â^Åoù═
  2761. #    writes(fs,L[3],fs,L[4])        # âfü[â^Åoù═
  2762.     if (n % N) = 0 then write()    # Nî┬ ïµÉ╪éΦÉöì┼îπé╚éτüAëⁿìsÅoù═
  2763.     n +:= 1                        # dataÉöâJâEâôâgâAâbâv
  2764.   }
  2765.   if (n % N) ~= 1 then write()     # ì┼îπé╠ìs鬠Nî┬é┼é╚é»éΩé╬üAëⁿìsÅoù═
  2766.  
  2767. end
  2768.  
  2769. # ë≡Éα
  2770. # *args   : argsé╠ sizeüié▒é╠ÅΩìçé═üAê°Éöé╠î┬Éöüj
  2771. # stop(s) : ò╢ÄÜù± sé≡Åoù═é╡é─üAprogramé≡ stopé╖éΘè╓Éö
  2772. # read()  : text-mode file ô╟é▌ì₧é▌è╓Éö
  2773. # numeric : ò╢ÄÜü¿ÉöÄÜò╧è╖è╓Éö
  2774. # =       : ÉöÄÜé╠öΣèr
  2775. # :=      : æπôⁿ
  2776. # +:=     : n +:= m é═üA n := n +m é╠ù¬ïL
  2777. # ~       : ö█ÆΦ
  2778. # writes  : printf æèôûüiëⁿìsû│é╡Åoù═üj
  2779. # write   : print  æèôûüiëⁿìsòté½Åoù═üj
  2780. # "abc"   : ò╢ÄÜù± abc
  2781. # 'xyz'   : 'x' 'y' 'z' é≡ùvæfé╞é╖éΘÅWìç
  2782. # L[3]    : L (list)é╠ 3ö╘û┌é╠ùvæf
  2783. # link    : æ╝é╠ fileé╠ procedureé≡ linké╖éΘÄwÆΦ
  2784. -----$ SHAPE01.ICN ( lines:57 words:273 ) ------------------<cut here
  2785.  
  2786.   linké╖éΘ xplit06.icné¬éáé╙éΩé▄é╡é╜é╠é┼üAæ▒é½é═üAăë±é╔üB
  2787.  
  2788. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2789. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2790. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  2791. (nif0516a.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
  2792.  
  2793. üí  Icon > é┐éσé┴é╞ IconüiéQüjdataÉ«î`               òùé┬é⌐éó
  2794.  
  2795.   éPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠æ▒é½é┼é╖üB
  2796.   æOë±é╠ programé┼Ägé┴é─éóéΘ ò╢ÄÜù±ò¬èäé╠ procedureé┼é╖üB
  2797.  
  2798. -----^ SPLIT6.ICN ( date:97-05-17 time:13:09 ) -------------<cut here
  2799. # ò╢ÄÜù±ò¬èäü¿listèiö[ procedure
  2800. # split6.icn Rev.1.3 1997/05/17 windy commentÅCÉ│
  2801. # split6.icn Rev.1.1 1997/05/14 windy
  2802. # icont -c split6.icn é╞é╖éΘé╞üAsplit6.u1,split6.u2é╞éóéñÆåè╘î╛îΩ fileé¬
  2803. # é┼é½éΘüBé▒é╠î`é╔é╡é─é¿é¡é╞üAæ╝é╠ procedureé⌐éτ linké┼é½éΘüB
  2804. # Usage: L := split(line,c)
  2805. # This file is in the public domain.
  2806. # Iconôⁿûσìuì└üiéTüjéáé╜éΦé╔Å┌é╡éóÉαû╛é¬éáéΦé▄é╖üB
  2807.  
  2808. # arg      : [1]:ò╢ÄÜù±, [2]:ò╢ÄÜüiÅWìçüj
  2809. # value    : list
  2810. procedure split(line,c)
  2811.   /c := ' \t'                  # ê°Éöé╔ cé¬âZâbâgé╡é─û│é»éΩé╬üAspaceé⌐ tab
  2812.   list := []                   # Åoù═ dataæ½é╡é▒é▌ùp ï≤ list
  2813.   line ? {                     # lineé≡üAæûì╕æ╬Å█é╞é╡é─
  2814.     # ü½é¡éΦò╘é╡
  2815.     while tab(upto(~c)) do     # cê╚èOé╠ò╢ÄÜé╓ æûì╕ê╩Æué≡ê┌ô«
  2816.  
  2817.       put(list,tab(many(~c)))  # cê╚èOé╠ò╢ÄÜê╚èOé╠ò╢ÄÜüié╖é╚éφé┐ cüjé▄é┼
  2818.   }                            # æûì╕ê╩Æué≡ê┌ô«üB  ê┌ô«é╡é╜è╘é╠ò╢ÄÜù±é≡
  2819.                                # listé╓èiö[
  2820.   return list
  2821. end
  2822.  
  2823. # ë≡Éα
  2824. # /c      : c é¬ nullüiûóÆΦï`üjé╚éτé╬
  2825. # 'ab'    : ò╢ÄÜ aé╞üAò╢ÄÜ b é≡ùvæfé╞é╖éΘÅWìç
  2826. # while ... do : ...é≡îJéΦò╘é╖üB
  2827. # tab(n)  : né╠ê╩Æué▄é┼üAæûì╕ê╩Æué≡ê┌ô«üBé▒é╠è╓Éöé╠Ælé═üAê┌ô«é╡é╜òöò¬é╠
  2828. #          ò╢ÄÜù±é╞é╚éΘüB
  2829. # upto(c) : æûì╕æ╬Å█é╠ò╢ÄÜù± é╠Æåé┼üAî╗ì▌é╠æûì╕ê╩Æuê╚ì~é┼üAò╢ÄÜÅWìç cé╠
  2830. #           Æåé╠ éóé╕éΩé⌐é╠ò╢ÄÜ鬠î╗éΩéΘê╩ÆuüB ê╩Æué¬òíÉöéáéΘÅΩìçé═üAÅç
  2831. #           Äƒé╗é╠ê╩Æué≡î⌐é┬é»éΘüBüié╖é╚éφé┐üAgeneratorüj
  2832. # many(c) : î╗ì▌é╠æûì╕ê╩Æuê╚ì~é┼üAò╢ÄÜÅWìç cé╔è▄é▄éΩéΘò╢ÄÜ ê╚èOé╠ò╢ÄÜé¬
  2833. #           î╗éΩéΘê╩Æu
  2834. # put(L,x): L(list)é╠ûûö÷é╔ xé≡Æ╟ë┴é╖éΘüB
  2835. -----$ SPLIT6.ICN ( lines:36 words:144 ) -------------------<cut here
  2836.  
  2837.   ì╫é⌐é¡ë≡Éαé╡é▄é╖é╞üAIconôⁿûσìuì└é╔Åæéóé╜ôαùeé≡üAæSòöÉαû╛é╡é╚éóé╞üA
  2838. éóé»é╚é¡é╚éΦé▄é╖üB programÆåé╠ commenté┼üAé▓æzæ£é≡ é¿èΦéóé╡é▄é╖üB
  2839.  
  2840.   é╡é⌐é╡ AWKé╞ô»é╢ï@ö\é╛é»é┼é═üAû╩öÆé¡û│éóé╠é┼üAăë±é═üAÅ¡é╡éóé╢é┴é─
  2841. é▌é▄é╡éσéñüB
  2842.  
  2843. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  2844. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  2845. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  2846. (nif0516b.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
  2847.  
  2848. üí  Icon > é┐éσé┴é╞ IconüiéRüjdataÉ«î`               òùé┬é⌐éó
  2849.  
  2850.   éPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠æ▒é½é┼é╖üB
  2851.   æOé╠ programé╔ Iconé╠ï@ö\é≡üAæ╜Å¡é┐éΦé╬é▀é─é▌é▄é╖üB é┼éαüAô»é╢ï@ö\é╠
  2852.   programé┼é╖é⌐éτüAô«éóé╜îïë╩é═ô»é╢é┼é╖üBüiè╛üj
  2853.  
  2854.   üEô╟é▌ì₧é±é╛ dataé╠èeìsé╠ò¬èäé╠é╞é▒éδé┼üAì┼Åëé╠ ","é┼üAìsâfü[â^é≡ò¬èäé╖
  2855.     éΘâvâìâOâëâÇé╔é╡é▄é╖üB
  2856.  
  2857.   üEìsâfü[â^é≡üAtableüiAWKé╠ÿAæzözù±üjé╔èiö[é╡é▄é╖üB
  2858.    üièiö[é╖éΘòKùvé═ û│éóé╠é┼é╖é¬üAtableé╠âTâôâvâïé╞é╡é─üBüj
  2859.     é╗éñé╡é▄é╖é╞üAAWKé╠ÿAæzözù±é╞ô»é╢é¡üAĵéΦÅoé╖é╞é½é╔üAèiö[é╡é╜Åçö╘é╞é═
  2860.     é╚éΦé▄é╣é±üB é╗é▒é┼üAtableé╔èiö[é╡é╜ dataé≡ keyé┼ sorté╡é─Åoù═é╡é▄é╖üB
  2861.     tableé═ sorté╖éΘé╞üAlisté╔é╚éΦé▄é╖üBüi dataé╔Åçö╘é≡ù^éªéΘé╔é═üAlisté╔
  2862.     é╡é╚éóé╞éóé»é╚éóé╠é┼üAIconé╠î╛îΩÄdùl鬠é╗éñé╚é┴é─éóé▄é╖üBüj
  2863.  
  2864.   üEÅoù═Åêù¥é┼üAIconé┼é═üAé╣é┴é⌐é¡ caseì\ò╢é¬üAâTâ|ü[âgé│éΩé─éóé▄é╖
  2865.     é╠é┼üAÄgé┴é─é▌é▄é╖üB  æ╜Å¡üAô«ì∞é¬ò¬é⌐éΦéΓé╖é¡é╚éΘé╞Ävéóé▄é╖üB
  2866.  
  2867.   üEÉ«î`îïë╩é≡ Åoù═é╡é╜îπé╔üAÄgé┴é╜ tableé╞ listé╠ì\æó鬠é╟éñé╚é┴é─éó
  2868.     éΘé⌐é≡üAx2té╞éóéñ procedureé≡Ägé┴é─Åæé½Åoé╡é▄é╖üBüié▒éΩé═üAÄQìlùp
  2869.     é┼é╖üBû{ùêé╠ô«ì∞é╞é═è╓îWéáéΦé▄é╣é±üBüj
  2870.  
  2871.     x2té≡Éαû╛é╡é▄é╖é╞üA Iconôⁿûσìuì└éPü`éRæSòöé≡üAÉαû╛é╡é╚éóé╞éóé»é╚é¡
  2872.     é╚éΦé▄é╖é╠é┼üAé▄éá é╗éñéóéñï@ö\é╠ procedureé╛é╞üA é▒é▒é┼é═üAìléªé─
  2873.     ë║é│éóüBüiIconôⁿûσìuì└éRüiéPéXüjé╠ x2tree03 é╔â~âXÅCÉ│üiè╛üjé╞ï@ö\
  2874.     âAâbâvüitableé╠ÅΩìç valueé╛é»é┼é╚é¡ keyéαÅoù═é╖éΘéµéñé╔üj é╡é╜éαé╠
  2875.     é┼é╖üBüj
  2876.  
  2877. -----^ SHAPE02.ICN ( date:97-05-17 time:10:17 ) ------------<cut here
  2878. # Nî┬ ïµÉ╪éΦ program
  2879. # shape02.icn Rev.1.2 1997/05/17 windy commentÅCÉ│
  2880. # shape02.icn Rev.1.1 1997/05/16 windy
  2881. # Usage: shape02 data_file >kekka
  2882. # data sample(/line)  :  1,"A"
  2883. # This file is in the public domain.
  2884. link x2tree06
  2885. procedure main(args)
  2886.   Usage := "shape02 data_file >kekka"
  2887.   if *args = 0 then stop(Usage)
  2888.   dir := open(args[1]) | stop("cannot open ",args[1]) 
  2889.  
  2890.   fs := '\,'           # ìsôαé╠ dataïµÉ╪éΦ
  2891.   N  := 3              # ïµÉ╪éΦÉö
  2892.   T1 := table()        # tableé≡É╢ɼüiÅëè·Æl û│é╡üj
  2893.  
  2894.   while line := read(dir) do {  # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
  2895.     line ? {                    # lineé≡æûì╕æ╬Å█é╞é╡é─
  2896.       ps := upto(fs)            # ps : lineé╠Æåé┼üAì┼Åëé╔ fsé¬î⌐é┬é⌐é┴é╜ê╩Æu
  2897.       n  := numeric(line[1:ps]) # lineé╠ pséµéΦæOé╠òöò¬é≡ÉöÄÜò╧è╖
  2898.       s  := line[ps+1:0]        # lineé╠ pséµéΦîπé╠òöò¬
  2899.       /T1[n] := []              # table T1é╠ keyé╔üAné¬û│é»éΩé╬üAné≡ key
  2900.                                 # é╞é╡é─ valueé╔ [] (ï≤ list)é≡ ôoÿ^
  2901.       put(T1[n],s)              # tableé╠ key n é╠ value (list)é╔ sé≡Æ╟ë┴
  2902.     }
  2903.   }
  2904.  
  2905.   L1 := sort(T1,1)               # T1 é≡ keyé┼ sorté╡üA listé╓ò╧è╖
  2906.  
  2907.   write("É«î`îïë╩")
  2908.   every L2 := !L1 do {           # L1é⌐éτüAùvæf(list) é≡ÅçăĵéΦÅoé╡é─
  2909.     No := L2[1]                  # 1ö╘û┌é╠ùvæf(ÉöÄÜüjé≡ Noé╔æπôⁿ
  2910.     n := 0                       # ô»é╢ Noé╠ùvæfé╠âJâEâôâ^
  2911.     every s := !L2[2] do {       # 2ö╘û┌é╠ùvæf(list) é⌐éτùvæfüiò╢ÄÜù±üjé≡
  2912.                                  # ÅçăĵéΦÅoé╡é─
  2913.       n +:= 1                    # ô»é╢ Noé╠ùvæfé╠âJâEâôâ^ ü{éP
  2914.       case (n % N) of {          # né≡ Né┼èäé┴é╜ù]éΦé╔éµé┴é─
  2915.         1       : { writes(No)       # NoÅoù═
  2916.                     writes(fs,s) }   # âfü[â^Åoù═
  2917.         2       :   writes(fs,s)
  2918.         0       : { writes(fs,s)
  2919.                     write()     }    # ëⁿìsÅoù═
  2920.         default : stop("case error") # é╗éΩê╚èOé╛é┴é╜éτ
  2921.       }
  2922.     }
  2923.     if (n % N) ~= 0 then write() # ì┼îπé╠Åoù═ìsé╠ùvæfÉöé¬üANê╚èOé╛é┴é╜éτ
  2924.   }                              # ëⁿìsÅoù═
  2925.  
  2926.   # ô«ì∞ÄQìlùp
  2927.   write("\nT1 (table) ì\\æó")  # "ì\" é═ "\x8d5c" é╚é╠é┼üA"\x5c"é≡òΓéñüB
  2928.   every write(x2t(T1))         # x2té═ ì\æóæ╠é╠ôαùeé≡ treeò\Īé╖éΘ procedure
  2929.                                # x2tree06.icné╔è▄é▄éΩéΘüB
  2930.   write("\nL1 (list)  ì\\æó") 
  2931.   every write(x2t(L1))
  2932.  
  2933. end
  2934.  
  2935. # ë≡Éα
  2936. # /T1[n]  : T1[n]é╠ null (ûóÆΦï`) check
  2937. # table   : table(AWKé╠ÿAæzözù±)é≡É╢ɼ     ()ôαé╔é═üAÅëè·Ælé≡ÄwÆΦé┼é½éΘ
  2938. # every ... !L : ì\æóæ╠ Lé╠ùvæfé≡ÅçăĵéΦÅoé╡é─
  2939. -----$ SHAPE02.ICN ( lines:61 words:277 ) ------------------<cut here
  2940.  
  2941.   ô«é⌐é╡é╜Ä₧é╠îïë╩é┼é╖üB
  2942. -----^ SHAPE02 ( date:97-05-17 time:18:12 ) ----------------<cut here
  2943. É«î`îïë╩
  2944. 1,æèÉ∞ Ä╡Éú,ê└Ä║ ô▐öⁿîb
  2945. 3,æσìò ûÇïG,ë¬û{ É^ûΘ,ö÷ìΦ êƒöⁿ
  2946. 3,Éhôç öⁿôoùó
  2947. 7,Ä┬î┤ é╞éαéª,Ä┬î┤ öⁿûτÄq,Ä┬î┤ ù┴Äq
  2948. 10,Æ|ôα é▄éΦéá,Æåôç é▌éΣé½,ÆåÄR öⁿòΣ
  2949. 10,Æåæ║ éáéΣé▌,ïvÅ╝ Äjô▐,Å╝öCÆJ ùRöⁿ
  2950. 10,ÉXÉ∞ öⁿòΣ,ÄRë║ ïvöⁿÄq
  2951. 18,ùVì▓ ûóÉX
  2952.  
  2953. T1 (table) ì\æó
  2954. <table 1>
  2955.   + <list 6> <- integer18
  2956.   |   + string "ùVì▓ ûóÉX"
  2957.   + <list 5> <- integer10
  2958.   |   + string "Æ|ôα é▄éΦéá"
  2959.   |   + string "Æåôç é▌éΣé½"
  2960.   |   + string "ÆåÄR öⁿòΣ"
  2961.   |   + string "Æåæ║ éáéΣé▌"
  2962.   |   + string "ïvÅ╝ Äjô▐"
  2963.   |   + string "Å╝öCÆJ ùRöⁿ"
  2964.   |   + string "ÉXÉ∞ öⁿòΣ"
  2965.   |   + string "ÄRë║ ïvöⁿÄq"
  2966.   + <list 4> <- integer7
  2967.   |   + string "Ä┬î┤ é╞éαéª"
  2968.   |   + string "Ä┬î┤ öⁿûτÄq"
  2969.   |   + string "Ä┬î┤ ù┴Äq"
  2970.   + <list 2> <- integer1
  2971.   |   + string "æèÉ∞ Ä╡Éú"
  2972.   |   + string "ê└Ä║ ô▐öⁿîb"
  2973.   + <list 3> <- integer3
  2974.       + string "æσìò ûÇïG"
  2975.       + string "ë¬û{ É^ûΘ"
  2976.       + string "ö÷ìΦ êƒöⁿ"
  2977.       + string "Éhôç öⁿôoùó"
  2978.  
  2979. L1 (list)  ì\æó
  2980. <list 7>
  2981.   + <list 9>
  2982.   |   + integer1
  2983.   |   + <list 2>
  2984.   |       + string "æèÉ∞ Ä╡Éú"
  2985.   |       + string "ê└Ä║ ô▐öⁿîb"
  2986.   + <list 8>
  2987.   |   + integer3
  2988.   |   + <list 3>
  2989.   |       + string "æσìò ûÇïG"
  2990.   |       + string "ë¬û{ É^ûΘ"
  2991.   |       + string "ö÷ìΦ êƒöⁿ"
  2992.   |       + string "Éhôç öⁿôoùó"
  2993.   + <list 10>
  2994.   |   + integer7
  2995.   |   + <list 4>
  2996.   |       + string "Ä┬î┤ é╞éαéª"
  2997.   |       + string "Ä┬î┤ öⁿûτÄq"
  2998.   |       + string "Ä┬î┤ ù┴Äq"
  2999.   + <list 11>
  3000.   |   + integer10
  3001.   |   + <list 5>
  3002.   |       + string "Æ|ôα é▄éΦéá"
  3003.   |       + string "Æåôç é▌éΣé½"
  3004.   |       + string "ÆåÄR öⁿòΣ"
  3005.   |       + string "Æåæ║ éáéΣé▌"
  3006.   |       + string "ïvÅ╝ Äjô▐"
  3007.   |       + string "Å╝öCÆJ ùRöⁿ"
  3008.   |       + string "ÉXÉ∞ öⁿòΣ"
  3009.   |       + string "ÄRë║ ïvöⁿÄq"
  3010.   + <list 12>
  3011.       + integer18
  3012.       + <list 6>
  3013.           + string "ùVì▓ ûóÉX"
  3014. -----$ SHAPE02 ( lines:71 words:285 ) ----------------------<cut here
  3015.  
  3016.   Äƒë±üAéαéñÅ¡é╡üAéóé╢é┴é─é▌é▄é╖üB
  3017.  
  3018. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3019. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3020. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  3021. (nif0516b.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
  3022.  
  3023. üí  Icon > é┐éσé┴é╞ IconüiéSüjdataÉ«î`               òùé┬é⌐éó
  3024.  
  3025.   æèò╧éφéτé╕üAéPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠
  3026.   æ▒é½é┼é╖üB
  3027.  
  3028.   æOë±é╠ programé╠Åoù═òöò¬é╔ generatoré≡Ägé┴é─é▌é▄é╖üB generatoré╞
  3029.   éóéñé╠é═üAprocedureé┼üAòíÉöé╠îïë╩é≡üAÅçăò╘é╖ï@ö\ é≡üAÄ¥é┴é─éóéΘ
  3030.   éαé╠é≡î╛éóé▄é╖üB
  3031.  
  3032.   é┼éαüAæSæ╠é═üAô»é╢ ï@ö\é╠ programé┼é╖é⌐éτüA ô«éóé╜îïë╩éαüAæèò╧éφ
  3033.   éτé╕ ô»é╢é┼é╖üBüiÅ╬üj
  3034.  
  3035. -----^ SHAPE03.ICN ( date:97-05-17 time:10:46 ) ------------<cut here
  3036. # Nî┬ ïµÉ╪éΦ program
  3037. # shape03.icn Rev.1.3 1997/05/17 windy commentÅCÉ│
  3038. # shape03.icn Rev.1.1 1997/05/15 windy
  3039. # Usage: shape03 data_file >kekka
  3040. # data sample(/line)  :  "1","A"
  3041. # This file is in the public domain.
  3042. link retrieve
  3043.  
  3044. procedure main(args)
  3045.   Usage := "shape03 data_file >kekka"
  3046.   if *args = 0 then stop(Usage)    # command line ê°Éö check
  3047.   dir := open(args[1]) | stop("cannot open ",args[1])  # file open
  3048.  
  3049.   # Åëè·É▌ÆΦ
  3050.   fs := '\,'           # ìsôαé╠ dataïµÉ╪éΦ
  3051.   N  := 3              # ïµÉ╪éΦÉö
  3052.   T1 := table()        # ï≤é╠ tableé≡É╢ɼ
  3053.  
  3054.   # data fileé≡ô╟é▌ì₧é▌ tableé╔èiö[ (tableé═ AWKé╠ÿAæzözù±é╞ô»é╢)
  3055.   while line := read(dir) do {     # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
  3056.     line ? {                       # ô╟é▌ì₧é±é╛ ìsé≡ æûì╕æ╬Å█é╞é╡é─
  3057.       ps := upto(fs)               # ì┼Åëé╠ fsé╠ê╩Æué≡ô╛éΘ
  3058.       n  := numeric(line[1:ps])    # fséµéΦæO鬠n (numeric :ò╢ÄÜü¿ÉöÄÜò╧è╖)
  3059.       s  := line[ps+1:0]           # fséµéΦîπ鬠s 
  3060.       /T1[n] := []                 # T1é╔ n鬠keyé╞é╡é─æ╢ì▌é╡é╚éóé╚éτ
  3061.                                    # T1é╔ né≡ keyé╞é╡é─üAï≤ listé≡ôoÿ^
  3062.       put(T1[n],s)                 # tableé╠ key n é╠ value (list)é╔ sé≡Æ╟ë┴
  3063.     }
  3064.   }
  3065.  
  3066.   L1 := sort(T1,1)                 # T1é≡ keyé┼ sortüiîïë╩é═ listé╠ list)
  3067.  
  3068.   write("É«î`îïë╩")
  3069.   every L2 := !L1 do {             # L1é╠ùvæfé≡ ÅçăĵéΦÅoé╡é─
  3070.     No := L2[1]                    # dataÄφò╩ No
  3071.     every L3 := retrieve(L2[2],3) do { # L2[2]é╠ùvæfé≡ 3î┬é├é┬ĵéΦÅoé╖üB
  3072.       writes(No)                   # dataÄφò╩ No é≡Åoù═
  3073.       every writes(fs,!L3)         # L3é╠ùvæfé≡ ÅçăÅoù═
  3074.       write()
  3075.     }
  3076.   }
  3077.  
  3078. end
  3079. -----$ SHAPE03.ICN ( lines:43 words:194 ) ------------------<cut here
  3080.  
  3081.   generatoré┼é╖üB shape03.icné⌐éτüAéRî┬ïµÉ╪éΦé┼âfü[â^é≡ò╘é╖ÄwÆΦé┼
  3082. î─é╬éΩé─éóé▄é╖üB
  3083.  
  3084. -----^ RETRIEVE.ICN ( date:97-05-17 time:10:48 ) -----------<cut here
  3085. # x(list é▄é╜é═ string)é╠ùvæfé≡ nî┬ïµÉ╪éΦé╔é╡é─üAòöò¬ list(é▄é╜é═string)
  3086. # é≡üAÅçăò╘é╖ generator
  3087. # î│é╠ listé═ò█æ╢
  3088. # Usage: every XX := retrieve(X) do {...}
  3089. # retrieve.icn Rev.1.2 1997/05/17 windy commentÅCÉ│
  3090. # retrieve.icn Rev.1.1 1997/05/16 windy
  3091. # This file is in the public domain.
  3092. # link retr  # testùp
  3093.  
  3094. procedure retrieve(X,n)
  3095.   /n := 1                       # default
  3096.  
  3097.   every m := 1 to *X by n do {  # mé≡ 1é⌐éτ nö≥é╤é┼ Åçăæ¥ë┴é│é╣é─
  3098.     suspend \X[m+:n]            # listé╠ mö╘û┌é╠ùvæfé⌐éτ nî┬ùvæfé¬
  3099.                                 # æ╢ì▌é╖éΩé╬ é╗éΩé≡Ælé╞é╡é─ò╘é╖üB
  3100.   }
  3101.   suspend X[(*X -n+1) < \m :0]  # nî┬ïµÉ╪éΦé┼üAù]é┴é╜ùvæfé≡ò╘é╖üB
  3102. end
  3103.  
  3104. # ë≡Éα
  3105. # *X       : Xé╠ size(ùvæfÉöé▄é╜é═Æ╖é│)
  3106. # /n       : /é═ n鬠null(ÄwÆΦé¬û│éóÄ₧)é╠ checküB   æ╢ì▌é╖éΩé╬é╗é╠Ælé≡Ä¥é┬üB
  3107. # X[m+:n]  : list(é▄é╜é═ string)é╠ mé╠ê╩Æué⌐éτ nî┬ò¬é╠òöò¬üB
  3108. # \X[m+:n] : \é═ X[m+:n]é¬üAæ╢ì▌é╖éΩé╬é╞éóéñ checküBæ╢ì▌é╖éΩé╬é╗é╠Ælé≡Ä¥é┬üB
  3109. #            \méαô»ùlé╔ mé╠Ælé¬æ╢ì▌é╖éΩé╬üAé╗é╠Ælé≡Ä¥é┬üB
  3110. # suspend  : òíÉöé╠Ælé≡ò╘é╖ return
  3111. # a < b    : ÉöÄÜöΣèr a < b é¬É¼ùºé╖éΩé╬üAbé≡Ælé╞é╡é─Ä¥é┬üB
  3112. -----$ RETRIEVE.ICN ( lines:27 words:131 ) -----------------<cut here
  3113.  
  3114.   programé╛é»é┼üAù]éΦÉαû╛é╠û│éó Åæé½é▒é▌é┼é╡é╜é¬üA
  3115.  
  3116.     üEé╚é⌐é╚é⌐ ò╧éφé┴é╜ programé╛é⌐éτüAêΩôxô«é⌐é╡é─é▌éµéñüB  é╞é⌐
  3117.     üEï@ö\鬠ÉFüXéáéΦé╗éñé╛é⌐éτüAÄÄé╡é─é▌éµéñüB              é╞é⌐
  3118.  
  3119.   é¿ìléªé╠ò√鬠éóéτé┴é╡éßéΘé╞ éñéΩé╡éóé┼é╖üB
  3120.  
  3121.   é¿é▄é»é╔üAretrieve.icné╠ test programé≡òté»é─é¿é½é▄é╖üB
  3122. -----^ RETR.ICN ( date:97-05-17 time:19:23 ) ---------------<cut here
  3123. # retrieve.icné╠ test procedure
  3124. # retr.icn Rev.1.3 1997/05/17 windy commentÅCÉ│, test case Æ╟ë┴
  3125. # retr.icn Rev.1.2 1997/05/16 windy stringé╠ testc aseÆ╟ë┴
  3126. # retr.icn Rev.1.1 1997/05/16 windy
  3127. # testÄ₧é═üAretrieve.icné¬üAé▒é╠ procedureé≡ linké╖éΘüB
  3128. # This file is in the public domain.
  3129. link show_l
  3130.  
  3131. procedure main()
  3132.   # test data
  3133.   L0 := []
  3134.   L1 := ["A1"]
  3135.   L2 := ["A2","B2"]
  3136.   L3 := ["A3","B3","C3"]
  3137.   L4 := ["A4","B4","C4","D4"]
  3138.   L5 := ["A5","B5","C5","D5","E5"]
  3139.   L6 := ["A6","B6","C6","D6","E6","F6"]
  3140.  
  3141.   # test
  3142.   every L := retrieve(L0,2) do show_sl(L) ; write()
  3143.   every L := retrieve(L1,2) do show_sl(L) ; write()
  3144.   every L := retrieve(L2,2) do show_sl(L) ; write()
  3145.   every L := retrieve(L3,2) do show_sl(L) ; write()
  3146.   every L := retrieve(L4,2) do show_sl(L) ; write()
  3147.   every L := retrieve(L5,2) do show_sl(L) ; write()
  3148.   every L := retrieve(L6,2) do show_sl(L) ; write()
  3149.  
  3150.   # test case Æ╟ë┴ Rev.1.2
  3151.   s0 := ""
  3152.   s1 := "A"
  3153.   s2 := "AB"
  3154.   s3 := "ABC"
  3155.   s4 := "ABCD"
  3156.   s5 := "ABCDE"
  3157.   s6 := "ABCDEF"
  3158.  
  3159.   every writes(" ",retrieve(s0,2)) ; write()
  3160.   every writes(" ",retrieve(s1,2)) ; write()
  3161.   every writes(" ",retrieve(s2,2)) ; write()
  3162.   every writes(" ",retrieve(s3,2)) ; write()
  3163.   every writes(" ",retrieve(s4,2)) ; write()
  3164.   every writes(" ",retrieve(s5,2)) ; write()
  3165.   every writes(" ",retrieve(s6,2)) ; write()        # Rev.1.3 Æ╟ë┴
  3166.  
  3167. end
  3168. -----$ RETR.ICN ( lines:45 words:189 ) ---------------------<cut here
  3169.  
  3170. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3171. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3172. BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
  3173. (nif0516c.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
  3174.  
  3175. üí  Icon > Iconë±éΦô╣üiéPüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö    òùé┬é⌐éó
  3176.  
  3177. üiPCVANé╠ SLABOé┼üAùÉÉöé╠ÿbæΦé¬é┼é─éóé▄é╡é╜üBIconé┼ùÉÉöé≡é┬é⌐é┴é╜é▒é╞
  3178.  é¬éáéΦé▄é╣é±é┼é╡é╜é╠é┼üAÿbæΦé╔æèŵéΦé╡é─ Iconé┼éαéΓé┴é─é▌é▄é╡é╜üB
  3179.   âeü[â}é═üAéRîàé╠Ådòíé╡é╚éóùÉÉöé≡ô╛éΘüAé╞éóéñéαé╠é┼é╖üBüj
  3180.  
  3181.   é╞éóéñé▒é╞é┼üAÄäéα Iconé╠ùÉÉöï@ö\é≡ Ägé┴é╜é▒é╞é¬üAéáéΦé▄é╣é±é┼é╡é╜
  3182. é╠é┼üAé╟éñéóéñ programé╔é╚éΘé⌐ éΓé┴é─é▌é▄é╡é╜üBüB
  3183.  
  3184.   Iconé┼é═üA?10 é╞Åæé½é▄é╖é╞üA1ü`10ûÿé╠ùÉÉöé≡ö¡É╢é┼é½é▄é╖üB É│èmé╔é═
  3185. ùÉÉöù±é╠ì┼Åëé╠ÉöÄÜé≡ô╛éΘé▒é╞é¬é┼é½é▄é╖üB
  3186.   ô»é╢ programôαé┼üAăé╔é▒é╠Ä« (?10) é≡ Ä└ìsé╖éΘé╞üAùÉÉöù±é╠éQö╘û┌é╠
  3187. ÉöÄÜé¬ô╛éτéΩé▄é╖üB
  3188.   é┐é╚é▌üAò╢ÄÜù±é┼é═üA?"ABCDEFG" é╞Åæé¡é╞ "ABCDEFG"é⌐éτ randomé╔éPò╢
  3189. ÄÜ(1-byte character)ĵéΦÅoé╣é▄é╖üB
  3190.  
  3191.   Iconé┼é═üAé▒é╠ùÉÉöù±é═ programé≡ë╜ôxÄ└ìsé╡é─éαô»é╢ùÉÉöù±é╞é╚éΦé▄é╖üB
  3192. êßéñùÉÉöù±é≡ô╛éΘé╜é▀é╔é═üAkeywordé╠ &randomé≡ò╧éªéΘé╞ë┬ö\é╛é╗éñé┼é╖üB
  3193.   1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘ programé═ăé╠éµéñé╔é╚éΦ
  3194. é▄é╖üB
  3195.  
  3196. -----^ RANDOM01.ICN ( date:97-05-30 time:23:22 ) -----------<cut here
  3197. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3198. # random01.icn 1997/05/30 windy Kazetsukai H.S.
  3199. # This file is in the public domain.
  3200.  
  3201. procedure main(args)                 
  3202.   Usage := "random01 ì┼æσÆl ö¡É╢Éö"
  3203.  
  3204.   # command lineê°Éöé≡ ÉöÄÜé╔ò╧è╖é╡é─üAn(ì┼æσÆl),m(É╢ɼÉö)é╔âZâbâgüB
  3205.   # ÉöÄÜé╔ò╧è╖é┼é½é╚é»éΩé╬üAUsageé≡ò\Īé╡é─ stop
  3206.   {(n := numeric(args[1])) & (m := numeric(args[2]))} | stop(Usage)
  3207.                                                       #ü¬æOé╠ 2ìÇé╠é╟é┐éτé⌐
  3208.                                                       # Ä╕ösé╡é╜é╞é½
  3209.   every writes(" ",rand(n) \m)
  3210.                          # ü¬generatoré╠É╢ɼÉöî└ÆΦ
  3211.   write()
  3212. end
  3213.  
  3214. # 1 ü` nûÿé╠Éöé≡É╢ɼé╖éΘ generator(ÅçăüAÆlé≡ö¡É╢é╖éΘ procedure)
  3215. procedure rand(n)
  3216.   repeat    { suspend  ?n }
  3217.   #ü¬é¡éΦò╘é╡ #ü¬     #ü¬ ?né═üA1 ü` né╠ randomÉöé≡É╢ɼ
  3218. end           #suspendé═üAgeneratoré╠ÅΩìçé╔Ägéñ return
  3219. -----$ RANDOM01.ICN ( lines:22 words:82 ) ------------------<cut here
  3220.  
  3221.  
  3222.   random01 999 10 é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB ë╜ôxÄ└ìsé╡é─éαô»é╢Éöù±é¬Åoé─é½é▄é╖üB
  3223. üié╗éñéóéñÄdùlé┼é╖üBüj
  3224. -----^ RANDOM01 ( date:97-05-31 time:13:07 ) ---------------<cut here
  3225.  212 413 316 510 422 306 80 737 51 717
  3226. -----$ RANDOM01 ( lines:1 words:10 ) -----------------------<cut here
  3227.  
  3228.  
  3229.   É╢ɼé│éΩéΘÉöé╔ì┼Å¡Éöé≡É▌é»éΘ é╔é═üAÉ╢ɼé╡é╜Éöé¬é╗é╠ì┼šɺî└ÉöéµéΦżé│
  3230. é»éΩé╬û│Äïé╖éΘ é╞éóéñéΓéΦò√鬠éáéΦé▄é╖üB  é╗é╠éΓéΦò√é┼éΓéΦé▄é╖é╞üA
  3231.  
  3232. -----^ RANDOM02.ICN ( date:97-05-31 time:13:12 ) -----------<cut here
  3233. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3234. # üÜ l ê╚Åπé╠Ælé╠éαé╠é╛é»é╞éóéñɺî└òté½
  3235. # random02.icn 1997/05/31 windy Kazetsukai H.S.
  3236. # This file is in the public domain.
  3237.  
  3238. procedure main(args)                 
  3239.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3240.  
  3241.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3242.    (l := numeric(args[3])) } | stop(Usage)
  3243.                             #ü¬æOé╠ 3ìÇé╠ éóé╕éΩé⌐鬠Ä╕ösé╡é╜é╞é½
  3244.  
  3245.   every writes(" ",(l <= rand(n)) \m)
  3246.                    #ü¬ a < b é═üAb é¬ aéµéΦæσé½é»éΩé╬ bé╠ÆlüAé│éαé╚é¡é╬Ä╕ös
  3247.   write()
  3248. end
  3249.  
  3250. procedure rand(n)
  3251.   repeat { suspend ?n }
  3252. end
  3253. -----$ RANDOM02.ICN ( lines:20 words:78 ) ------------------<cut here
  3254.  
  3255.  
  3256.   random02 999 10 100é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB  random01 999 10 100é╠îïë╩
  3257. é⌐éτüA100ûóû₧é╠ÉöÄÜé≡Å£éóé╜Éöù±é╔é╚é┴é─éóé▄é╖üB
  3258.  
  3259. -----^ RANDOM02 ( date:97-05-31 time:13:13 ) ---------------<cut here
  3260.  212 413 316 510 422 306 737 717 138 336
  3261. -----$ RANDOM02 ( lines:1 words:10 ) -----------------------<cut here
  3262.  
  3263.  
  3264.   É╢ɼé╖éΘÉöé╠ì┼Å¡Ælɺî└é╠ò╩é╠éΓéΦò√é┼é╖üB  Éºî└é╠Ælé╛é»ì┼æσÆlé≡żé│éó
  3265. ö═ê═é┼É╢ɼé╡é─é¿éóé─üAîπé┼ɺî└é╠Ælé≡æ½é╖éΓéΦò√é┼é╖üB
  3266.  
  3267. -----^ RANDOM03.ICN ( date:97-05-31 time:13:14 ) -----------<cut here
  3268. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3269. # üÜ ì┼żÆl l é╠ɺî└é╠Ädò√é≡üAé┐éσé┴é╞ò╧ìX
  3270. # random03.icn 1997/05/31 windy Kazetsukai H.S.
  3271. # This file is in the public domain.
  3272.  
  3273. procedure main(args)                 
  3274.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3275.  
  3276.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3277.    (l := numeric(args[3])) } | stop(Usage)
  3278.  
  3279.   every writes(" ", rand(n,l) \m)
  3280.   write()
  3281. end
  3282.  
  3283. # ì┼Å¡Ælé╠Ælé╛é»üAżé│é╚ö═ê═é╠ùÉÉöù±é≡ö¡É╢é│é╣é─üAîπé┼ì┼żÆlé≡æ½é╖üB
  3284. procedure rand(n,l)
  3285.   repeat { suspend  ?(n-l+1) +l-1 }
  3286. end
  3287. -----$ RANDOM03.ICN ( lines:19 words:69 ) ------------------<cut here
  3288.  
  3289.  
  3290.   random03 999 10 100é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB 
  3291.  
  3292. -----^ RANDOM03 ( date:97-05-31 time:13:14 ) ---------------<cut here
  3293.  290 471 384 559 479 375 171 763 145 745
  3294. -----$ RANDOM03 ( lines:1 words:10 ) -----------------------<cut here
  3295.  
  3296.   é┐éσé┴é╞üAÆ╖é¡é╚éΦé▄é╡é╜é╠é┼üAæ▒é½é═ăé╓üB
  3297.  
  3298. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3299. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3300. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  3301. (pcv0531a.txt 1997/05/31 PCVAN SLABO)
  3302.  
  3303. üí  Icon > Iconë±éΦô╣üiéQüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö    òùé┬é⌐éó
  3304.  
  3305.   æ▒é½é┼é╖üB ùÉÉöù± programÄ└ìsé╠ôxé╔üAô»é╢ùÉÉöù±é¬Åoé─é¡éΘé╠é┼é═üAé▄é╕éó
  3306. é╞é½é╔é═üAùÉÉöé╠Äφé≡ ùÉÉöé╔é╖éΘ procedure鬠BIPL(Iconèεû{ library)é╔ ùLéΦ
  3307. é▄é╖é╠é┼üAé╗éΩé≡ linké╡é─üAùÉÉöù±ö¡É╢é╠æOé╔Ä└ìsé╡é▄é╖üB
  3308.  
  3309. -----^ RANDOM04.ICN ( date:97-05-31 time:14:41 ) -----------<cut here
  3310. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3311. # üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
  3312. # üÜ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
  3313. # random04.icn 1997/05/31 windy Kazetsukai H.S.
  3314. # This file is in the public domain.
  3315. link random  # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
  3316.  
  3317. procedure main(args)                 
  3318.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3319.  
  3320.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3321.    (l := numeric(args[3])) } | stop(Usage)
  3322.  
  3323.   randomize()     # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
  3324.  
  3325.   every writes(" ",(l <= rand(n)) \m)
  3326.   write()
  3327. end
  3328.  
  3329. procedure rand(n)
  3330.   repeat { suspend ?n }
  3331. end
  3332. -----$ RANDOM04.ICN ( lines:22 words:81 ) ------------------<cut here
  3333.  
  3334.  
  3335.   random04 999 10 100 >> random04 é≡éRë±Ä└ìsé╡é╜Ä₧é╠îïë╩é┼é╖üB
  3336. -----^ RANDOM04 ( date:97-05-31 time:14:42 ) ---------------<cut here
  3337.  915 779 671 354 132 841 951 141 188 431
  3338.  991 377 762 412 594 935 972 385 197 257
  3339.  719 544 516 449 344 185 504 279 790 634
  3340. -----$ RANDOM04 ( lines:3 words:30 ) -----------------------<cut here
  3341.  
  3342.  
  3343.   é¿é┴é╞üAÅdòíé╡é╚éóÉöé╞éóéñÅ≡îÅéαéáéΦé▄é╡é╜é╦üB
  3344. é╖éΘé╞ É╢ɼé╡é╜Éöé≡èoéªé─é¿éóé─üAô»é╢Éöé¬Åoé─é½é╜éτû│Äïé╖éΘé╞éóéñÅêù¥é¬
  3345. òKùvé╔é╚éΦé▄é╖üB
  3346.   ì\æóæ╠é╠ set (ÅWìç)é╔üAÉ╢ɼé╡é╜Åçé╔ôoÿ^é╡é─éóé¡éΓéΦò√é≡Ägéóé▄é╖é╞
  3347. ăé╠éµéñé╔é╚éΦé▄é╖üB
  3348.  
  3349. -----^ RANDOM05.ICN ( date:97-05-31 time:13:19 ) -----------<cut here
  3350. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3351. # üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
  3352. # üÖ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
  3353. # üÜ Ådòíé≡ö≡é»éΘüB
  3354. # random05.icn 1997/05/31 windy Kazetsukai H.S.
  3355. # This file is in the public domain.
  3356. link random  # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
  3357.  
  3358. procedure main(args)                 
  3359.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3360.  
  3361.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3362.    (l := numeric(args[3])) } | stop(Usage)
  3363.  
  3364.   randomize()     # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
  3365.  
  3366.   every writes(" ", uniq_rand(n,l) \m)
  3367.   write()
  3368. end
  3369.  
  3370. # Ådòíé≡ö≡é»éΘ procedure
  3371. procedure uniq_rand(n,l)
  3372.   static S
  3373.   S := set()
  3374.   every nn := rand(n,l) do {
  3375.     if not member(S,nn) then {
  3376.       insert(S,nn)
  3377.       suspend nn
  3378.     }
  3379.   }
  3380. end
  3381.  
  3382. procedure rand(n,l)
  3383.   suspend  |(?(n-l+1) +l-1)
  3384.          #ü¬ |é═üAÄ«é╠æOé╔òté¡é╞üAé¡éΦò╘é╡ generatoré╞é╚éΘüB
  3385. end
  3386. -----$ RANDOM05.ICN ( lines:36 words:111 ) -----------------<cut here
  3387.   ùÉÉöù±é╠ö¡É╢é╠é╜é▀é╠é¡éΦò╘é╡Ä└ìsé╠òöò¬éαïCò¬é┼ò╧éªé─éóé▄é╖üB
  3388.   repeaté╠æπéφéΦé╔ | é╞éóéñò\î╗é≡Ägé┴é─é▌é▄é╡é╜üB
  3389.   é▒éΩé═Éöù±üEò╢ÄÜù±é╠é¡éΦò╘é╡ö¡É╢é≡ÄwÆΦé╖éΘÄ«é╔é╚éΦé▄é╖üB| é╞Éöù±üEò╢ÄÜù±
  3390. é≡ÄwÆΦé╖éΘÄ«é╠è╘é═ï≤é»é─é═éóé»é▄é╣é±üB
  3391.  | é╞ăé╠Ä«é╠è╘é≡ï≤é»éΘé╞üA programé╠æOé╠ò√é╠  | stop(Usage) é╠éµéñé╔
  3392. alternation(ì╢æñé╠Ä«é¬Ä╕ösé╖éΘé╞ëEæñé╠Ä«é≡Ä└ìs)é╔é╚é┴é─é╡é▄éóé▄é╖üB
  3393.  
  3394.  
  3395.   random05 999 10 100 é╞é╡é╜é╞é½é╠îïë╩é┼é╖üB
  3396. -----^ RANDOM05 ( date:97-05-31 time:13:18 ) ---------------<cut here
  3397.  439 469 993 330 931 528 935 653 196 586
  3398. -----$ RANDOM05 ( lines:1 words:10 ) -----------------------<cut here
  3399.  
  3400.  
  3401.   éáé┴üAÉöÄÜé≡żé│éóÅçé╔Åoé│é╚éóé╞éóé»é╚éóé±é┼é╡é╜é╦üB
  3402. é╖éΘé╞ sorté¬òKùvé╔é╚éΦé▄é╖üB æOé╠ programé┼ seté╔ÉöÄÜé≡ôoÿ^é╡é▄é╡é╜é╠é┼üA
  3403. é╗éΩé≡ sorté╡é─Åoù═é╡é▄é╖üB   seté╓é╠ôoÿ^é═üAè∙é╔æOé╔ seté╔ôoÿ^é│éΩé─éóé─
  3404. éαû│Äïé│éΩé▄é╖üiÅπÅæé½é╚é╠é⌐üAôoÿ^é│éΩé╚éóé╠é⌐ò¬é⌐éΦé▄é╣é±üjé╠é┼üAé╗é╠
  3405. â`âFâbâNé═èOé╡é▄é╡é╜üB
  3406.  
  3407. -----^ RANDOM06.ICN ( date:97-05-31 time:01:28 ) -----------<cut here
  3408. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3409. # üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
  3410. # üÖ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
  3411. # üÖ Ådòíé≡ö≡é»éΘüB
  3412. # üÜ sorté╡é─Åoù═
  3413. # random06.icn 1997/05/31 windy Kazetsukai H.S.
  3414. # This file is in the public domain.
  3415. link random  # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
  3416.  
  3417. procedure main(args)                 
  3418.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3419.  
  3420.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3421.    (l := numeric(args[3])) } | stop(Usage)
  3422.  
  3423.   randomize()     # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
  3424.  
  3425.   every writes(" ", uniq_rand(n,m,l))
  3426.   write()
  3427. end
  3428.  
  3429. # Ådòíé≡ö≡é»éΘ procedure
  3430. procedure uniq_rand(n,m,l)
  3431.   static S
  3432.   S := set()
  3433.   while *S < m do insert(S,rand(n,l))
  3434.   every suspend !sort(S)
  3435. end
  3436.  
  3437. procedure rand(n,l)
  3438.   suspend  |(?(n-l+1) +l-1)
  3439. end
  3440. -----$ RANDOM06.ICN ( lines:32 words:103 ) -----------------<cut here
  3441.  
  3442.   random06 999 10 100 é╞é╡é╜é╞é½é╠îïë╩é┼é╖üB
  3443.  
  3444. -----^ RANDOM06 ( date:97-05-31 time:13:20 ) ---------------<cut here
  3445.  241 292 388 400 495 711 896 904 937 969
  3446. -----$ RANDOM06 ( lines:1 words:10 ) -----------------------<cut here
  3447.  
  3448. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3449. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3450. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  3451. (pcv0531b.txt 1997/05/31 PCVAN SLABO)
  3452.  
  3453. üí  Icon > Iconë±éΦô╣üiéRüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö    òùé┬é⌐éó
  3454.  
  3455.   éRîàé╠ÉöÄÜé╞éóéñÅ≡îÅé┼üAé╗é╠éαé╠âYâoâè ò╢ÄÜÉöé¬éRîà é╞éóéñéΓéΦò√é≡Åæé½ùÄé╞
  3456. é╡é▄é╡é╜üBé╗éñéóéñÅ≡îÅé╠ÅΩìçé═üAăé╠éµéñé╔é╚éΦé▄é╖üB
  3457.  
  3458. -----^ RANDOM07.ICN ( date:97-06-01 time:23:49 ) -----------<cut here
  3459. # Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
  3460. # üÜ dîàé╠Éöé╛é»é╞éóéñɺî└òté½
  3461. # random07.icn 1997/06/01 windy Kazetsukai H.S.
  3462. # This file is in the public domain.
  3463.  
  3464. procedure main(args)                 
  3465.   Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
  3466.  
  3467.   {(n := numeric(args[1])) & (m := numeric(args[2])) &
  3468.    (d := numeric(args[3])) } | stop(Usage)
  3469.                             #ü¬æOé╠ 3ìÇé╠ éóé╕éΩé⌐鬠Ä╕ösé╡é╜é╞é½
  3470.  
  3471.   every writes(" ", 1(nn := rand(n), *nn = d) \m)
  3472.                 #  ü¬                ü¬ *é═üAîàÉöüiò╢ÄÜÉöüjé≡ò\éφé╖üB
  3473.   write()       #  übéQé┬é╠Ä«é╠éñé┐éPö╘û┌é╠Ä«é╠Ælé≡Ælé╞é╖éΘÄwÆΦüB
  3474. end
  3475.  
  3476. procedure rand(n)
  3477.   repeat { suspend ?n }
  3478. end
  3479. -----$ RANDOM07.ICN ( lines:20 words:79 ) ------------------<cut here
  3480.  
  3481.   rndom07 999 10 2 é╞é╡é╜ÅΩìçé╠îïë╩é┼é╖üB
  3482. -----^ RANDOM07.2 ( date:97-06-01 time:23:50 ) -------------<cut here
  3483.  80 51 12 88 29 33 53 32 75 64
  3484. -----$ RANDOM07.2 ( lines:1 words:10 ) ---------------------<cut here
  3485.  
  3486.   rndom07 999 10 3 é╞é╖éΩé╬üAé▒éñé╚éΦé▄é╖üB
  3487. -----^ RANDOM07.3 ( date:97-06-01 time:23:50 ) -------------<cut here
  3488.  212 413 316 510 422 306 737 717 138 336
  3489. -----$ RANDOM07.3 ( lines:1 words:10 ) ---------------------<cut here
  3490.  
  3491. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3492. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3493. BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
  3494. (pcv0601a.txt 1997/06/01 PCVAN SLABO)
  3495.  
  3496. üí  Icon > Iconë±éΦô╣üiéSüjUsageé¬üDüDüD                    òùé┬é⌐éó
  3497.  
  3498.   éáéΩéΩüArandom02.icné⌐éτ random07.icné▄é┼üAæSòö Usageé╠âtâ@âCâïû╝é¬
  3499. random01é╠é▄é▄é┼é╖é╦üBéáé═é═üBéµé¡éΓéΦé▄é╖üB
  3500.  
  3501.   ÉlÄΦé┼ÅCÉ│é╖éΘé╠é┼üAÿRéΩé¬é┼é▄é╖é╠é┼üAâvâìâOâëâÇÄ⌐Égé┼ì∞éτé╣éµéñé╞
  3502. é▒é±é╚ procedureé≡ì∞é┴é─é▌é▄é╡é╜üB
  3503.  
  3504.   Iconé╔é═üAâvâìâOâëâÇû╝Å╠é≡Īé╖ keywordé¬éáéΦé▄é╖üB &prognameé┼é╖üB
  3505. &prognameé╔é═üAâfâBâîâNâgâèü[òté½é╠âtâ@âCâïû╝é¬ôⁿéΦé▄é╖üB
  3506.   Usageé┼é═üAâfâBâîâNâgâèü[é╞ègÆúÄqé═üAÆ╩Åφ òsùvé┼é╖é╠é┼üAé╗éΩé≡ìφÅ£
  3507. é╡é─Ägéóé▄é╖üB
  3508.  
  3509.   top_cut()é╞éóéñ procedureé┼üAâfâBâîâNâgâèü[é≡ìφÅ£é╡é─üA
  3510.   top_get()é╞éóéñ procedureé┼üAègÆúÄqé≡Å£éóé─éóé▄é╖üB
  3511. üiÄQìlé╔ &prognameé╗é╠éαé╠éαò\Īé╖éΘéµéñé╔é╡é─éóé▄é╖üBüj
  3512.  
  3513. -----^ EXE_NAME.ICN ( date:97-06-02 time:19:06 ) -----------<cut here
  3514. # Usageé╠ fileû╝Æ∙É│ÿRéΩé≡ ûhé«é╜é▀é╠ fileû╝É╢ɼ procedure
  3515. # exe_name.icn 1997/06/02 windy Kazetsukai H.S.
  3516. # This file is in the public domain.
  3517.  
  3518. procedure exe_name()
  3519.   write(&progname)                           # testùp
  3520.   return top_get('.',top_cut('\\',&progname))
  3521. end
  3522.  
  3523. ####################
  3524. # ò╢ÄÜù±é╠ Éµô¬é⌐éτô┴ÆΦò╢ÄÜé▄é┼é╠òöò¬ é≡ĵéΦïÄéΘüBì┼Æ╖òöò¬é≡ĵéΦïÄéΘüB
  3525. ####################
  3526. # arg   : cset
  3527. # value : string
  3528. # Usage : top_cut(c,s)
  3529. procedure top_cut(c,s)
  3530.   /s := &subject                         # sé╠ÄwÆΦé¬é╚é»éΩé╬ &subject
  3531.   /c := ' \t'                            # cé╠ÄwÆΦé¬é╚é»éΩé╬ spaceé⌐ tab
  3532.   s ? {                                  # sé≡æûì╕æ╬Å█é╞é╖éΘüB
  3533.     while tab(upto(c)) do tab(many(c))   # cé¬î⌐é┬é⌐éΘî└éΦüAæûì╕ê╩Æué≡
  3534.                                          # é╗é╠ò╢ÄÜé╠îπé╔ê┌ô«üB
  3535.     return tab(0)                        # ÄcéΦé╠ò╢ÄÜù±é≡ò╘é╖üB
  3536.   }
  3537. end
  3538.  
  3539.  
  3540. ####################
  3541. # ò╢ÄÜù±é╠ Éµô¬é⌐éτô┴ÆΦò╢ÄÜé▄é┼é╠òöò¬ é≡ô╛éΘüBì┼ÆZòöò¬é≡ô╛éΘüB
  3542. ####################
  3543. # arg   : cset
  3544. # value : string
  3545. # Usage : top_get(c,s)
  3546. procedure top_get(c,s)
  3547.   /s := &subject                         # sé╠ÄwÆΦé¬é╚é»éΩé╬ &subject
  3548.   /c := ' \t'                            # cé╠ÄwÆΦé¬é╚é»éΩé╬ spaceé⌐ tab
  3549.   s ? {                                  # sé≡æûì╕æ╬Å█é╞é╖éΘüB
  3550.     return tab(upto(c) | 0)              # cé▄é┼æûì╕ê╩Æué≡ê┌ô«é╡é╗é╠è╘é╠
  3551.   }                                      # ò╢ÄÜù±é≡ò╘é╖üBcé¬é▌é┬é⌐éτé╚é»
  3552.                                          # éΩé╬üAûûö÷é▄é┼ò╘é╖üB
  3553. end
  3554. -----$ EXE_NAME.ICN ( lines:40 words:132 ) -----------------<cut here
  3555.  
  3556.  
  3557.   ÄgùpâTâôâvâïé┼é╖üB Usageé≡ò\Īé╖éΘé╛é»é╠âvâìâOâëâÇé┼é╖üB
  3558.  
  3559. -----^ NAME01.ICN ( date:97-06-02 time:01:46 ) -------------<cut here
  3560. # Usageé╠ fileû╝é╠Æ∙É│ÿRéΩé≡ûhé«é╜é▀é╠ fileû╝É╢ɼ procedure
  3561. # name01.icn 1997/06/02 windy Kazetsukai H.S.
  3562. # This file is in the public domain.
  3563. link exe_name
  3564.  
  3565. procedure main(args)                 
  3566.   Usage := exe_name() || " é╚é±é╜éτé⌐é±é╜éτ é╟éñé╜éτé▒éñé╜éτ"
  3567.   write(Usage)
  3568. end
  3569. -----$ NAME01.ICN ( lines:9 words:32 ) ---------------------<cut here
  3570.  
  3571.  
  3572.   îïë╩é═é▒éñé╚éΦé▄é╖üBéPìsû┌é═üA&prognameé≡Īé╡é─éóé▄é╖üB
  3573.  
  3574. -----^ NAME01 ( date:97-06-02 time:19:08 ) -----------------<cut here
  3575. D:\ICON\LEC35\NAME01.EXE
  3576. NAME01 é╚é±é╜éτé⌐é±é╜éτ é╟éñé╜éτé▒éñé╜éτ
  3577. -----$ NAME01 ( lines:2 words:4 ) --------------------------<cut here
  3578.  
  3579. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3580. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3581. BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
  3582. (pcv0601b.txt 1997/06/01 PCVAN SLABO)
  3583.  
  3584. üí  Icon > Iconë±éΦô╣üiéTüja < b é¬Ælé≡éαé┬                 òùé┬é⌐éó
  3585.  
  3586. üiIconé┼é═üAöΣèrÄ«é═ɼî≈é╖éΘé╞üAëEò╙é╠Ælé≡ĵéΦé▄é╖é¬üAé╗é╠Éαû╛é≡ PCVANé╠
  3587.   SLABOé╠ë∩ïcÄ║é┼ é┐éσé┴é╞Éαû╛é╡é▄é╡é╜é╠é┼üAÄQìlé╔é╚éΘé⌐é╞üBüj
  3588.  
  3589.   êΩö╩ôIé╔üAöΣèrÄ«é═üAɼùºé╖éΩé╬üAëEò╙é╠Ælé≡Ä¥é┐é▄é╖üB
  3590.     ùßéªé╬üA
  3591.          3 < 5   é╠Ælé═üA  5  é┼é╖üB
  3592.       "A" << "B" é╠Ælé═üA "B" é┼é╖üB
  3593.  
  3594.   é┼é╖é⌐éτüA
  3595.          write(3 < 5)      é═üA"5" é≡Åoù═é╡é▄é╖é╡üA
  3596.          write("A" << "B") é═üA"B" é≡Åoù═é╡é▄é╖üB
  3597.  
  3598.   üi < é═ÉöÄÜé╠öΣèrüB<< é═ò╢ÄÜù±é╠öΣèré┼é╖üB write()é═üAÉöÄÜé╠ÅΩìçé═
  3599.      ò╢ÄÜé╔ò╧è╖é╡é─Åoù═é╡é▄é╖üBüj
  3600.  
  3601.   Ä└ì█é╔é═üAëEò╙é≡ò╧Éöé╔é╡é─üAò╧Éöé¬öΣèrÅ≡îÅé╔êΩÆvé╖éΩé╬Åoù═é╖éΘ
  3602. é╞éóéñéµéñé╚ò\î╗é╔Ägéóé▄é╖üB
  3603.  
  3604.   Iconé┼é═üAöΣèrÄ«é╔î└éτé╕üAæSé─é╠Ä«é¬Ælé≡Ä¥é┐é▄é╖üB é╗é▒é┼üA
  3605.          write(if n < m then "NNN" else "MMM")
  3606.  
  3607.   é╞éóéñéµéñé╚ò\î╗éαé┼é½é▄é╖üBé▒éΩé═üA
  3608.          if n < m then write("NNN") else write("MMM")
  3609.  
  3610.   é╞ô»é╢é▒é╞é╔é╚éΦé▄é╖üBé╢éßéáüAé▒é╠Ä«é╠Ælé═é╟éñé╚éΘé⌐é╞éóéñé╞üA
  3611.   write()é═ê°Éöé╞ô»é╢Ælé≡Ä¥é┐é▄é╖é╠é┼üAÅoù═ò╢ÄÜé╞ô»é╢Ælé╔é╚éΦé▄é╖üB
  3612.  
  3613.          write(if n < m then write("NNN") else write("MMM"))
  3614.   é═üAô»é╢ò╢ÄÜé≡éQôxÅoù═é╡é▄é╖üB
  3615.  
  3616.   é│é─üAÅ≡îÅé¬É¼ùºé╡é╚éóÅΩìçé┼é╖é¬üAé╗é╠ÅΩìçé═é╗é╠Ä«é═üyÄ╕ösüzé╡é▄é╖üB
  3617. üyÄ╕ösé╖éΘüzé╞éóéñé╠é═üAé╗é╠Ä«é¬û│éóé╠é╞ô»é╢é╞éóéñé▒é╞é╔é╚éΦé▄é╖üB
  3618.   Ælé╞é╡é─é═ nullé╞é╚éΦé▄é╖üBé╞éóéñé⌐üAÆlé¬û│éóé╞éóéñî╛éóò√é¬ù╟éóé⌐éα
  3619. é╡éΩé▄é╣é±üB
  3620.  
  3621.   Iconé╠è╓Éöé═üAnullé¬ê°Éöé┼é╖é╞üAÆ╩Åφé═üAé╗é╠è╓ÉöÄ⌐æ╠é¬Ä╕ösé╡é▄é╖üB
  3622.   é▒é╠Ädùlé╠é╜é▀é╔üAò\î╗é≡ö±Åφé╔âRâôâpâNâgé╔é┼é½éΘé▒é╞éαæ╜éóé┼é╖üB
  3623.  
  3624.   ô«ì∞âTâôâvâïé≡ăé¼é╔üB
  3625. -----^ A_B.ICN ( date:97-06-06 time:20:17 ) ----------------<cut here
  3626. # This file is public domain.
  3627. # Ä«é╠Ælé╠âTâôâvâï
  3628. procedure main()
  3629.   write(3 < 5)
  3630.   wriet(3 > 5)               # é▒é╠Ä«é═Ä╕ösé╡é▄é╖üB
  3631.   write("A" << "B")
  3632.   n := 3
  3633.   m := 5
  3634.   write(if n < m then "NNN" else "MMM")
  3635.   if n < m then write("NNNN") else write("MMMM")
  3636.   write(if n < m then write("NNNNN") else write("MMMMM"))
  3637. end
  3638. -----$ A_B.ICN ( lines:12 words:52 ) -----------------------<cut here
  3639.  
  3640.   command lineé⌐éτ a_b > a_b é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
  3641. -----^ A_B ( date:97-06-06 time:20:17 ) --------------------<cut here
  3642. 5
  3643. B
  3644. NNN
  3645. NNNN
  3646. NNNNN
  3647. NNNNN
  3648. -----$ A_B ( lines:6 words:6 ) -----------------------------<cut here
  3649.  
  3650. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3651. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3652. BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
  3653. (pcv0606a.txt 1997/06/06 PCVAN SLABO)
  3654.  
  3655. üí  Icon > é┐éσé┴é╞ IconüiéTüjWicon beta8                   òùé┬é⌐éó
  3656.  
  3657.   Iconé╠ WindowsNT/95æ╬ë₧ö┼é≡ï▀é▓éδéóé╢é┴é─éóé▄é╖üB ô·û{îΩé═ûóé╛ëµû╩é╔
  3658. éñé▄é¡Åoé╣é╚éóé╠é┼é╖é¬üAé┐éσé┴é╞é▓Å╨ëεé╡é▄é╖üB
  3659.  
  3660.   Iconé═üAArizonaæσèwé╠ Griswoldï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖é¬üA
  3661. WindowsNT/95æ╬ë₧é╠ Icon(Wicon)é═üAArizonaæσèwé╔éóé─üAé╗é╠îπ Texasæσèw
  3662. San AntonioìZ(UTSA)é╔ê┌é┴é╜ Jefferyï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖üB
  3663.  
  3664.   î╗ì▌é═üAbetaö┼é┼ 8ö┼é╔é╚é┴é─éóé▄é╖üB  Äƒé╠Åèé⌐éτôⁿÄΦé┼é½é▄é╖üB
  3665. <UTSA>
  3666. ftp://ringer.cs.utsa.edu/pub/icon/nt/graphics/
  3667. Index of /pub/icon/nt/graphics/
  3668.     Name            Last modified     Size 
  3669.     docs.zip        26-Feb-97 16:47    38K 
  3670.     gprocs.zip      26-Feb-97 01:43   501K 
  3671.     iconhelp.zip    05-Mar-97 12:53   145K 
  3672.     keysyms.icn     08-Feb-96 00:00     3K 
  3673.     procs.zip       26-Feb-97 01:43   339K 
  3674.     READ.ME         06-Mar-97 00:53     4K 
  3675.     vdefns.icn      17-Jun-97 01:53     1K 
  3676.     vib.zip         26-Feb-97 02:31   122K 
  3677.     vibsrc.zip      26-Feb-97 01:43   261K 
  3678.     wi.bat          06-Mar-97 00:50   209K 
  3679.     wi.icn          06-Mar-97 00:50    14K 
  3680.     wi.zip          06-Mar-97 00:52    54K 
  3681.     wicon.zip       06-Mar-97 01:26   339K 
  3682.  
  3683. <Arizona>
  3684. ftp://ftp.cs.arizona.edu/icon/beta/windows
  3685. Index of /icon/beta/windows
  3686.     Name            Last modified     Size 
  3687.     docs.zip        06-Mar-97 20:12    38K 
  3688.     gprocs.zip      06-Mar-97 20:12   501K 
  3689.     iconhelp.zip    06-Mar-97 20:13   145K 
  3690.     keysyms.icn     06-Mar-97 20:23     3K 
  3691.     procs.zip       06-Mar-97 20:16   339K 
  3692.     READ.ME         06-Mar-97 20:21     4K 
  3693.     vib.zip         06-Mar-97 20:18   122K 
  3694.     vibsrc.zip      06-Mar-97 20:18   261K 
  3695.     wi.icn          06-Mar-97 20:23    14K 
  3696.     wi.zip          06-Mar-97 20:19    54K 
  3697.     wicon.zip       06-Mar-97 20:20   339K 
  3698.  
  3699.   UTSA鬠originalé┼üAîπé┼ Arizonaæσèwé╓éαôoÿ^é│éΩé╜é▌é╜éóé┼é╖üB
  3700.  
  3701.   MS-DOSö┼é╠ Iconé═üAô┴é╔ô·û{îΩæ╬ë₧ö┼é╞éóéñé╠é═éáéΦé▄é╣é±é¬üAò╢ÄÜù±
  3702. é≡ 1byteÆPê╩é┼üAæûì╕üEë┴ìHé╖éΘï@ö\é¬ö⌡éφé┴é─éóé▄é╖é╠é┼üAô·û{îΩæ╬ë₧é═
  3703. ô┴é╔üAIconÅêù¥îné≡éóé╢éτé╚é¡é─éαüAIcon Programmeræñé┼Åêù¥é┼é½é▄é╖üB
  3704.  
  3705.   Windowsö┼éαüAô·û{îΩò╢ÄÜé¬ëµû╩é╔Åoé╣é│éªé╖éΩé╬üAîπé═ programmeræñé╞
  3706. é╡é─é═òsò╓é═û│éóé╞Ävé┴é─üAé╚é±é╞é⌐ô·û{îΩé¬ò\Īé┼é½é╚éóé⌐é╞ÉFüXÄÄé╡é─
  3707. éóé▄é╖üB
  3708.  
  3709.   Windowsö┼é╠ Iconé═üAïNô«é╡é╜Å≤æ╘é┼üAéQé┬é╠ Windowé¬èJé½é▄é╖üB
  3710. éPé┬é═üAeditor-windowé┼üAéαéñéPé┬é═ console-windowé┼é╖üB
  3711.  
  3712.   üEeditor-windowé┼é═üAô·û{îΩôⁿù═é═üAûΓæΦéáéΦé▄é╣é±üBò\Īéαénéjé╛é╡
  3713.     ò█æ╢é╡é─ì─ôxô╟é▌é╛é╡é─éαæσÅΣòvé┼é╖üB
  3714.     ìsûûé╠CRLFé¬üACRCRLFé╔é╚éΘéµéñé┼é╖é¬üAô«ì∞é═ûΓæΦéáéΦé▄é╣é±üB
  3715.  
  3716.   üEconsole-windowé═üAòWÅÇÅoù═é≡ò\Īé╖éΘ windowé┼é╖é¬üAô·û{îΩé≡Åoù═
  3717.     é╖éΘé╞ë╗é»é▄é╖üB
  3718.  
  3719.   üEprogramé┼üAwindowé¬èJé»é▄é╖üBèJéóé╜ windowé╔é═üAâtâHâôâgÄwÆΦé¬
  3720.     é┼é½é▄é╖üB  ô·û{îΩé╠âtâHâôâgÄwÆΦéαùLî°é╚éαé╠é¬éáéΦé▄é╖üB
  3721.     FixedSys é╞ System é═ÄwÆΦé╖éΘé╞ùLî°é▌é╜éóé┼é╖üB
  3722.     é╡é⌐é╡üAô┴ÆΦâRü[âhé≡è▄é▐ò╢ÄÜé═éñé▄é¡ò\Īé┼é½é▄é╣é±üB
  3723.  
  3724.     Shift-JISâRü[âhé≡Åoù═é╖éΘăé╠éµéñé╚ programé≡ì∞é┴é─ÄÄé╡é─é▌é▄é╡é╜üB
  3725. -----^ JCHAR02W.ICN ( date:97-07-05 time:21:53 ) -----------<cut here
  3726. # Show Japapense characters(Shift-JIS, output each character)
  3727. # This file is in the public domain.
  3728. # jchar02w.icn 1997/07/05 windy òùé┬é⌐éó H.S.
  3729. link hexcvt, convert,       # BIPL    èεû{ procedure library
  3730.      wopen                  # GIPL    WindowÄxëç procedure library
  3731.  
  3732. procedure main(args)
  3733.   Usage := "jchar02w first_byte(hex) of the top char of char blocks. ex: 81"
  3734.   if *args < 1 then stop(Usage)    # ê°Éöû│é╡
  3735.   jchar_out(inbase10(args[1],16))  # ê°Éöé≡ÉöÄÜé╔ò╧è╖
  3736. end
  3737.  
  3738. procedure jchar_out(n1)
  3739. # Shift-JISé╠ò╢ÄÜÅoù═ Åπê╩ n1üAë║ê╩ \x40-\x7E,\x80-\xFC é╠ò╢ÄÜé≡Åoù═
  3740. # arg : [1]:block_no
  3741.   # window open
  3742.   WOpen("size=550,250","bg=pale red",
  3743.         "label=" || (s1 := hexstring(n1,2)) || "40-" || s1 ||
  3744.         "FC : each character") | stop("can't open window")
  3745.   Font("FixedSys")          # fontÄwÆΦ
  3746.   WWrite("dummy")           # ì┼Åëé╠ò╢ÄÜé¬éñé▄é¡ò\Īé│éΩé╚éóîÅé╠æ╬ì⌠
  3747.   WWrite(s1,"40 -> ",s1,"7E")
  3748.   WWrite("<0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F>")
  3749.   every  n2 := 16r40 to 16r7E do {      # Shift-JISò╢ÄÜÅoù═üiæOö╝üj
  3750.     if ((16r40 < n2) % 32 = 0) then WWrite()     # 32ò╢ÄÜé┼ëⁿìs
  3751.     WWrites(char(n1) || char(n2))   # otuput each character(2 bytes)
  3752.   }
  3753.   WWrite()
  3754.  
  3755.   WWrite()
  3756.   WWrite(s1 := hexstring(n1,2),"80 -> ",s1,"FC")
  3757.   WWrite("<0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F>")
  3758.   every  n2 := 16r80 to 16rFC do {      # Shift-JISò╢ÄÜÅoù═üiîπö╝üj
  3759.     if ((16r80 < n2) % 32 = 0) then WWrite()
  3760.     WWrites(char(n1) || char(n2))   # output each character(2 bytes)
  3761.   }
  3762.   WWrite()
  3763.  
  3764.   WDone()     # q/QâLü[ôⁿù═æ╥é┐üiQé▄é╜é═qé≡ëƒé╖é╞ windowé≡ close)
  3765.   return
  3766. end
  3767. -----$ JCHAR02W.ICN ( lines:41 words:245 ) -----------------<cut here
  3768.  
  3769.   é▒éΩé≡üAê°Éö 91é┼ô«é⌐é╡é▄é╖é╞üA
  3770. 9140 -> 917E
  3771. <0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F>
  3772. æ@æAæBæCæDæEæFæGæHæIæJæKæLæMæNæOæPæQæRæSæTæUæVæWæXæYæZæ[æ\æ]æ^æ_
  3773. æ`æaæbæcædæeæfægæhæiæjækælæmænæoæpæqæræsætæuævæwæxæyæzæ{æ|æ}æ~
  3774.  
  3775. 9180 -> 91FC
  3776. <0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C D E F>
  3777. æÇæüæéæâæäæà??æçæêæëæèæïæîæìæÄæÅæÉæææÆ??æö??æûæùæÿæÖ????æ£æ¥æ₧æƒ
  3778. æáæíæóæúæñæÑæªæºæ¿æ⌐æ¬æ½æ¼æ¡æ«æ»æ░æ▒æ▓æ│æ┤æ╡æ╢æ╖æ╕æ╣æ║æ╗æ╝æ╜æ╛æ┐
  3779. æ└?┴æ┬æ├æ─æ┼æ╞æ╟æ╚æ╔æ╩æ╦æ╠æ═æ╬?╧?╨æ╤æ╥æ╙æ╘æ╒?╓æ╫æ╪æ┘æ┌æ█æ▄æ▌æ▐?▀
  3780. æα????æπæΣæσæµæτæΦæΘæΩæδ??æφ??æ∩??????æ≤æ⌠æ⌡æ÷æ≈æ°????æ√æⁿ
  3781.  
  3782. é╞éóéñîïë╩é┼üA?é╠òöò¬é╠ò╢ÄÜé¬éñé▄é¡ò\Īé┼é½é▄é╣é±üB
  3783. üiMS-DOSé┼ô«é¡ô»é╢ programé╠Åoù═é╔üAWindowsö┼é╠ëµû╩é┼ë╗é»éΘòöò¬é╠
  3784.   ÅCÉ│é≡ë┴éªé╜éαé╠é┼é╖üB ?é═ëµû╩Åπé═ÅcÆ╖üíò\Īé╔é╚é┴é─éóé▄é╖üBüj
  3785.  
  3786.   î│üXëpîΩö┼é╠ WindowsNT/95ùpé╔èJö¡é│éΩé─éóé▄é╖é¬üAMS-DOSö┼é╠éµéñé╔üA
  3787. ô·û{îΩö┼é╠ WindowsÅπé┼ô«é⌐é╡é─üAô·û{îΩò╢ÄÜò\Īé¬üAé┘é┌ÄxÅßé╚éóéµéñé╔
  3788. é╚éΘé╞éóéóé╚é╞Ävé┴é─éóé▄é╖üB
  3789.  
  3790.   é╞éóéñé▒é╞é┼üA Jefferyï│Ä÷é╔üAô·û{îΩö┼ Windows95é┼üAô«é⌐é╡é╜é╞é½é╠
  3791. âîâ|ü[âgé≡ æùé┴é─éóé▄é╖üB ô·û{îΩò\Īé≡îƒôóé╡é─é▌éµéñî╛é┴é─éóé╜é╛éóé─
  3792. éóé▄é╖é╠é┼üAô·û{îΩéαé┘é┌ÄxÅßé╚é¡ò\Īé┼é½éΘö┼é¬é┼é½éΘé⌐éαé╡éΩé▄é╣é±üB
  3793.  
  3794.   é╚é╔é⌐ÄQìlÅæé¬û│éóé⌐é╞ò╖é⌐éΩé▄é╡é╜é╠é┼üAÄäéαô╟é±é┼éóé╚éóé╠é┼é╖é¬üA
  3795.   "Developing International Software for Windows 95 and Windows NT"
  3796. é╞éóéñû{é≡Å╨ëεé╡é▄é╡é╜üBû≡é╔ùºé┬é╞ù╟éóé╠é┼é╖é¬üB
  3797.  
  3798.   éáé┐éτé╔é═üAô·û{îΩö┼ Windows95éΓNTé═éáéΦé▄é╣é±é╠é┼üAâeâXâgö┼é≡ì∞é┴é─
  3799. éóé╜é╛éóé─üAé▒é┐éτé┼âeâXâgé╖éΘé▒é╞é╔é╚éΦé▄é╖üB
  3800.   é┘é┌ô·û{îΩò\Īé╔ÄxÅßû│éóö┼é¬é┼é½é▄é╡é╜éτüAé▄é╜é¿Æméτé╣é╡é▄é╖üB
  3801.  
  3802. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3803.  <Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3804. BGM: ïâé»é┐éßéñé┘é╟é╣é┬é╚éóé»éΩé╟ü^ë¬û{É^ûΘ
  3805. (pcv0705a.txt 1997/07/05 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
  3806.  
  3807. üí  Icon > é┐éσé┴é╞ IconüiéUüjIcon Newsletter No.53         òùé┬é⌐éó
  3808.  
  3809.   Iconé╠âTâ|ü[âgé═üAâAâèâ]âiæσèwé╠ Icon Project é┼ìsé┴é─éóé▄é╖é¬üAöNéQë±üA
  3810. Newsletteré≡ö¡ìsé╡é─éóé▄é╖üB
  3811.   ê╚æOé═üAè≤û]Ä╥é╔ì√Äqé┼özòzé╡é─éóé▄é╡é╜é¬üAî╗ì▌é═ WEBé┼î⌐éΘé▒é╞é¬é┼é½
  3812. é▄é╖üB
  3813.   No.53é¬î÷èJé│éΩé─éóé▄é╡é╜é╠é┼üAé▓ï╗ûíé╠éáéΘò√é═üAé╠é╝éóé─î⌐é─ë║é│éóüB
  3814.  
  3815. http://www.cs.arizona.edu/icon/newsletter/inl53/inl53.html
  3816. No. 53 -- August 1, 1997
  3817. Contents
  3818.      Icon in Java 
  3819.      Icon Documentation in Japanese 
  3820.      Handbook of Programming Languages 
  3821.      Icon Analyst Promotional Offer 
  3822.      Programming Visualization Course 
  3823.  
  3824.   No.50ê╚ì~é═üAhttp://www.cs.arizona.edu/icon/newsletter/inl.html é⌐éτ
  3825. linké¬Æúé┴é─éáéΦé▄é╖üB û┌ăé≡é▓ÄQìlé╔üB
  3826.  
  3827. No. 52 -- April 1, 1997 
  3828. Contents
  3829.      Mail-Order Program Material 
  3830.      Teaching Icon 
  3831.      Web Links 
  3832.      Native Interface Components in Windows Icon 9.3 
  3833.      Programming Language Handbook 
  3834.      From Our Mail 
  3835.      Knowledge Explorer 
  3836.  
  3837. No. 51 -- December 1, 1996 
  3838. Contents
  3839.      Third Edition of The Icon Programming Language 
  3840.      Graphics Programming Book 
  3841.      Version 9.3 of Icon 
  3842.      Version 9.3 of the Program Library 
  3843.      New MS-DOS Implementation 
  3844.      Icon in Java 
  3845.      Teaching Icon 
  3846.      Web Links 
  3847.      Chicon 
  3848.  
  3849. No. 50 -- August 1, 1996 
  3850. Contents
  3851.      Third Edition of the Icon Book 
  3852.      New Implementations of Icon 
  3853.      Icon for Chinese Computing 
  3854.      Teaching Icon 
  3855.      Book Sale! 
  3856.      Web Links 
  3857.      From Our Mail 
  3858.  
  3859. Å«üANo.44ê╚ì~é═üAăé╠Åèé╔ pdfî`Ä«é┼Æuéóé─éáéΦé▄é╖üB pdfî`Ä«âtâ@âCâïé╠ò\Ī
  3860. é╔é═ Acrobat Readeré¬òKùvé┼é╖é¬üAhttp://www.adobe.co.jp/ é⌐éτôⁿÄΦé┼é½é▄é╖üB
  3861.  
  3862. ftp://ftp.cs.arizona.edu/icon/doc
  3863.     inl44.pdf       10-Aug-95 00:00   124K 
  3864.     inl45.pdf       10-Aug-95 00:00   187K 
  3865.     inl46.pdf       17-Oct-95 00:00   270K 
  3866.     inl47.pdf       25-Nov-95 00:00   268K 
  3867.     inl48.pdf       25-Nov-95 00:00   378K 
  3868.     inl49.pdf       17-Mar-96 00:00   550K 
  3869.     inl50.pdf       14-Jul-96 00:00   563K 
  3870.     inl51.pdf       05-Dec-96 00:00   508K 
  3871.     inl52.pdf       27-Mar-97 22:31    82K  <-é▒éΩé═âTâCâYé¬é¿é⌐é╡éóé┼é╖é╦üB
  3872.                                               ë≤éΩé─éóéΘé▌é╜éóüB
  3873.                                             (î╗ì▌é═üAÉ│Åφé╚éαé╠é╔Æuè╖é│éΩé─
  3874.                                              éóé▄é╖üB)
  3875.  
  3876.   é¿é▄é»é╔üAIconè╓îWé╠ WEB LINKé≡éáé░é─é¿é½é▄é╖üB
  3877.  
  3878. http://www.cs.arizona.edu/icon/index.html
  3879. http://www.cs.utsa.edu/research/icon/icon.html
  3880. http://www.nmt.edu/tcc/help/lang/icon/homepage.html
  3881. http://www.eleves.ens.fr:8080/home/espie/icon/
  3882. http://www.crl.com/~spm/unicon/
  3883.  
  3884. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  3885.  <Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  3886. (pcv0801a.txt 1997/08/01 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
  3887.  
  3888. üí  Icon > é┐éσé┴é╞ IconüiéVüjIcon Ver9.3 (Windows95/NT)    òùé┬é⌐éó
  3889.  
  3890.   Iconé╠ Windows95/NTö┼é¬üAÉVé╡éóö┼é¬âèâèü[âXé│éΩé─é▄é╡é╜üB
  3891.   ìíôxé╠ö┼é═üAâtâHâôâgé═î└ÆΦé│éΩé▄é╖é¬üAô·û{îΩéαëµû╩é╔Åoé╣é▄é╖üB
  3892.  
  3893.   Iconé═üAArizonaæσèwé╠ Griswoldï│Ä÷üié╠âOâïü[âvüj鬠èJö¡é╡é─éóé▄é╖é¬üA
  3894. WindowsNT/95æ╬ë₧é╠ Icon(Wicon)é═üAArizonaæσèwé╔éóé─üAé╗é╠îπ Texasæσèw
  3895. San AntonioìZ(UTSA) é╔ê┌é┴é╜ Jefferyï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖üB
  3896.  
  3897.   Windows95/NTö┼âtâ@âCâïé═üAăé╠é╞é▒éδé⌐éτôⁿÄΦé┼é½é▄é╖üB
  3898. ftp://ringer.cs.utsa.edu/pub/icon/nt/graphics/
  3899.   README              4 Kb    Fri Aug 08 16:13:00 1997 
  3900.   docs.zip           34 Kb    Fri Aug 08 05:49:00 1997 Zip Compressed Data
  3901.   iconhelp.zip      605 Kb    Fri Aug 08 05:50:00 1997 Zip Compressed Data
  3902.   ipl.zip           866 Kb    Fri Aug 08 05:52:00 1997 Zip Compressed Data
  3903.   keysyms.icn         3 Kb    Thu Feb 08 00:00:00 1996 
  3904.   vib.zip           119 Kb    Fri Aug 08 05:52:00 1997 Zip Compressed Data
  3905.   vibsrc.zip         96 Kb    Fri Aug 08 05:52:00 1997 Zip Compressed Data
  3906.   wi.zip             53 Kb    Fri Aug 08 05:52:00 1997 Zip Compressed Data
  3907.   wicon.zip         631 Kb    Fri Aug 08 05:53:00 1997 Zip Compressed Data
  3908.  
  3909.   ÆåÉgé═üA
  3910.   README          : Éαû╛
  3911.   docs.zip        : Document
  3912.   iconhelp.zip    : Help file
  3913.   ipl.zip         : BIPL,GIPLé╠ Procedure
  3914.   keysyms.icn     : GIPL(èεû{âëâCâuâëâèü[üjé╔è▄é▄éΩéΘé¬ÅCÉ│é│éΩé─éóéΘé╞é╠é▒é╞üB
  3915.   vib.zip         : Visual Interface Builder üiIconé┼Åæé⌐éΩé╜âOâëâtâBâbâN
  3916.                     âCâôâ^ü[âtâFü[âXì∞ɼ âcü[âïé┼é╖üBüj
  3917.   vibsrc.zip      : ô»Åπé╠â\ü[âX
  3918.   wi.zip          : âëâôâ`ââü[
  3919.   wicon.zip       : âRâôâpâCâëüiâ\ü[âXé⌐éτÆåè╘î╛îΩÉ╢ɼüjé╞üiÆåè╘î╛îΩüjé╠
  3920.                     Ä└ìsë≡Ä▀Ä└ìs
  3921. é╞é╚é┴é─éóé▄é╖üB
  3922.  
  3923.   Ä└ì█é╔ô«é⌐é╖é╔é═üAé▒é╠æ╝é╔ BIPLé¬òKùvé┼é╖üBé▄é╜üAGraphicé╠âTâôâvâïâvâìâOâëâÇ
  3924. é═üAGIPLüiâOâëâtâBâbâNâëâCâuâëâèü[üjé╔ôⁿé┴é─éóé▄é╖üB
  3925.   ipl.zipé═üAGIPLé╠ôα procedureé≡ĵéΦÅoé╡é╜éαé╠é┼é╖üB
  3926.  
  3927.   BIPLé╞ GIPLé═ăé╠Åèé╔éáéΦé▄é╖üB
  3928.  
  3929. ftp://ftp.cs.arizona.edu/icon/library/
  3930.  
  3931.   README              1 Kb    Sun Feb 16 13:08:00 1997 
  3932.   VQUEENS.NOTE      197 bytes Sun Jan 05 00:00:00 1997 
  3933.   bipl.lzh         1190 Kb    Wed Nov 27 00:00:00 1996 
  3934.   bipl.sea.hqx     1652 Kb    Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
  3935.   bipl.tar.Z       1445 Kb    Thu Nov 28 00:00:00 1996 Compressed Data
  3936.   bipl.tar.gz       967 Kb    Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
  3937.   gipl.lzh         1092 Kb    Wed Nov 27 00:00:00 1996 
  3938.   gipl.sea.hqx     1486 Kb    Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
  3939.   gipl.tar.Z       1821 Kb    Thu Nov 28 00:00:00 1996 Compressed Data
  3940.   gipl.tar.gz      1200 Kb    Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
  3941.   info.lzh           16 Kb    Wed Nov 27 00:00:00 1996 
  3942.   info.sea.hqx       40 Kb    Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
  3943.   info.tar.Z         20 Kb    Wed Nov 27 00:00:00 1996 Compressed Data
  3944.   info.tar.gz        14 Kb    Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
  3945.   vqueens.icn         7 Kb    Sun Jan 05 00:00:00 1997 
  3946.  
  3947.   âCâôâXâgü[âïé═é▒é±é╚è┤é╢é┼é╖üB
  3948. üyâfâBâXâNé╓é╠èiö[üz
  3949.  D:\
  3950.   +wicon
  3951.   | |
  3952.   | +wi.bat                <--- wi.zipé⌐éτ
  3953.   | +noop.bat              <--- wicon.zipé⌐éτ
  3954.   | +wicont.exe            <--- wicon.zipé⌐éτ
  3955.   | +wiconx.exe            <--- wicon.zipé⌐éτ
  3956.   | +xxxx.hlp              <--- iconhelp.zipé⌐éτ
  3957.   | |
  3958.   |
  3959.   +gipl
  3960.   | +include
  3961.   | | +aaa.icn           <--- GIPLé╠ includeè╓îWâtâ@âCâïé≡é╗é╠é▄é▄ôⁿéΩéΘ
  3962.   | +procs
  3963.   | | +bbb.u1            <--- GIPLé╠ procedureé≡ Æåè╘î╛îΩé╔é╡é─ôⁿéΩé─é¿é¡
  3964.   | | +bbb.u2
  3965.   | +progs
  3966.   | | +ccc.icn           <--- GIPLé╠âvâìâOâëâÇ
  3967.   | +my_procs
  3968.   | | +ddd.u1            <--- Ä⌐ò¬é┼ì∞ɼé╡é╜ procedure
  3969.   | | +ddd.u2
  3970.   | +my_progs
  3971.   |   +fff.icn
  3972.   | 
  3973.   +bipl
  3974.   | +include
  3975.   | | +hhh.icn           <--- BIPLé╠ includeè╓îWâtâ@âCâïé≡é╗é╠é▄é▄ôⁿéΩéΘ
  3976.   | +procs
  3977.   | | +iii.u1            <--- BIPLé╠ procedureé≡ Æåè╘î╛îΩé╔é╡é─ôⁿéΩé─é¿é¡
  3978.   | | +iii.u2
  3979.   | |
  3980.   | +progs
  3981.   | | +jjj.icn           <--- BIPLé╠ âvâìâOâëâÇ
  3982.   | +my_procs
  3983.   | | +kkk.u1            <--- Ä⌐ò¬é┼ì∞ɼé╡é╜ procedure
  3984.   | | +kkk.u2
  3985.   | +my_progs
  3986.   |   +lll.icn
  3987.   |
  3988.  
  3989.   é╞éóéñòùé╔âfâBâXâNé╔èiö[é╡é▄é╖üB
  3990.  
  3991. üyè┬ï½ò╧Éöé╠É▌ÆΦüz
  3992.   Äƒé╠éSé┬é╠è┬ï½ò╧Éöé≡âZâbâgé╡é─é¿é½é▄é╖üB
  3993. IPATH=d:\gipl\procs d:\gipl\my_procs d:\bipl\procs d:\bipl\my_procs
  3994. LPATH=d:\gipl\include d:\bipl\include
  3995. ICONFONT=FixedSys
  3996. WICONLOG=d:\wicon\Wicon.log
  3997.  
  3998.   IPATH é═Æåè╘î╛îΩî`Ä«é╔é╡é╜ Iconé╠ procedureé≡ôⁿéΩé─é¿é¡é╞üAæ╝é╠âvâìâOâëâÇ
  3999. é⌐éτé╠ linkÄwÆΦé┼üAé╗é╠ procedureé≡ê°ùpé┼é½éΘâfâBâîâNâgâèü[é╠ÄwÆΦé┼é╖üB
  4000.  
  4001.   LPATH é═ â\ü[âXâvâìâOâëâÇé╠êΩòöé╞é╡é─üAæ╝é╠âvâìâOâëâÇé╠ $include ÄwÆΦé┼
  4002. é╗é╠ âvâìâOâëâÇé≡ê°ùpé┼é½éΘâfâBâîâNâgâèü[é╠ÄwÆΦé┼é╖üB
  4003.  
  4004.   ICONFONT é═üAÄgùpâtâHâôâgé╠ÄwÆΦé┼é╖üBÄäé╠è┬ï½é┼é═üAFixedSysé╞ Systemé¬
  4005. ùLî°é▌é╜éóé┼é╖üB
  4006.  
  4007.   WICONLOG é═üAô«ì∞âìâOé╠âtâ@âCâïÄwÆΦé▌é╜éóé┼é╖üBüiéµé¡ò¬é⌐éτé╚éóé╠é┼é╖é¬
  4008.   ÄwÆΦé╡é╚éóé╞üAâRâôâpâCâïé╠ôxé╔ÄwÆΦé╡éδé╞âüâbâZü[âWé¬é┼éΘéαé╠é┼üBüj
  4009.  
  4010. üyïNô«üz
  4011.   WI.BATé≡ïNô«é╖éΘé╞üAWiconé¬ïNô«é│éΩé─üAâGâfâBâ^ü[âEâBâôâhâEé¬èJé½é▄é╖üB
  4012.   é╗é▒é⌐éτüAIconé╠â\ü[âXâvâìâOâëâÇé≡æIæ≡é╖éΘé⌐ÉVé╡éóâ\ü[âXâtâ@âCâïû╝é≡ôⁿù═
  4013.   é╡é─üAâvâìâOâëâÇé≡ÅCÉ│ü^ì∞ɼé╡é─üAâRâôâpâCâïüimakeüjé╖éΩé╬üAÄ└ìsâéâWâàü[âï
  4014.   é¬é┼é½é▄é╖üB  é▒é╠ò╙é═üAÄ└ì█é╔ô«é⌐é╡é─î⌐é╜é┘éñé¬æüéóé┼é╡éσéñüB
  4015.  
  4016. üyâTâôâvâïüz
  4017.   GIPLé╔âTâôâvâïé¬ôⁿé┴é─éóé▄é╖é╠é┼üAô«é⌐é╡é─é▌é─ë║é│éóüB
  4018.   é╗é╠Æåé╠ GPXTEST.ICNé═üAGIPLé╠âTâôâvâïâvâìâOâëâÇé┼üAâOâëâtâBâbâNï@ö\é╠ô«ì∞
  4019. âeâXâgé╠âvâìâOâëâÇé┼é╖üBû╩öÆéóèGé¬é┼é─é½é▄é╖üB
  4020.   Å«üAvqueens.icné═ÅCÉ│ö┼é¬éáéΦé▄é╖üBGIPLé╠Æåé╠éαé╠é═üAâtâ@âCâïòsæ½âGâëü[é¬é┼
  4021. é▄é╖üBÅCÉ│ö┼鬠 ftp://ftp.cs.arizona.edu/icon/library/vqueens.icn  é╔éáéΦé▄é╖üB
  4022.  
  4023. üyâvâìâOâëâÇâ\ü[âXüz
  4024.   âvâìâOâëâÇâ\ü[âXé═üA
  4025. ftp://ringer.cs.utsa.edu/pub/icon/nt/src/  é╔éáéΦé▄é╖üB
  4026.  
  4027.   README              2 Kb    Wed Aug 06 01:48:00 1997 
  4028.   c.zip             155 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4029.   cmn.zip            72 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4030.   h.zip              83 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4031.   msvc50.zip         15 Kb    Wed Aug 06 00:39:00 1997 Zip Compressed Data
  4032.   p.zip              42 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4033.   r.zip             364 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4034.   rtl.zip           100 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4035.   rtt.exe           275 Kb    Fri Jan 26 00:00:00 1996 Binary Executable
  4036.   t.zip              88 Kb    Tue Aug 05 15:32:00 1997 Zip Compressed Data
  4037.   wincap.zip         40 Kb    Thu Feb 01 00:00:00 1996 Zip Compressed Data
  4038.  
  4039. üyô·û{îΩé╠ê╡éóüz
  4040.   Iconé╠ò╢ÄÜù±Åêù¥é═üAéPâoâCâgÆPê╩é┼ìséóé▄é╖üBô·û{îΩé╠ò╢ÄÜé╠ïµÉ╪éΦé≡ê╙Ä»é╡
  4041.   é╜âvâìâOâëâÇê╚èOé┼é═üAÄxÅßé═ïNé½é▄é╣é±üBô·û{îΩé╠ò╢ÄÜé╠ïµÉ╪éΦé≡ê╙Ä»é╖éΘé╠
  4042.   é¬òKùvé╚éτé╗éñéóéñ procedureé≡ægé▀é╬ë┬ö\é┼é╖üB
  4043.   é╡é⌐é╡üAëµû╩Åoù═é═é▄é╜ò╩ûΓæΦé┼é╖üBWindows95/NTè┬ï½é┼üAëµû╩é╠ò╢ÄÜé≡Åoù═é╖
  4044.   éΘì█é╔é═üAî╗âoü[âWâçâôé┼é═ Äƒé╠ɺî└é¬éáéΦé▄é╖üB
  4045.     üEâtâHâôâgé╠ɺî└
  4046.         âtâHâôâgÄwÆΦé¬üAÄ⌐ùRé╔é═é┼é½é╚éóüBFixedSysé╞ Systemé╠ÄwÆΦé═ùLî°é▌é╜
  4047.         éóé┼é╖üB
  4048.     üEô·û{îΩÅoù═é╠éΓéΦò√
  4049.         âRâôâ\ü[âïâEâBâôâhâEé╓é╠ô·û{îΩò╢ÄÜÅoù═éΓüAÉ╢ɼé╡é╜âEâBâôâhâEé╓é╠ô·û{
  4050.         îΩò╢ÄÜÅoù═é┼é═üAâoâCâgÆPê╩é┼Åoù═é╖éΘé╞ò╢ÄÜé¬ë╗é»é▄é╖üBò╢ÄÜüiéQâoâCâgüj
  4051.         ÆPê╩é┼Åoù═é╖éΩé╬æσÅΣòvé┼é╡é╜üB
  4052.         é┼é╖é⌐éτüAò╢ÄÜù±é≡ò\Īé│é╣éΘé╔é═üAÄxÅßé═éáéΦé▄é╣é±üB
  4053.       üié▄é╜üAâtâ@âCâïé╔Åoù═é╖éΘò¬é╔é═ûΓæΦéáéΦé▄é╣é±üj
  4054.  
  4055. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  4056.  <Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  4057. (pcv0810a.txt 1997/08/10 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
  4058.  
  4059. üí  Icon > IconÄUòαô╣  é▐é╖é╤                        òùé┬é⌐éó
  4060.  
  4061.   ÄUòαô╣é┼é═üAâeâLâXâgë≡É═é≡éΓéδéñé╞Ävé┴é─éóé╜é╠é┼é╖é¬üAûwé╟ ê╚æOé╠ìuì└
  4062. é╠â~âXÅCÉ│é╞ Ävéóé┬é½ programé╠ë≡Éαé╔é╚é┴é─é╡é▄éóé▄é╡é╜üB
  4063.  
  4064.   ÄUòαô╣é┼ù\ÆΦé╡é─éóé▄é╡é╜ ÉöÄ«ë≡É═é╞é⌐é═ æSæR ÄΦé≡é┬é»é─éóé▄é╣é±é¬ ÅHéα
  4065. ÅIéφéΦé┼é╖é╠é┼üAé▒é╠ò╙é┼ IconÄUòαô╣ é≡ÅIéφéΘé▒é╞é╔é╡é▄é╖üB
  4066.   é¿òté½ìçéóéóé╜é╛é½é▄é╡é─üAéáéΦé¬é╞éñé▓é┤éóé▄é╡é╜üB
  4067.  
  4068.   é┼é═üAé▄é╜üAé¿ë∩éóé╖éΘô·é▄é┼üB
  4069.  
  4070. òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
  4071. < Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
  4072. (iconlec4.txt 1997/11/24)
  4073.