home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
contrib
/
japanese
/
iconlec4.lzh
/
ICONLEC4.TXT
< prev
Wrap
Text File
|
1997-11-24
|
151KB
|
4,074 lines
Rev.01 1997/11/24 òùé┬é⌐éó
üí Icon > IconÄUòαô╣ é═é╢é▀é╔ òùé┬é⌐éó
Iconé═ âAâèâ]âiæσèwé╠ Ralph E Griswoldï│Ä÷é╠âOâïü[âvé╔éµé┴é─èJö¡é│éΩé─éó
éΘâeâLâXâgÅêù¥î╛îΩé┼é╖üB
Iconé═ âeâLâXâgë≡É═é╔ ê╨ù═é≡ö¡è÷é╖éΘ ûLòxé╚âfü[â^ì\æóé╞ ï¡ù═é╚ɺîΣì\æóé≡
é≡ö⌡éªé─éóé▄é╖üB ëpîΩé╠ìæé┼èJö¡é│éΩé─éóéΘî╛îΩé┼é╖é¬üAô·û{îΩé╠Åêù¥éαòsÄ⌐ùR
é╡é▄é╣é±é╡üAéαé┴é╞éαé┴é╞ÄgéφéΩé─éµéóî╛îΩé╞Ävéóé▄é╖üB
é╡é⌐é╡üAûóé╛ ô·û{îΩé╠ôⁿûσÅæé¬ éáéΦé▄é╣é±é╠é┼üA AWKé╔é┬éóé─üAéáéΘÆ÷ôxé╠
ÆmÄ»é≡ é¿Ä¥é┐é╔é╚é┴é─éóéΘò√é≡ æ╬Å█é╞é╡é─üAôⁿûσìuì└é≡Åæé½é▄é╡é╜üB
üEâeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└
---AWKeré╠é╜é▀é╠ Iconôⁿûσ---
üEIconô·ïL
---âeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└éQ---
üEIconÄGïLÆá
---âeâLâXâgë≡É═î╛îΩIconôⁿûσìuì└éR---
é▒é╠ IconÄUòαô╣é═ é╗é╠æ▒ò╥é╞é╡é─üAé╗é╠îπ ì∞é┴é╜âvâìâOâëâÇéΓ æOé╠ ìuì└é┼
Åæé½ùÄé╞é╡é╜ éαé╠é≡üAé▄é╞é▀é╜éαé╠é┼é╖üB
æOé╠ éRò╥é╠ìuì└é╞ éóé┴é╡éσé╔ é▓ùùé╔é╚é┴é─ Iconé≡Ägé┴é─Æ╕é»éΘé╞ éñéΩé╡éó
é┼é╖üB
Iconé╠âvâìâOâëâÇé¿éµé╤âëâCâuâëâèü[é═üAăé╠Åèé⌐éτ ôⁿÄΦé┼é½é▄é╖üB
http://www.cs.arizona.edu/icon/index.html
é▒é╠ìuì└é═üAÄσé╔ PCVANé╠PIGé╠âeâLâXâgâfü[â^Åêù¥ë∩ïcÄ║é╔âAâbâvâìü[âhé╡é╜
éαé╠é╔ë┴òMüEÅCÉ│é≡ìsé┴é╜éαé╠é┼é╖üB
Iconé═ PDSé┼é╖é╠é┼üAé▒é╠ôⁿûσìuì└éαô»é╢ê╡éóé╞é╡é▄é╖üBüiô]ì┌üEò╥ÅWÄ⌐ùRüj
(This textbook is in the public domain.)
û┌ă
é═é╢é▀é╔
üiéPüj ì─é╤ì\æóæ╠ treeò\ĪüiéPüj
üiéQüj suspend...do...
üiéRüj ì─é╤éTâNâCü[âô
üiéSüj ì─é╤ì\æóæ╠ treeò\ĪüiéQüj
üiéTüj ì─é╤ì\æóæ╠ treeò\ĪüiéRüj
üiéUüj ì─é╤ wild.icnüiéPüj
üiéVüj ì─é╤ wild.icnüiéQüj
üiéWüj ì─é╤ dir2tree
üiéXüj ì─é╤ x2treeüiéPüj
üiéPéOüj ì─é╤ x2treeüiéQüj
üiéPéPüj Iconû└éóô╣ üiéPüjsystem()
üiéPéQüj Iconû└éóô╣ üiéQüjdownloadÉö ÅWîv
üiéPéRüj Iconû└éóô╣ üiéRüjCSV:ÆΦï`âtâ@âCâïé╠ô╟ì₧
üiéPéSüj Iconû└éóô╣ üiéSüjCSV:ÆΦï`âtâ@âCâïé╠ë≡É═
üiéPéTüj Iconû└éóô╣ üiéTüjCSV:ègÆúÄqò╧ìXüiéPüj
üiéPéUüj Iconû└éóô╣ üiéUüjCSV:ègÆúÄqò╧ìXüiéQüj
üiéPéVüj Iconû└éóô╣ üiéVüjCSV:CSV2TB
üiéPéWüj Iconû└éóô╣ üiéWüjCSV:TB2CSV
üiéPéXüj é┐éσé┴é╞ IconüiéPüjdataÉ«î`üiéPüj
üiéQéOüj é┐éσé┴é╞ IconüiéQüjdataÉ«î`üiéQüj
üiéQéPüj é┐éσé┴é╞ IconüiéRüjdataÉ«î`üiéRüj
üiéQéQüj é┐éσé┴é╞ IconüiéSüjdataÉ«î`üiéSüj
üiéQéRüj Iconë±éΦô╣ üiéPüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéPüj
üiéQéSüj Iconë±éΦô╣ üiéQüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéQüj
üiéQéTüj Iconë±éΦô╣ üiéRüjÅdòíé╡é╚éóâëâôâ_âÇé╚éPéOî┬é╠ÉöüiéRüj
üiéQéUüj Iconë±éΦô╣ üiéSüjUsageé¬üDüDüD
üiéQéVüj Iconë±éΦô╣ üiéTüja < b é¬üAÆlé≡Ä¥é┬
üiéQéWüj é┐éσé┴é╞ IconüiéTüjWicon beta8
üiéQéXüj é┐éσé┴é╞ IconüiéUüjIcon Newsletter No.53
üiéRéOüj é┐éσé┴é╞ IconüiéVüjIcon Ver.9.3(Windows95/NT)
é▐é╖é╤
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: êñé╠î╛ù∞ü^âTâUâôüEâIü[âïâXâ^ü[âY
(iconlec4.txt 1997/11/24)
üí Icon > IconÄUòαô╣üiéPüj ì─é╤ ì\æóæ╠treeò\ĪüiéPüjòùé┬é⌐éó
IconÄGïLÆá é╔ê°é½æ▒é½üAIconû└éóô╣ é╢éßé╚é⌐é┴é╜ IconÄUòαô╣ é≡Äné▀é▄é╖üB
ìíë±é▒é╗é═üAâeâLâXâgë≡É═éτé╡éó programé≡ì∞é┴é─é▌é╜éóé╞Ävéóé▄é╖üB
âeâLâXâgë≡É═é╞éóé┴é─éαüA
üEè╚ÆPé╚ÉöÄ«ë≡É═ é╞
üEè╚ÆPé╚âAâZâôâuâë éáé╜éΦ
é≡û┌òWé╔é╡é─éóé▄é╖üB
é╞üAÄvé┴é─éóé╜é╠é┼é╖é¬üAIconÄGïLÆáé≡ô╟é▌ò╘é╡é─éóé╜éτüAéñü`é▐üBâ~âXé¬
î⌐é┬é⌐éΦé▄é╡é╜üB é╗é╠ÅCÉ│é⌐éτÄné▀é▄é╖üB
Iconôⁿûσìuì└é≡éΓé┴é─éóé▄é╡é─üAâAâbâvâìü[âhé╖éΘî┤ìeéΓ programé═üAé╗é╠æO
é╔üAâ`âFâbâNé╡é─éóéΘ é┬éαéΦé╚é╠é┼é╖é¬üAæσÆ∩ éPé┬éΓ éQé┬é╠â~âXé¬ è▄é▄éΩé─
éóé▄é╖üB
é╡é⌐é╡üAïCé¬é┬é¡é╠é═üAæσÆ∩üAâAâbâvâìü[âhé╡é╜îπé╔üAÄ⌐ò¬é╠âüâbâZü[âWé≡
ô╟é▌é╛é╡âRâ}âôâhé┼üAô╟é±é╛Ä₧é┼é╖üB éαéñÄΦÆxéΩé╠â^âCâ~âôâOé┼é╖üB
âAâbâvâìü[âhé╖éΘé▄é┼é═üAÄßè▒ï┘Æúé╡é─éóé▄é╖üB é╗éΩé¬ÅIéφé┴é╜îπé╔üAÅ¡é╡
âzâbé╞é╡é╜ïCò¬é┼üAÄ⌐ò¬é╠âüâbâZü[âWé≡ô╟é▌ò╘é╖û≤é╚é╠é┼é╖é¬üA é╗éñéóéñÄ₧é╔
Ä⌐ò¬é╠â~âXé¬î⌐é┬é⌐éΦé▄é╖üBò╩é╠Ä⌐ò¬é╔é╚éτé╚éóé╞üAî⌐é┬é⌐éτé╚éóé▌é╜éóé┼é╖üB
Åæéóé╜îπé╔üAéPô·ê╩ ÉQé⌐é╣é─é¿éóé─üAé╗é╠îπé╔ éαéñéPë±â`âFâbâNé╖éΘé╞ù╟éó
é╠é┼é╖é¬üAé▒éτéªÉ½é¬û│é¡é─í ÅCìsé¬æ½éΦé╚éóé╚ü`üB
é╞üAî╛éñéφé»é┼üAIconÄGïLÆáüiéPéXüjé╠ x2tree03.icné╠ÅCÉ│ö┼é┼é╖üB
ôαùeé═üAâRâüâôâgé╔Åæé½ì₧é±é┼éáéΦé▄é╖é╠é┼üAé▓ùùë║é│éóüB
-----^ X2TREE05.ICN ( date:97-05-06 time:01:17 ) -----------<cut here
# ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
# x2tree05.icn Rev.1.2 1997/05/05 windy commentÅCÉ│
# x2tree05.icn Rev.1.1 1997/05/04 windy
# IconÄGïLÆáüiéPéXüjé╠ x2tree03.icn é╠â~âXüiéRé┬éαüIüiè╛üjüjé≡üAÅCÉ│üB
# 1) ì─ïAì\æóö╗ÆΦé╠é╜é▀é╔üAserial Noé≡Ägé┴é╜é¬üAserial Noé═üAtypeûêé╔
# ÉUéτéΩéΘé╠é≡Æméτé╚é⌐é┴é╜üBserial Noôoÿ^ùp seté≡ typeûêé╔ (list,
# set,table)ò¬é»é╜üB
# 2) ôoÿ^ seté⌐éτé╠üAserial No ìφÅ£Åêù¥(delete) é╠ê╩Æué¬üAè╘êßé┴é─éóé╜üB
# suspend...do...é╠ do...é╠ê╩Æué┼é═é▄é╕éóüBìXé╔ì\æó(listôÖ)é¬éáé┴é─
# Ä⌐ò¬Ä⌐Égé≡î─é±é╛Ä₧üAé╗é╠ì\æóé╠ùvæfé╠ò\ĪÅêù¥é╠ôxé╔üAû▀é┴é─ùêé─é╗é╠
# ôxé╔ do...é¬Ä└ìsé│éΩéΘüBéµé┴é─üAè·æ╥ê╚èOé╠Ä₧é╔ serial Noé¬ìφÅ£é│éΩ
# é─é╡é▄éñüB æfÆ╝é╔ suspendé╠îπéδé╠ìsé╔Æué¡üB
# 3) Åëè·ë╗Åêù¥é≡ x2treeé┼ initial {...}é┼éΓé┴é─éóé╜üB x2t()é≡ Ägéñ
# programôαé┼ ò╩é╠ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2t()é≡î─é±é╛ Ä₧é╔
# Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘüB initial {...}é┼é═é╚é¡é─üAx2t()é⌐éτé╠
# âtâëâOé┼ Åëè·ë╗ÄwĪé╖éΘò√Ä«é╔ò╧éªé╜üB
# This file is in the public domain.
link jimage
procedure x2t(x)
# generator
# topé╠Åêù¥
suspend "<" || type(x) || " " || string(serial(x)) || ">"
#ü¬listé╠ serial No
suspend " " || x2tree(x,"")
#ü¬Åëè·ë╗âtâëâO
end
procedure x2tree(x,init)
# generator
# show the tree structure of x
static T # serial No ôoÿ^ùp setôoÿ^ùp table staticÉΘî╛é≡ é╡é─
# é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
if \init then { # Rev.1.2
T := table()
T["list"] := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
T["set"] := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
T["table"] := set()
if (t := type(x)) == ("list" | "set" | "table")
then insert(T[t],serial(x)) # serial Noé≡ T[type(x)]é╔ôoÿ^
}
n := *x # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
every xx := !x do { # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
n -:= 1
case t := type(xx) of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
"string" : suspend "+ " || left(t,7) || " " || jimage(xx)
#ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
"list" | "set" | "table" : {
#ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
if not member(T[t],m := serial(xx)) then {
insert(T[t],m) # serial Noé≡ T[type(xx)]é╓ôoÿ^
suspend "+ <" || t || " " || string(m) || ">"
suspend (if n > 0 then "| " else " ") || x2tree(xx)
#ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[ # ì─ïAü¬
delete(T[t],m) #ü⌐serial No ôoÿ^é≡ìφÅ£
}
else { # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
return "+ <" || t || " " || string(m) || "> (Recursion)"
}
}
#ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
default : suspend "+ " || left(t,7) || " " || image(xx)
}
}
end
# test driver
procedure main()
#listé╠ test
L1 := ["A","B"]
L2 := ["C","D"]
L3 := ["E","F"]
put(L1,L2)
put(L2,L3)
put(L1,L3) # ò╩Ä} test
put(L3,L1) # listé╠ì─ïA
every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
write()
#tableé╠ test
T := table()
T["A"] := "G"
T["C"] := L2[1]
T["E"] := L3
T[L1] := L1[1]
put(L3,T) # tableé╠ì─ïA
every write(x2t(T) \20)
write()
#seté╠ test
L4 := ["H","I"]
S1 := set(["L","M"])
S := set(["J","K",L4])
insert(S,S1)
insert(S1,S) # seté╠ì─ïA
every write(x2t(S) \20)
end
-----$ X2TREE05.ICN ( lines:98 words:380 ) -----------------<cut here
üi commentÅCÉ│é╠é╜é▀üAì╖é╡æ╓éªüj
linké╡é─éóéΘ jimage.icné═üAIconÄGïLÆáé╔è▄é▄éΩé─éóé▄é╖üB
é▒é╠ jimage.icné═ ìXé╔ Iconô·ïLé╔è▄é▄éΩéΘ sjis4.icné≡ linké╡é─éóé▄é╖üB
îïë╩é═üAăé╠éµéñé╔é╚éΦé▄é╖üB âeâXâgâPü[âXé≡æ¥éΓé╡é▄é╡é╜é¬üAé▄é╛ÿRéΩ
é¬üAéáéΘé⌐éαé╡éΩé▄é╣é±üBÅ«üAì\æóæ╠é╠ recordé╓é╠özù╢é¬ ö▓é»é─éóé▄é╖é¬üA
é▒éΩé═üAÄäé¬Ägéφé╚éóéαé╠é┼üAÅ╚éóé─éáéΦé▄é╖üB é╗éΩé═üAÄdùlé┼é╖üBüiÅ╬üj
-----^ X2TREE05 ( date:97-05-04 time:20:59 ) ---------------<cut here
<list 1>
+ string "A"
+ string "B"
+ <list 2>
| + string "C"
| + string "D"
| + <list 3>
| + string "E"
| + string "F"
| + <list 1> (Recursion)
+ <list 3>
+ string "E"
+ string "F"
+ <list 1> (Recursion)
<table 2>
+ string "C"
+ <list 3>
| + string "E"
| + string "F"
| + <list 1>
| | + string "A"
| | + string "B"
| | + <list 2>
| | | + string "C"
| | | + string "D"
| | | + <list 3> (Recursion)
| | + <list 3> (Recursion)
| + <table 2> (Recursion)
+ string "A"
+ string "G"
<set 8>
+ string "K"
+ <set 7>
| + string "M"
| + string "L"
| + <set 8> (Recursion)
+ <list 38>
| + string "H"
| + string "I"
+ string "J"
-----$ X2TREE05 ( lines:42 words:155 ) ---------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: Goodbye Day ü^ùêÉ╢é╜é⌐é¿
(icon_301.txt 1997/05/05 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéQüj suspend...do... òùé┬é⌐éó
æOë±üAIconÄGïLÆáüiéPéXüjé┼ĵéΦÅπé░é╜ x2tree03.icné╠â~âXé≡ ÅCÉ│é╡é▄é╡é╜
é¬üAÄäé═üAé╟éñéα suspend...do...é╠ì\ò╢é¬üAù¥ë≡é┼é½é─éóé╚éó é╞Ävéóé▄é╖üB
é╗é▒é┼üAô«ì∞èmöFé╠Ä└î▒ programé≡ì∞é┴é─é▌é▄é╡é╜üB
é▒éñéóéñì\ɼé╠ programé┼é╖üB
main() test_a() test_b()
------------------ ------------------ ------------------
| main() | | | | |
| every test_a() <--- suspend...test_b() <--- suspend... |
| | | do... | | do... |
----------------- ------------------ ------------------
Ä└î▒ programé┼é╖üB
-----^ DO_01.ICN ( date:97-05-04 time:23:28 ) --------------<cut here
# suspend...do...é╠ô«ì∞é╠èmöFéP
# do_01.icn 1997/05/04 windy
# This file is in the public domain.
# main()é═ test_aé╠Åoù═é≡Åæé½Åoé╖é╛é»
procedure main()
write("suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éP")
write()
write("âüâCâôɵô¬")
every s := test_a("élél") do write("âüâCâôÅoù═ ",s)
write("âüâCâôûûö÷")
end
# teat_aé═ test_b(s)é╠ɵô¬é╔üAò╢ÄÜù± "é`é` "é≡ë┴éªéΘé╛é»
procedure test_a(s)
write(" é`ɵô¬")
suspend "é`é` " || test_b(s) do write(" é` do")
write(" é`ûûö÷")
end
# éQÅoù═é╠ generator
# éPé┬é═ sé╔ò╢ÄÜù± "éaéP "é≡ë┴éªñéαéñéPé┬é═ sé╔ò╢ÄÜù± "éaéQ "é≡ë┴éªéΘ
procedure test_b(s)
write(" éaɵô¬")
suspend "éaéP " || s do write(" éaéP do")
write(" éaÆåè╘")
suspend "éaéQ " || s do write(" éaéQ do")
write(" éaûûö÷")
end
-----$ DO_01.ICN ( lines:29 words:91 ) ---------------------<cut here
ô«ì∞îïë╩é═üAăé╠éµéñé╔ é╚éΦé▄é╖üB test_a() ,test_b() é╠ do...é╠òöò¬ é╠
Ä└ìsâ^âCâ~âôâOé╞ ë±Éöé╔Æàû┌é╡é─ë║é│éóüB
-----^ DO_01 ( date:97-05-04 time:23:28 ) ------------------<cut here
suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éP
âüâCâôɵô¬
é`ɵô¬
éaɵô¬
âüâCâôÅoù═ é`é` éaéP élél
é` do
éaéP do
éaÆåè╘
âüâCâôÅoù═ é`é` éaéQ élél
é` do
éaéQ do
éaûûö÷
é`ûûö÷
âüâCâôûûö÷
-----$ DO_01 ( lines:15 words:25 ) -------------------------<cut here
Ääé═üAô«ì∞â^âCâ~âôâOé≡ æSé¡îδë≡é╡é─éóé▄é╡é╜üB
é┬éóüAgeneratoré┼é═é╚éó procedureé≡ î─é±é╛Ä₧é╞ ô»é╢Åçö╘é╞ Ävé┴é─éóé▄é╡é╜üB
Ä└ì█é╔ Ä└î▒é╡é─é▌éΘéαé±é┼é╖é╦üB
é┬éóé┼é╔üAtest_a()é┼ éQé┬ suspendé╖éΘ ÅΩìçé╠ Ä└î▒ programéα éáé░é─é¿é½
é▄é╖üB
-----^ DO_02.ICN ( date:97-05-05 time:22:43 ) --------------<cut here
# suspend...do...é╠ô«ì∞é╠èmöFéQ
# do_02.icn Rev.1.2 1997/05/04 windy commentÅCÉ│
# do_02.icn Rev.1.1 1997/05/05 windy
# This file is in the public domain.
# main()é═ test_aé╠Åoù═é≡Åæé½Åoé╖é╛é»
procedure main()
write("suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éQ")
write()
write("âüâCâôɵô¬")
every s := test_a("élél") do write("âüâCâôÅoù═ ",s)
write("âüâCâôûûö÷")
end
# teat_aé═ test_b(s)é╠ɵô¬é╔üAò╢ÄÜù± "é`éP "é⌐ "é`éQ "é≡ ë┴éªéΘé╛é»
procedure test_a(s)
write(" é`ɵô¬")
suspend "é`éP " || test_b(s) do write(" é`éP do")
write(" é`Æåè╘")
suspend "é`éQ " || test_b(s) do write(" é`éQ do")
write(" é`ûûö÷")
end
# éQÅoù═é╠ generator
# éPé┬é═ sé╔ò╢ÄÜù± "éaéP "é≡ë┴éªñéαéñéPé┬é═ sé╔ò╢ÄÜù± "éaéQ "é≡ë┴éªéΘ
procedure test_b(s)
write(" éaɵô¬")
suspend "éaéP " || s do write(" éaéP do")
write(" éaÆåè╘")
suspend "éaéQ " || s do write(" éaéQ do")
write(" éaûûö÷")
end
-----$ DO_02.ICN ( lines:32 words:112 ) --------------------<cut here
üiâRâüâôâgÅCÉ│é╠é╜é▀üAì╖é╡æ╓éªüj
îïë╩é┼é╖üB
-----^ DO_02 ( date:97-05-04 time:23:29 ) ------------------<cut here
suspend...do.. é╠Ä└ìsÅçÅÿé╠èmöFÄ└î▒éQ
âüâCâôɵô¬
é`ɵô¬
éaɵô¬
âüâCâôÅoù═ é`éP éaéP élél
é`éP do
éaéP do
éaÆåè╘
âüâCâôÅoù═ é`éP éaéQ élél
é`éP do
éaéQ do
éaûûö÷
é`Æåè╘
éaɵô¬
âüâCâôÅoù═ é`éQ éaéP élél
é`éQ do
éaéP do
éaÆåè╘
âüâCâôÅoù═ é`éQ éaéQ élél
é`éQ do
éaéQ do
éaûûö÷
é`ûûö÷
âüâCâôûûö÷
-----$ DO_02 ( lines:25 words:45 ) -------------------------<cut here
âCâPâCâPò]ë┐(Goal-directed evaluation) é≡ ìséñé╜é▀é╔ test_a(), test_b()
é╠ æSægé▌ìçéφé╣ é≡ÄÄé╡é─éóéΘ é╠é¬ ò¬é⌐éΦé▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
(icon_302.txt 1997/05/05 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéRüj ì─é╤ éTâNâCü[âô òùé┬é⌐éó
æOë± suspend...do...é╠ì\ò╢ é╠ô«ì∞èmöFé≡ ìséóé▄é╡é╜é¬üAæ╝é╠ programé┼éα
îδë≡é╡é─ Ägé┴é─éóéΘé╞é▒éδé¬ û│éóé⌐é╞üAÆTé╡é▄é╡é╜üB
Iconô·ïLé╠ 5-Queensé╠ programé┼éαüAQueené╠Æué½Æ╝é╡é╠é╞é▒éδé┼üAÄgé┴é─éó
é▄é╖üB é▒é▒é═üAô┴é╔ do...é≡ÄgéñòKùvé═üAéáéΦé▄é╣é±é╦üB
-----^ 5QUEEN1D.ICN ( date:97-05-04 time:20:02 ) -----------<cut here
# 5-Queensé╠ë≡é╠Åæé½Åoé╡
# 5x5é╠â`âFâXö╒é╔ 5î┬é╠ Queené≡î▌éóĵéτéΩé╚éóê╩Æué╔Æué¡üB
# 5queen1d.icn Rev.1.1 1997/05/04 windy
# This file is in the public domain.
# Iconï│ôT(The Icon Programming Language)é╠ 8-Queens program
# é╔üAÄΦé≡ë┴éªé╜éαé╠üB
# ô«ì∞é═üAIconô·ïLüiéQéSüjü`üiéQéUüjé≡ÄQÅ╞é╡é─ë║é│éóüB
# Queené╠ Æué½Æ╝é╡é═üAsuspend ... do ...é╠ do...é≡ Ägéφé╚é¡é─
# éαù╟éóé▒é╞é╔ ïCòtéóé─ ÅCÉ│é╡é╜éαé╠üB
#
# ìsüEù±é╠ö╘ìå ëEÅπé¬éΦæ╬èpÉⁿ ëEë║é¬éΦæ╬èpÉⁿ
# ù±ü¿(column) ö╘ìåü¿ ü⌐ö╘ìå
# 1 2 3 4 5 1 2 3 4 5 5 4 3 2 1
# ìs 1épüEüEüEüE épü^ü^ü^ü^ 6 6 épü_ü_ü_ü_
# ü½ 2üEüEépüEüE ü^ü^épü^ü^ 7 7 ü_ü_épü_ü_
# (row) 3üEüEüEüEép ü^ü^ü^ü^ép 8 8 ü_ü_ü_ü_ép
# 4üEépüEüEüE ü^épü^ü^ü^ 9 9 ü_épü_ü_ü_
# 5üEüEüEépüE ü^ü^ü^épü^ ü_ü_ü_épü_
#
# Åπé╠É}é╠éµéñé╔Æué½ÅIéφé┴é╜Å≤æ╘é┼é═üA
# ìs ëEÅπé¬éΦæ╬èpÉⁿ ëEë║é¬éΦæ╬èpÉⁿ
# row 12345 up 123456789 down 123456789
# col "13524" col "1..32.54." col "..53142.."
#
procedure main()
# Queené¬éPìsé⌐éτéTìsé▄é┼æSé─Æué»é╜éτüAù±ê╩Æué≡Åçé╔Åæé½Åoé╖üB
# q(1),...,q(5)é¬æSé─ɼî≈é╡é╚é»éΩé╬ writeé╠ê°Éöé═ɼî≈é╡é╚éóüB
every write(q(1)," ",q(2)," ",q(3)," ",q(4)," ",q(5))
#ü¬Queené≡Åçé╔éPìsé╕é┬Æuéóé─éóé┴é─üAæSòöÆué»é╜éτɼî≈
# Æué»é╚éóé╞é½é═üAÅçé╔éPìsé╕é┬û▀é┴é─ò╩é╠Æué½ò√é≡ÄÄé╖üB
# é╞é╔é⌐é¡üAüyâCâPâCâPüzé┼üAôÜéªé¬ÅoéΘé▄é┼ÄÄé╖üB
# ôÜéªé╠éáéΘî└éΦÄÄé╖üB
write()
end
procedure q(r)
# rö╘û┌é╠ìsé╠ Queené≡üAéPü`éTù±é╔Æuéóé─ÄÄé╖é╜é▀é╠ generator
# û▀éΦÆlé═üAÆué»é╜ù±é╠ No
suspend place(r,1 to 5)
# ü¬ éPù±ü`éTù±ûÿÄÄé╖üB
end
procedure place(r,c)
# Queené≡ rìs cù±é╔Æuéóé─é▌éΘüBÆué»é╚éóé╞Ä╕ösüBÆué»éΘé╞ù± Noé≡ò╘é╖üB
static up,down,col # è∙é╔Æué⌐éΩé╜ Queené≡ïLë»üB
# ù±ê╩Æué╞ëeï┐é╖éΘæ╬èpÉⁿéQò√îⁿé╠ê╩Æué≡ïLë»é╖éΘüB
initial{ # Åëè·Ælüi Queené≡ë╜Åêé╔éαÆuéóé─éóé╚éóÅ≤æ╘üj
up := repl(".",9) # ëEÅπé¬éΦæ╬èpÉⁿè╟ù¥
down := repl(".",9) # ëEë║é¬éΦæ╬èpÉⁿè╟ù¥
col := repl(".",5) # ù±ö╘ìåè╟ù¥
}
if col[c] == up[r + c -1] == down[5 - c + r] == "."
# ü¬rìs cù±é╔Æué»éΘé⌐é╠ checküiæSòö "."é╚éτéáéóé─éóéΘüBüj
then {
suspend col[c] := up[r + c -1] := down[5 - c + r] := c
# ü¬ cö╘û┌é╠ù±é╔ Queené≡Æué¡üB
# Æuéóé╜ù±üEëEÅπé¬éΦæ╬èpÉⁿüEëEë║é¬éΦæ╬èpÉⁿé╔ cé≡æπôⁿé╡é─éóéΘüB
# Æuéóé╜é▒é╞é≡Īé╖é╛é»é╚éτ "."ê╚èOé╠ò╢ÄÜé╚éτé╚é±é┼éαù╟éóé¬üA
# û▀éΦÆlé≡ù±ö╘ìåé╔é╖éΘé╜é▀é╔ cé≡æπôⁿüB
# æ▒ìsÄ₧é╠Åêù¥
col[c] := up[r + c -1] := down[5 - c + r] := "."
# ü¬ cö╘û┌é⌐éτ Queené≡ĵéΦïÄéΘüB
# æ▒ìsé═üAăé╠ìsé╠ Queené¬Æué»é╚é⌐é┴é╜Ä₧üAé▄é╜é═æSòöé╠ Queené¬
# Æué»é─üAò╩é╠Æué½ò√é≡ ÄÄé╖Ä₧é╔ïNé▒éΘüB
}
end
-----$ 5QUEEN1D.ICN ( lines:69 words:272 ) -----------------<cut here
îïë╩é┼é╖üB ÅCÉ│æOé╞üAô»é╢îïë╩é╔é╚éΦé▄é╖üB
-----^ 5QUEEN1D ( date:97-05-04 time:20:02 ) ---------------<cut here
1 3 5 2 4
1 4 2 5 3
2 4 1 3 5
2 5 3 1 4
3 1 4 2 5
3 5 2 4 1
4 1 3 5 2
4 2 5 3 1
5 2 4 1 3
5 3 1 4 2
-----$ 5QUEEN1D ( lines:11 words:50 ) ----------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
(icon_303.txt 1997/05/05 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéSüj ì─é╤ ì\æóæ╠treeò\ĪüiéQüjòùé┬é⌐éó
IconÄUòαô╣üiéPüjé┼üAx2tree03.icné╠ â~âXÅCÉ│ö┼é≡ Éαû╛é╡é▄é╡é╜é¬üAé╟éñé╡
é─ â~âXé╔ïCé¬é┬éóé╜é⌐ é╞éóéñé╞üAÄ└é═üAVersion Upé≡é╡éµéñé╞üAÄvéóé▄é╡é─üA
âeâXâgüEâPü[âXé≡æ¥éΓé╡é─é▌é─üAïCé¬é┬é½é▄é╡é╜üB
ìíë±é═üAé╗é╠ Version Upé┼é╖üB Iconé╠ tableé═üAAWKé┼éóéñ ÿAæzözù±é┼é╖üB
tableé═üAkey é╞ valueé≡Ä¥é┴é─éóé▄é╖üB æOé╠ programé┼é═üAvalueé╡é⌐ò\Īé╡
é▄é╣é±üB
x2treeé═üAprogramé╠ô«ì∞èmöF é╠é╜é▀é╠ toolé╞é╡é─ì∞éΦé▄é╡é╜é¬üA
tableé┼é═üAvalueò\Īé╛é»é┼é╚é¡üAkeyò\Īéαù~é╡éóüI
é╞éóéñé▒é╞é┼üAkeyò\Īé≡Æ╟ë┴é╡é▄é╖üB
Å«üAIconé┼é═üAkeyé╔éα ì\æóæ╠(list,set,table)é¬üAÄgéªé▄é╖üB
é╡é⌐é╡üAkeyé╔ ì\æóæ╠é≡Ägé┴é─éαüAé╗é┐éτé═ treeò\Īé═é╡é▄é╣é±üB
üié╗é±é╚ òíÄG treeò\Īé═üAÄvéóé┬é⌐é╚éóéµü`üBüj
-----^ X2TREE06.ICN ( date:97-05-05 time:03:26 ) -----------<cut here
# ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
# x2tree06.icn Rev.1.1 1997/05/05 windy
# x2tree05.icn é╔é─üAtableé╠ÅΩìçé═ keyò\Īé≡Æ╟ë┴é╡é╜éαé╠üB
# This file is in the public domain.
link jimage
procedure x2t(x)
# generator
# topé╠Åêù¥
suspend "<" || type(x) || " " || string(serial(x)) || ">"
#ü¬listé╠ serial No
suspend " " || x2tree(x,"")
#ü¬Åëè·ë╗âtâëâO
end
procedure x2tree(x,init)
# generator
# show the tree structure of x
static T # serial No ôoÿ^ùp setôoÿ^ùp table staticÉΘî╛é≡ é╡é─
# é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
if \init then { # Åëè·ë╗é≡ initialé┼éΓéΘé╞üAô»é╢ programôαé┼ò╩é╠
# ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2té≡ î─é±é╛Ä₧é╔
# Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘé╠é┼üAâtâëâOé┼Åëè·ë╗ÄwĪ
T := table()
T["list"] := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
T["set"] := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
T["table"] := set()
if (t := type(x)) == ("list" | "set" | "table")
then insert(T[t],serial(x)) # serial Noé≡ T[type(x)]é╔ôoÿ^
}
n := *x # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
if (tt := type(x)) ~== "table" then { # not table
every xx := !x do { # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
n -:= 1
t := type(xx)
val_disp := if t == ("list" | "set" | "table")
then "+ <" || t || " " || string(m := serial(xx)) || ">"
else "+ " || left(t,7) || jimage(xx)
case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
"string" : suspend val_disp
#ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
"list" | "set" | "table" : {
#ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
if not member(T[t],m) then {
insert(T[t],m) # serial Noé≡ T[type(xx)]é╓ôoÿ^
suspend val_disp
suspend (if n > 0 then "| " else " ") || x2tree(xx)
#ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[ # ì─ïAü¬
delete(T[t],m) #ü⌐serial No ôoÿ^é≡ìφÅ£
}
else { # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
return val_disp || " (Recursion)"
}
}
#ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
default : suspend val_disp
}
}
}
else { # table
every xkey := key(x) do { # tableé╠ keyé≡éPé┬ é├é┬ĵéΦÅoé╖
n -:= 1
tk := type(xkey)
xx := x[xkey]
t := type(xx)
val_disp := if t == ("list" | "set" | "table")
then "+ <" || t || " " || string(m := serial(xx)) || ">"
else "+ " || left(t,7) || jimage(xx)
key_disp := if tk == ("list" | "set" | "table")
then " <- <" || tk || " " || string(serial(xkey)) || ">"
else " <- " || left(tk,7) || jimage(xkey)
case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
"string" : suspend val_disp || key_disp
#ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
"list" | "set" | "table" : {
#ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
if not member(T[t],m) then {
insert(T[t],m) # serial Noé≡ T[type(xx)]é╓ôoÿ^
suspend val_disp || key_disp
suspend (if n > 0 then "| " else " ") || x2tree(xx)
#ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[ # ì─ïAü¬
delete(T[t],m) #ü⌐serial No ôoÿ^é≡ìφÅ£
}
else { # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
return val_disp || key_disp || " (Recursion)"
}
}
#ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
default : suspend val_disp || key_disp
}
}
}
end
# test driver
procedure main()
#listé╠ test
L1 := ["A","B"]
L2 := ["C","D"]
L3 := ["E","F"]
put(L1,L2)
put(L2,L3)
put(L1,L3) # ò╩Ä} test
put(L3,L1) # listé╠ì─ïA
every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
write()
#tableé╠ test
T := table()
T["A"] := "G"
T["C"] := L2[1]
T["E"] := L3
T[L1] := L1[1]
put(L3,T) # tableé╠ì─ïA
every write(x2t(T) \20)
write()
#seté╠ test
L4 := ["H","I"]
S1 := set(["L","M"])
S := set(["J","K",L4])
insert(S,S1)
insert(S1,S) # seté╠ì─ïA
every write(x2t(S) \20)
end
-----$ X2TREE06.ICN ( lines:133 words:507 ) ----------------<cut here
ìsÉöɺî└é¬ éáéΦé▄é╖é╠é┼üAîïë╩é═ăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éóé╞é¿é╡éóâOâîâCü^Ä┬î┤öⁿûτÄq
(icon_304.txt 1997/05/05 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéTüj ì─é╤ ì\æóæ╠treeò\ĪüiéRüjòùé┬é⌐éó
x2treeé╔üAtableé╠ keyò\Īé≡Æ╟ë┴é╡é╜ programé╠ô«ì∞îïë╩é┼é╖üB
tableé╠òöò¬é¬üAÄßè▒üAì¼é▌éáé┴é╜ò\Īé╔é╚éΦé▄é╖é¬üAtest toolé┼é╖é╠é┼üA
é▄éáüAéóé±é╢éßé╚éóüB
é╞üAö[ô╛é╡é▄é╡éσéñüB
-----^ X2TREE06 ( date:97-05-05 time:03:26 ) ---------------<cut here
<list 1>
+ string "A"
+ string "B"
+ <list 2>
| + string "C"
| + string "D"
| + <list 3>
| + string "E"
| + string "F"
| + <list 1> (Recursion)
+ <list 3>
+ string "E"
+ string "F"
+ <list 1> (Recursion)
<table 2>
+ string "C" <- string "C"
+ <list 3> <- string "E"
| + string "E"
| + string "F"
| + <list 1>
| | + string "A"
| | + string "B"
| | + <list 2>
| | | + string "C"
| | | + string "D"
| | | + <list 3> (Recursion)
| | + <list 3> (Recursion)
| + <table 2> (Recursion)
+ string "A" <- <list 1>
+ string "G" <- string "A"
<set 8>
+ string "K"
+ <list 44>
| + string "H"
| + string "I"
+ <set 7>
| + string "M"
| + string "L"
| + <set 8> (Recursion)
+ string "J"
-----$ X2TREE06 ( lines:42 words:167 ) ---------------------<cut here
keyé╔üAì\æóæ╠é≡ Ägé┴é╜ÅΩìçé┼éα keyé╠ typeò\Īé╠ë║é╔üAtreeé≡ì∞éΩé╬ù╟éó
éµéñé╚ïCé¬é╡é▄é╖üB é╞éΦéáéªé╕üAïCé¬é┬é⌐é╚é⌐é┴é╜é▒é╞é╔é╡éµéñüBüiÅ╬üj
üitableé╠ùvæfé╔ é▄é╜ tableé¬Åoé─é¡éΘâPü[âXé╚é±é⌐üAâcâëâCé╛éδéñé╡üBüj
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
(icon_305.txt 1997/05/05 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéUüj ì─é╤ wild.icnüiéPüj òùé┬é⌐éó
ï▀é▓éδüA"ì─é╤" é╞éóéñâ^âCâgâïé¬æ╜éóé┼é╖é╦ü`üBéñü`é▐üBê╚æOé╠ìuì└é╠â~âX
é¬üAé▌é┬é⌐éΘé╠é¬æ╜éóé╚ü`üB
é╞éóéñé▒é╞é┼üAìíë±é═ Iconôⁿûσìuì└üiéPéUüjé┼ ì∞é┴é╜ wild.icné╠ÅCÉ│ö┼é┼
é╖üB
Iconé╠ Program ùßéªé╬üAabcd.icné≡ compileé╡é─üAô«é⌐é╡é╜îïë╩é╠fileû╝é≡
ê╚æOé═üAabcd.txté╞é╡é─éóé╜é±é┼é╖é¬üAtxté╠ègÆúÄqé≡é┬é»éΘé╠éαû╩ô|é╞éóéñé▒
é╞é┼üAï▀é▓éδé═üAé╜é╛ abcdé╞é╡é─éóé▄é╖üB
é▒éΩé≡üAYABî`Ä«é╔é╡éµéñé╞üAIYABüiIconôⁿûσìuì└üiéPéWüjüjé≡ô«é⌐é╖é╞é╟éñéα
îïë╩é¬âIâJâVé¡é╚éΦé▄é╖üB
Æ▓é╫é─é▌é▄é╖é╞üAIYABé═üAègÆúÄqû│é╡é╠ fileû╝é≡ÄwÆΦé╖éΘé╞é¿é⌐é╡é¡é╚éΦé▄
é╖üB
ìXé╔Æ▓é╫éΘé╞üAiyab.icné═üAwild.icné≡ linké╡é─éóé▄é╖é¬üAwild.icné┼è∙é╔
âIâJâVâCüB éáéΩéΩüAwild.icné═üAègÆúÄqé╚é╡é╠ fileû╝é╠ÄΦôûé≡é╡é─éóé╜é═é╕
é╛é⌐üHüHüH é╞üAÄvé┴é─üAù╟é¡é▌éΘé╞üAéáéΩé▄üAâ~âXâRü[âfâBâôâO é≡é╡é─éóé▄
é╖üB
if not upto('.',line) then line ||= "."
é╞éóéñâ~âXé≡éΓéτé⌐é╡é─éóé▄é╡é╜üB é┬éñüAé▒é╞é┼üAÅCÉ│ö┼é┼é╖üB
-----^ WILD.ICN ( date:97-05-10 time:00:42 ) ---------------<cut here
# wild cards fileÄwÆΦ é╠ fileé╠Åεò±é≡ "dir" é≡ö¡ìsé╡é─ Æ▓é╫é─
# listé╔é╡é─ ò╘é╖üB
# response fileéαÄwÆΦë┬üB(@file_list)
# Iconôⁿûσìuì└üiéPéUüjé≡ÄQÅ╞é╡é─ë║é│éóüB
# This file is in the public domain.
#
# wild.icn Ver.1.5 1997/05/10 windy commentÅCÉ│üiê°Éöé═ listüj
# wild.icn Ver.1.4 1997/05/05 windy ègÆúÄqû│é╡ÄΦôûÅCÉ│ "||=" ü¿ "||:="
# wild.icn Ver.1.1 1996/10/26 windy
#
# Usage: wild([file(s) or @file_list_file])
# sortf(wild([file(s) or @file_list]),1) fileû╝é┼ sorté╖éΘÄ₧
# Æìê╙üFê°é½Éöé═ listé╚é╠é┼üAè╘êßéªé╚éóé▒é╞üB
# value: [i][1] full pathòté½ fileû╝üA[i][2] file size
# [i][3] ô·òtüA[i][4] Ä₧ìÅ i : 1 ü` fileé╠Éö
# èYôû fileé¬û│é»éΩé╬Ä╕ös(fail)
link dir2lst # ü⌐ Iconôⁿûσìuì└ é╔è▄é▄éΩé─éóé▄é╖üB
procedure wild(args)
###################
# fileÄwÆΦ commandìsÅêù¥
###################
tmp := "$$$tmp.$$$" # temporary fileû╝É▌ÆΦ
if s := getenv("TMP") then tmp := s || "\\" || tmp
#ü¬è┬ï½ò╧Éöé╔ temporary directoryé¬É▌ÆΦé╡é─éáéΩé╬
# fileû╝ é╠æO é╔Æ╟ë┴
fn_list := [] # fileû╝ôÖ èiö[ list
# command lineé╠ fileÄwÆΦ é≡éαé╞é╔üA"dir" commandé≡ö¡ìsé╡üAtmpé╓üB
if *args = 0 then fail # fileÄwÆΦé╚é╡
else {
every arg := !args do { # command lineê°Éö listé⌐éτÅçé╔ĵéΦÅoé╡üB
case arg[1] of { # caseé≡Ägé┴é─é▌é╜é⌐é┴é╜é╠é╛üB
"@" : { # response fileÄwÆΦ
dir := open(arg[2:0]) | stop("cannot open " || arg[2:0])
while line := read(dir) do {
if not upto('.',line) then line ||:= "." # Rev.1.4
#ü¬ ègÆúÄqé¬û│éóÄ₧é╔é═üA "."é≡Æ╟ë┴üB
system("dir " || line || " >>" || tmp) # "dir"ö¡ìs
}
close(dir)
}
default : { # fileÄwÆΦ
if not upto('.',arg) then arg ||:= "." # Rev.1.4
system("dir " || arg || " >>" || tmp) # "dir"ö¡ìs
}
} # end of case
} # end of every
} # end of else
dir := open(tmp) | stop("cannot open " || tmp) # fileâIü[âvâô
# "dir" é╠îïë╩èiö[ fileé⌐éτüAfileÄwÆΦòöò¬é≡ ö▓é½Åoé╡é─ listé╓üB
while line := read(dir) do # tmp fileé⌐éτéPìsé├é┬ô╟ì₧üB
put(fn_list,dir2lst(line)) # fileÅεò±é≡ö▓é½Åoé╡é─üA
# listé╓èiö[
close(dir)
remove(tmp) # Å╪ïÆëBû┼
####################
# commandë≡É═ÅIù╣
####################
if *fn_list = 0 then fail # èYôû fileû│é╡
else return fn_list
end
-----$ WILD.ICN ( lines:65 words:298 ) ---------------------<cut here
test programé┼éαüAtest caseé≡ ùÄé╞é╡é─éóé▄é╖é╠é┼üAÆ╟ë┴é╡é▄é╡é╜üB
-----^ WILD~.ICN ( date:97-05-08 time:23:07 ) --------------<cut here
# a test driver and a stub for wild.icn
# Usage: wild~ > wild.rst
# Rev.1.2 1997/05/05 windy ègÆúÄqû│é╡é╠âeâXâgâPü[âXÆ╟ë┴
# Rev.1.1 1996/12/01 windy
# This file is in the public domain.
link wild, show_l
procedure main()
write("test for wild.icn\n")
# "abc" é╞éóéñû╝æOé╠âtâ@âCâïé═æ╢ì▌é╡é╚éóé▒é╞üB
write((L := ["abc"])[1])
show_wl(wild(L)) | write(L[1],"é═î⌐é┬é⌐éτé╚éóüB\n")
# wild card
write((L := ["*.*"])[1])
show_wl(wild(L))
write((L := ["*.icn"])[1])
show_wl(wild(L))
write((L := ["wi*.*"])[1])
show_wl(wild(L))
# response file
write((L := ["@WILD_FL.DAT"])[1])
show_wl(wild(L))
# òíÉöÄwÆΦ
every writes(" ",!(L := ["*.icn","*.dat"])) ; write()
show_wl(wild(L))
# "AAA", "AAA.TXT" é╠ éQé┬é╠ fileé≡ùpê╙é╡é─é¿é¡é▒é╞üB
every writes(" ",!(L := ["AAA"])) ; write() # Æ╟ë┴ Rev.1.2
show_wl(wild(L))
write((L := ["wild~.*"])[1])
show_wl(wild(L))
end
-----$ WILD~.ICN ( lines:39 words:102 ) --------------------<cut here
é╞éóéñé╛é»é┼é═üAâVâââNé╚é╠é┼üAăë±é═üAwildé╠ë₧ùp programé≡üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_306.txt 1997/05/10 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéVüj ì─é╤ wild.icnüiéQüj òùé┬é⌐éó
éoéhéfìLÅΩé╠ò√é┼üAfileé╠û╝æOé╞ègÆúÄqé≡ ôⁿéΩè╖éªéΘ ÿbæΦé¬ Åoé─éóé▄é╖üB
é╗é╠âlâ^é≡éóé╜é╛éóé─üAIconé┼éΓé┴é╜éτé╞éóéñé▒é╞é┼üAprogramé≡ ì∞é┴é─é▌é▄
é╡é╜üB
Iconé╔é═üAfileé╠ renameè╓Éöé¬éáéΦé▄é╖üB wild.icné┼üAèYôû fileé≡ ÆTé╡é─
renameè╓Éöé┼üArenameé╖éΘé╞éóéñ programé┼é╖üB
é▒é╠ programé┼é═üAlog.* âtâ@âCâïé╠ègÆúÄqé╞âtâ@âCâïû╝é≡ôⁿéΩè╖éªüAé╗é╠îπ
éαéñéPôxüAôⁿéΩè╖éªé─üAî│é╔û▀é╡é─éóé▄é╖üB
-----^ REN01.ICN ( date:97-05-10 time:00:37 ) --------------<cut here
# log.* fileé╠ fileû╝é╞ègÆúÄq é╠î≡è╖
# ren01.icn 1997/05/10 windy
# This file is in the public domain.
link wild, split, top # ü⌐Iconôⁿûσìuì└é╔éáéΘ procedure
procedure main()
L := wild(["log.*"]) # log.* é╠ file listôⁿÄΦ
name_ex(L) # fileû╝é╞ ègÆúÄqû╝é≡ î≡è╖
L := wild(["*.log"]) # *.log é╠ file listôⁿÄΦ
name_ex(L) # fileû╝é╞ ègÆúÄqû╝é≡ ì─é╤î≡è╖
# üiî│é╔û▀é╖üBüj
end
# fileû╝é╞ègÆúÄq é╠î≡è╖
procedure name_ex(L)
if /L then return # èYôû fileû│é╡
write("\nfileû╝<->ègÆúÄq")
every LL := !L do {
s := top_cut("\\",LL[1]) # î╗fileû╝é⌐éτ directoryòöé≡ ìφÅ£
# ü¬fileû╝
LLL := split(s,".") # fileû╝é≡ "."é┼ò¬èäé╡é─ listé╓
write(s," -> ",s2 := LLL[2] || "." || LLL[1]) # ô«ì∞âéâjâ^ü[
#ü¬ègÆúÄq ü¬fileû╝
rename(s,s2) # rename
}
return
end
-----$ REN01.ICN ( lines:28 words:109 ) --------------------<cut here
é▒é╠ programé≡ ì∞é┴é─éóéΘì┼Æåé╔ ô«é⌐é╚ü`éóüBüIüH é╞ öYé±é┼éóé▄é╡é╜é¬
wild.icné╠ê°Éöé═ listé╚é╠é╔üAstringé╞è¿êßéóé╡é─éóé▄é╡é╜üB
ìíîπé═üAè╘êßéªé╚éóéµéñé╔é╞üAwild.icné╔üAcommenté≡Æ╟ë┴é╡é▄é╡é╜üB
ô«ì∞âéâjâ^ü[ùpÅoù═é≡ fileé╔ ùÄé╞é╡é╜éαé╠é┼é╖üB
-----^ REN01 ( date:97-05-10 time:00:40 ) ------------------<cut here
fileû╝<->ègÆúÄq
LOG.97 -> 97.LOG
LOG.95 -> 95.LOG
LOG.96 -> 96.LOG
fileû╝<->ègÆúÄq
95.LOG -> LOG.95
96.LOG -> LOG.96
97.LOG -> LOG.97
-----$ REN01 ( lines:10 words:20 ) -------------------------<cut here
testùpé╔ùpê╙é╡é╜üAâtâ@âCâïé┼é╖üB
-----^ LOG.95 ( date:97-05-10 time:00:39 ) -----------------<cut here
95
-----$ LOG.95 ( lines:1 words:1 ) --------------------------<cut here
-----^ LOG.96 ( date:97-05-10 time:00:39 ) -----------------<cut here
96
-----$ LOG.96 ( lines:1 words:1 ) --------------------------<cut here
-----^ LOG.97 ( date:97-05-10 time:00:39 ) -----------------<cut here
97
-----$ LOG.97 ( lines:1 words:1 ) --------------------------<cut here
é▄é╛üA"ì─é╤" é╠ÿbæΦé═ æ▒é½é▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_307.txt 1997/05/10 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéWüj ì─é╤ dir2tree òùé┬é⌐éó
â~âXé¬æ╜éó é╞î╛éóé┬é┬üAæèò╧éφéτé╕üAéΓé┴é─éóé▄é╖é╦ü`üB
ì─é╤ wild.icnüiéVüj-> ì─é╤ wild.icnüiéQüj é┼é╖é╦üB
üié▒é╠âeâLâXâgé┼é═Æ╝é┴é─éóé▄é╖üBüj
é╞é▒éδé┼üAIconôⁿûσìuì└âVâèü[âYé≡üAâAâèâ]âiæσèwé╠ Icon-WEBé╔ Æuéóé─Æ╕é¡
éµéñé╔üAIconôⁿûσìuì└ (ICON_LEC.LZH)é╞ Iconô·ïL (ICONLEC2.LZH) é╠ fileé≡
Icon Projecté╔üAæùé┴é─é¿èΦéóé╡é─éóé╜é±é┼é╖é¬üAÆuéóé─Æ╕é»é▄é╡é╜üBÅΩÅèé═üA
ftp://ftp.cs.arizona.edu/icon/contrib/Japanese/
é┼é╖üB /icon/contrib/ é═ è±æí program (contribution)é╠ directoryé┼é╖üB
é▒é▒é╔üAJapaneseé╞éóéñ directoryé≡ì∞é┴é─éóé╜é╛é½é▄é╡é╜üB
ëpò╢é╚éτ E-mailé⌐ FTPé┼üAæùéΩé╬éóéóé±é┼é╖é¬üAô·û{îΩé╠ SHIFT-JISé╠ file
é┼é╖é╠é┼üAprinté╡é╜éαé╠é╞üAéeécé≡æùé┴é─é▌é▄é╡é╜üB
é╞é─éαüAæSò╢é≡ëpû≤é╖éΘù═é═üAéáéΦé▄é╣é±é╠é┼üA
üu printed materialé╠ programé╠òöò¬é┼ ôαùeé═ æzæ£é╡é─ë║é│éóüBüv
é╞ é¿èΦéóé╡é╜ò╢Å═é≡üAÄlïΩö¬ïΩé╡é─ Åæé½é▄é╡é╜üBüiè╛üj
ï▀é▓éδüAâJâ^âJâiòöò¬é≡ é╚éΘé╫é¡ ëpîΩé┼Åæéóé─éóé▄é╖é¬ é╗éΩé═ Icon Project
é┼üAôαùeé≡ æzæ£é╡éΓé╖éóéµéñé╔ é╞éóéñé▒é╞é┼üAéΓé┴é─éóé▄é╖üBüiéáé═é═üj
ôαùeé═üAé▒é┐éτé╔âAâbâvé╡é╜éαé╠é╞ ûwé╟ô»é╢é┼é╖üBüié╗é╠îπ é▌é┬é⌐é┴é╜ò╢Å═
éΓÆ╘éΦüiô┴é╔ëpîΩüjé╠îδïLé≡æ╜Å¡ ÅCÉ│é╡é─éóé▄é╖üBprogramÄ⌐æ╠é═ô»é╢é┼é╖üBüj
é│é─üAìíë±é═üAIconÄGïLÆáüiéQéOüjü`üiéQéQüjé┼üAéΓéΦé▄é╡é╜ dir2tree é╠ÅC
É│é┼é╖üB
dir2treeé═üAÄäé╠égécécé╠ Iconè╓îW directoryé╠Æåé╠ sub-directoryé┼ test
é╡é▄é╡é╜üB é┼ ɵô·üAIconÄGïLÆáé╠ fileé≡üAIcon-Projecté╠æùéδéñé╞ é╗é╠éeéc
é╠ directory treeé≡üAò\Īé╡éµéñé╞é╡é▄é╡é╜éτüAprogramé¬üAâRâPé▄é╡é╜üB
root directoryé╢éßüAô«é⌐é╚é╨ü`üB
dir /s é╠ command é≡ Ä└ìsé╡é╜é╞é½é╔üA
üEroot directoryé┼é═ A:\é╞é⌐ directoryû╝Å╠é╠îπéδé╔üA\ é¬üAé┬é½é▄é╖é¬
üEsub-directoryé┼é═üAé┬é½é▄é╣é±üB
\ é¬é┬é¡ caseé╠ÄΦôûé≡ûYéΩé─éóé▄é╡é╜üBé┬éñé▒é╞é┼üAé╗é╠ô_é≡ÅCÉ│é╡é▄é╡é╜üB
-----^ D2TREE.ICN ( date:97-05-10 time:00:48 ) -------------<cut here
# âfâBâîâNâgâèü[é≡ treeò\Īé╖éΘüB
# d2tree.icn Ver.1.1 1997/05/10 windy
# This file is in the public domain.
# IconÄGïLÆáüiéQéOüjü`üiéQéQüjé╠ dir2tree.icn é╠ root directoryé╠æ╬ë₧
# ÿRéΩé≡ÅCÉ│é╡é╜üBüiroot directoryé╛é»é═ directoryû╝Å╠é╔ "\\"é¬òté¡üBüj
# Usage : d2tree directory_name
# "dir /s" é≡ö¡ìsé╡é─ ô╛é╜ âfâBâîâNâgâèü[Åεò±é≡ tree ò\Īé╖éΘüB
link x2tree07 # testùp
procedure main(args)
#######################
# directoryÅεò±é≡ô╛éΘüB
#######################
dir_name := if *args > 0 then args[1] else ""
tmp := "$$$tmp.$$$" # âeâôâ|âëâèâtâ@âCâïû╝É▌ÆΦ
# ü½è┬ï½ò╧Éöé╔üAâeâôâ|âëâèü[âfâBâîâNâgâèû╝é¬üAÉ▌ÆΦé╡é─éáéΩé╬âtâ@âCâïû╝
# é╠æOé╔Æ╟ë┴
if s := getenv("TMP") then tmp := s || "\\" || tmp
# âRâ}âôâhâëâCâôé╠ âfâBâîâNâgâèü[û╝ÄwÆΦ é≡éαé╞é╔üA"dir /s" âRâ}âôâh é≡
# ö¡ìsé╡é─ tmpé╓Åoù═
system("dir /s " || dir_name || " >" || tmp)
# directory data sample ü½é▒é±é╚âfü[â^é¬ tmpé╔èiö[é│éΩé▄é╖üB
#1 16
#âfâBâîâNâgâèé═ D:\ICON\LEC24\TEST_A
#
#. <DIR> 97-04-29 21:51 .
#.. <DIR> 97-04-29 21:51 ..
#TEST_B <DIR> 97-04-29 21:52 TEST_B
#BBB TXT 10 97-04-29 21:56 BBB.TXT
#TEST_CCC TXT 15 97-04-29 21:57 TEST_CCC.TXT
#TEST_C <DIR> 97-04-29 21:55 TEST_C
#AAA 6 97-04-29 21:56 AAA
# 3 î┬ 31 âoâCâgé╠âtâ@âCâïé¬éáéΦé▄é╖
#
#êΩùùé╠âtâ@âCâïæìÉö:
######################
# dir /s (dir_name)îïë╩é⌐éτüAdirectoryûêé╠Åεò±é≡ listé╓ ôoÿ^
######################
dir := open(tmp) | stop("cannot open " || tmp) # tmpâtâ@âCâïâIü[âvâô
L_dir := [] # directoryÅεò±ôoÿ^ùp list
T_dir := table() # sub-directory listÄQÅ╞ table
while line := read(dir) do {
# directoryÅεò±é≡ directoryûêé╔üAêΩÆU list(LL)é╔é▄é╞é▀é─üAôoÿ^é╖éΘüB
line ? {
#ü½listé╔é▄é╞é▀é╜ directoryÅεò±é≡ôoÿ^
if find("î┬") then put(\T_dir[c_dir] | L_dir,LL)
#ü¬tableé╔ c_diré¬æ╢ì▌é╖éΩé╬
if match(" ") then next # é▓é▌ìsé≡û│Äï
if match("êΩ") then break # "êΩùùé╠üDüDüD"é¬ùêé╜éτÅIéφéΦ
L := p_split() # lineé≡ " "é┼ò¬èäü¿[1]:èJÄnê╩Æu
# [2]:ùvæf
#ü½lineé╠éPö╘û┌é╠ùvæf
case L[1][2] of {
"âfâBâîâNâgâèé═" : {
LL := [] # directory data buffer
# ü½lineé╠éQö╘û┌é╠ùvæfé╠èJÄnê╩Æu
if line[-1] == "\\" then c_dir := line[L[2][1] : -1] # rootæ╬ë₧
else c_dir := line[L[2][1] : 0] #
put(LL,[c_dir])
#ü¬listé╔é╡é─ LLé╔Æ╟ë┴
}
"." : next # û│Äï
".." : put(LL[1],line) # é╗é╠ directoryÄ⌐Égé╠Åεò±üB
# âgâbâvé╠ directoryê╚èOé┼é═òKùv
# é╚éóé¬üAæSé─é╔é┬é½èiö[
default : { if find("<DIR>") # sub-directoryé╛é┴é╜éτ
then {
put(LL,LLL := [line]) # ôαùeé≡ bufferé╔Æ╟ë┴
insert(T_dir,c_dir || "\\" || L[1][2] ,LLL)
# ü¬sub-directoryû╝Å╠é≡ keyé╔é╡é─ tableé╓ôoÿ^
}
else put(LL,line) # Æ╩Åφ fileé╚éτé╗é╠é▄é▄Æ╟ë┴
}
} # end of case
} # end of line ?
} # end of while
close(dir)
remove(tmp) # delete tmp
#######################
# directoryÅεò±é╠ò\Ī
#######################
# every write(x2t(L_dir) \25) # list ôαùeèmöFùpò\Ī
# every write(x2t(T_dir) \25) # tableôαùeèmöFùpò\Ī
# stop()
every write(d2t(L_dir))
end
########################
# directory treeò\Ī
########################
procedure d2t(L)
# top directoryé╠û╝æOü^time_stampÅêù¥
L1 := get(L) # Lé╔é═éPî┬é╡é⌐ùvæfé¬û│éóüBé╗éΩé≡ĵéΦÅoé╖üB
L2 := get(L1) # é╗é╠é▄é╜ top (directory_name,time_stamp)é≡ĵéΦÅoé╖üB
dir_top := L2[2][14:-3] | "\\ <DIR>"
# top directoryé╠û╝æOé╞ time stamp ü½root directoryæ╬ë₧
suspend L2[1] || dir_top
suspend " " || d2tree(L1) # treeë╗Åêù¥
# ü¬treeÅæÅoé╡Åëè·ê╩Æu
end
procedure d2tree(L)
# directoryé╠Åêù¥
# show the tree structure of directory
n := *L # Lé╠ sizeüiûûö÷ùvæfîƒÅoùpüj
every LL := !L do { # listé╠ùvæfé≡éPé┬é├é┬ĵéΦÅoé╖
n -:= 1 # ùvæfâJâEâôâ^ü|éP
case t := type(LL) of { # ùvæfé╠ typeé╔éµéΦüA
"string" : suspend "+ " || LL # file
"list" : { # sub-directory
suspend "+ " || get(LL) # sub-directoryÄ⌐æ╠ò\Ī
LLL := get(LL) # sub-directoryé╠ÆåÉgé≡ĵéΦÅoé╡
get(LLL) # ɵô¬ùvæfé≡ô╟é▌ö≥é╬é╡
#ü½ì┼îπé╠ùvæfé┼é╚éóé╚éτ
suspend (if n > 0 then "| " else " ") || d2tree(LLL)
}
default : stop("error")
}
}
end
########################
# stringé≡ cé≡ïµÉ╪éΦé╔é╡é─ò¬èäé╡é─üAèJÄnê╩Æué╞ùvæfé≡ò╘é╖üB
########################
# ô«ì∞é═üAIconôⁿûσìuì└üiéVüj Iconé╠ô┴ÆÑüiéTüjâXâLâââôé≡ÄQìlé╔é╡é─ë║é│éóüB
procedure p_split(line,c)
/c := ' \t' # default
/line := &subject # default
list := [] # û▀éΦÆlùp list
line ? {
while tab(ps := upto(~c)) do
put(list,[ps,tab(pe := many(~c))])
}
return list
end
-----$ D2TREE.ICN ( lines:141 words:544 ) ------------------<cut here
îïë╩é╞ x2tree07.icné╠Éαû╛é═üAăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_308.txt 1997/05/11 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéXüj ì─é╤ x2treeüiéPüj òùé┬é⌐éó
é▄é╕üAæOë±é╠ üuì─é╤ dir2treeüvé╠æ▒é½é┼é╖üB éeécé╠ root directoryé⌐éτé╠
treeé≡ ò\Īé╡é─é▌é▄é╡é╜üB
-----^ ICON_FD2.DIR ( date:97-05-10 time:23:55 ) -----------<cut here
A:\ <DIR>
+ NOT_ARCH <DIR> 97-05-03 21:00 NOT_ARCH
| + ICON_LEC DOC 3,038 97-04-23 23:17 ICON_LEC.DOC
| + ICON_LEC TXT 116,916 97-04-23 23:15 ICON_LEC.TXT
| + ICONLEC2 DOC 2,686 97-04-23 23:19 ICONLEC2.DOC
| + ICONLEC2 TXT 125,700 97-04-23 23:20 ICONLEC2.TXT
| + ICONLEC3 DOC 2,746 97-05-08 12:47 ICONLEC3.DOC
| + ICONLEC3 TXT 105,141 97-05-08 12:47 ICONLEC3.TXT
+ OTHER <DIR> 97-05-03 21:00 OTHER
| + ICON_LEC ENG 3,109 97-04-23 23:30 ICON_LEC.ENG
| + ICONLEC2 ENG 2,869 97-04-23 23:32 ICONLEC2.ENG
| + ICONLEC3 ENG 2,924 97-05-09 20:00 ICONLEC3.ENG
| + CONTRIB TXT 2,309 97-04-26 13:57 CONTRIB.TXT
| + CONTRIB2 TXT 752 97-05-09 19:39 CONTRIB2.TXT
+ ICON_LEC LZH 42,239 97-04-26 10:07 ICON_LEC.LZH
+ ICONLEC2 LZH 44,737 97-04-26 10:07 ICONLEC2.LZH
+ ICONLEC3 LZH 33,723 97-05-08 12:48 ICONLEC3.LZH
-----$ ICON_FD2.DIR ( lines:17 words:123 ) -----------------<cut here
é│é─üAìíë±é═üAüuì─é╤ x2treeüvé╞éóéñâ^âCâgâïé┼é╖é¬üAé▒éΩé═ â~âXé┼é═é╚é¡
ï@ö\âAâbâvé┼é╖üBüiè╛üj
x2treeé═üAì\æóæ╠é≡Ägé┴é╜ programé╠ testé╠ì█é╔ò╓ùÿé╚é╠é┼é╖é¬üA treeé╠ù±
é╠Éié▌é≡ÄwÆΦé┼é½éΘ éµéñé╔ é╡é─Æué⌐é╚é⌐é┴é╜é╠é┼üAèKæwé¬æ╜éó ì\æóæ╠é╠ tree
ò\Īé┼é═üAù±é╠Æ[é¬üAëµû╩é⌐éτèOéΩé─é╡é▄é╡é▄é╖üB
é╗é▒é┼üAtreeé╠ù±é╠Éié▌é≡ÄwÆΦé┼é½éΘéµéñé╔ÅCÉ│é╡é▄é╡é╜üB
-----^ X2TREE07.ICN ( date:97-05-08 time:21:54 ) -----------<cut here
# ì\æóæ╠é╠ì\ɼé≡ treeÅ≤é╔î⌐é╣éΘ generator (recursive)
# x2tree07.icn Rev.1.1 1997/05/08 windy
# x2tree06.icn é╔é─üAù±é╠Éié▌é≡É▌ÆΦë┬é╔é╡é╜éαé╠
# This file is in the public domain.
link jimage
procedure x2t(x,step)
# generator
# topé╠Åêù¥
suspend "<" || type(x) || " " || string(serial(x)) || ">"
#ü¬listé╠ serial No
ss := repl(" ", \step | 0)
suspend " " || ss || x2tree(x,ss,"")
#ü¬Åëè·ë╗âtâëâO
end
procedure x2tree(x,ss,init)
# generator
# show the tree structure of x
static T # serial No ôoÿ^ùp setôoÿ^ùp table staticÉΘî╛é≡é╡é─
# é¿é⌐é╚éóé╞üAì─ïAé╡é╜é╞é½é╔üAûóÆΦï` erroré╞é╚éΘüB
if \init then { # Åëè·ë╗é≡ initialé┼éΓéΘé╞üAô»é╢ programôαé┼ò╩é╠
# ì\æóæ╠ treeò\Īé╠é╜é▀é╔üAì─é╤ x2té≡ î─é±é╛Ä₧é╔
# Ä└ìsé│éΩé╚é¡é─Å≤æ╘é¬ÄcéΘé╠é┼üAâtâëâOé┼Åëè·ë╗ÄwĪ
T := table()
T["list"] := set() # é▒é▒é═üAtable(set())é╞é╖éΘé╞üAæSé─ô»é╢ seté¬
T["set"] := set() # èäéΦôûé─éτéΩé─é╡é▄éñé╠é┼üAî┬ò╩é╔Åëè·ë╗é╖éΘüB
T["table"] := set()
if (t := type(x)) == ("list" | "set" | "table")
then insert(T[t],serial(x)) # serial Noé≡ T[type(x)]é╔ôoÿ^
}
n := *x # Ä}é╠ûûÆ[îƒÅoùpâJâEâôâ^
if (tt := type(x)) ~== "table" then { # not table
every xx := !x do { # ì\æóæ╠é╠ùvæfé≡éPé┬ é├é┬ĵéΦÅoé╖
n -:= 1
t := type(xx)
val_disp := if t == ("list" | "set" | "table")
then "+ <" || t || " " || string(m := serial(xx)) || ">"
else "+ " || left(t,7) || jimage(xx)
case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
"string" : suspend val_disp
#ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
"list" | "set" | "table" : {
#ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
if not member(T[t],m) then {
insert(T[t],m) # serial Noé≡ T[type(xx)]é╓ôoÿ^
suspend val_disp
suspend (if n > 0 then "| " else " ") || ss || ss || x2tree(xx,ss)
#ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[ # ì─ïAü¬
delete(T[t],m) #ü⌐serial No ôoÿ^é≡ìφÅ£
}
else { # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
return val_disp || " (Recursion)"
}
}
#ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
default : suspend val_disp
}
}
}
else { # table
every xkey := key(x) do { # tableé╠ keyé≡éPé┬ é├é┬ĵéΦÅoé╖
n -:= 1
tk := type(xkey)
xx := x[xkey]
t := type(xx)
val_disp := if t == ("list" | "set" | "table")
then "+ <" || t || " " || string(m := serial(xx)) || ">"
else "+ " || left(t,7) || jimage(xx)
key_disp := if tk == ("list" | "set" | "table")
then " <- <" || tk || " " || string(serial(xkey)) || ">"
else " <- " || left(tk,7) || jimage(xkey)
case t of { # ì\æóæ╠é╠â^âCâvé╔éµéΦüA
"string" : suspend val_disp || key_disp
#ü½list,set,tableé╚éτüAtypeé≡ÅæÅoé╡é─üAé╗é╠ÆåÉgé≡é▄é╜ë≡É═é╖éΘüB
"list" | "set" | "table" : {
#ü½ì─ïAì\æóé┼ é╚é»éΩé╬üBüiT[type(xx)] é╔è∙é╔ôoÿ^ì╧é▌é╚éτì─ïAì\æóüj
if not member(T[t],m) then {
insert(T[t],m) # serial Noé≡ T[type(xx)]é╓ôoÿ^
suspend val_disp || key_disp
suspend (if n > 0 then "| " else " ") || ss || ss || x2tree(xx,ss)
#ü¬Ä}é╠ôrÆå #ü¬Ä}é╠ûûÆ[ # ì─ïAü¬
delete(T[t],m) #ü⌐serial No ôoÿ^é≡ìφÅ£
}
else { # ì─ïAì\æó é╚éτé╬üAÅæé½Åoé╖é╞âLâèé¬û│éóé╠é┼æ┼Ä~é▀
return val_disp || key_disp || " (Recursion)"
}
}
#ü½é╗é╠æ╝é╚éτüAtypeé╞Ælé≡Åæé½Åoé╖üB
default : suspend val_disp || key_disp
}
}
}
end
-----$ X2TREE07.ICN ( lines:101 words:448 ) ----------------<cut here
test programé╞ é╗é╠îïë╩é═üAăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_309.txt 1997/05/11 PCVAN PIG)
üí Icon > IconÄUòαô╣üiéPéOüj ì─é╤ x2treeüiéQüj òùé┬é⌐éó
æOë±é╠ üuì─é╤ x2treeüvé╠æ▒é½é┼é╖üBtest programé╞é╗é╠îïë╩é┼é╖üB
test programé¬Æ╖é¡é╚éΦé▄é╡é╜é╠é┼üAò¬é»é▄é╡é╜üB
-----^ X2TREE7~.ICN ( date:97-05-08 time:21:54 ) -----------<cut here
# test driver for x2tree07.icn
# x2tree7~.icn 1997/05/08 windy
# This file is in the public domain.
link x2tree07
procedure main()
# #listé╠ test
L1 := ["A","B"]
L2 := ["C","D"]
L3 := ["E","F"]
put(L1,L2)
put(L2,L3)
put(L1,L3) # ò╩Ä} test
put(L3,L1) # listé╠ì─ïA
every write(x2t(L1) \20) # \20é═üAâeâXâgé≡âhâWâbé╜Ä₧é╔üA20î┬é┼Ä~é▀éΘé╜é▀üB
write()
#tableé╠ test
T := table()
T["A"] := "G"
T["C"] := L2[1]
T["E"] := L3
T[L1] := L1[1]
put(L3,T) # tableé╠ì─ïA
every write(x2t(T) \20)
write()
#seté╠ test
L4 := ["H","I"]
S1 := set(["L","M"])
S := set(["J","K",L4])
insert(S,S1)
insert(S1,S) # seté╠ì─ïA
every write(x2t(S) \20)
write()
every write(x2t(L1,1) \20)
every write(x2t(S,1) \20)
every write(x2t(T,1) \20)
write()
every write(x2t(L1,2) \20)
every write(x2t(S,2) \20)
every write(x2t(T,2) \20)
end
-----$ X2TREE7~.ICN ( lines:46 words:111 ) -----------------<cut here
ô»é╢âfü[â^é┼üAÅçö╘é╔üAù±é╠Éié▌é≡æ¥éΓé╡é─éóé▄é╖üB
-----^ X2TREE07 ( date:97-05-11 time:00:43 ) ---------------<cut here
<list 1>
+ string "A"
+ string "B"
+ <list 2>
| + string "C"
| + string "D"
| + <list 3>
| + string "E"
| + string "F"
| + <list 1> (Recursion)
+ <list 3>
+ string "E"
+ string "F"
+ <list 1> (Recursion)
<table 2>
+ string "C" <- string "C"
+ <list 3> <- string "E"
| + string "E"
| + string "F"
| + <list 1>
| | + string "A"
| | + string "B"
| | + <list 2>
| | | + string "C"
| | | + string "D"
| | | + <list 3> (Recursion)
| | + <list 3> (Recursion)
| + <table 2> (Recursion)
+ string "A" <- <list 1>
+ string "G" <- string "A"
<set 8>
+ string "K"
+ <list 44>
| + string "H"
| + string "I"
+ <set 7>
| + string "M"
| + string "L"
| + <set 8> (Recursion)
+ string "J"
<list 1>
+ string "A"
+ string "B"
+ <list 2>
| + string "C"
| + string "D"
| + <list 3>
| + string "E"
| + string "F"
| + <list 1> (Recursion)
+ <list 3>
+ string "E"
+ string "F"
+ <list 1> (Recursion)
<set 8>
+ string "K"
+ <list 44>
| + string "H"
| + string "I"
+ <set 7>
| + string "M"
| + string "L"
| + <set 8> (Recursion)
+ string "J"
<table 2>
+ string "C" <- string "C"
+ <list 3> <- string "E"
| + string "E"
| + string "F"
| + <list 1>
| | + string "A"
| | + string "B"
| | + <list 2>
| | | + string "C"
| | | + string "D"
| | | + <list 3> (Recursion)
| | + <list 3> (Recursion)
| + <table 2> (Recursion)
+ string "A" <- <list 1>
+ string "G" <- string "A"
<list 1>
+ string "A"
+ string "B"
+ <list 2>
| + string "C"
| + string "D"
| + <list 3>
| + string "E"
| + string "F"
| + <list 1> (Recursion)
+ <list 3>
+ string "E"
+ string "F"
+ <list 1> (Recursion)
<set 8>
+ string "K"
+ <list 44>
| + string "H"
| + string "I"
+ <set 7>
| + string "M"
| + string "L"
| + <set 8> (Recursion)
+ string "J"
<table 2>
+ string "C" <- string "C"
+ <list 3> <- string "E"
| + string "E"
| + string "F"
| + <list 1>
| | + string "A"
| | + string "B"
| | + <list 2>
| | | + string "C"
| | | + string "D"
| | | + <list 3> (Recursion)
| | + <list 3> (Recursion)
| + <table 2> (Recursion)
+ string "A" <- <list 1>
+ string "G" <- string "A"
-----$ X2TREE07 ( lines:124 words:501 ) --------------------<cut here
ôûò¬é═üAâ~âXé╔ïCé¬é┬é½é▄é╣é±éµéñé╔üBüiÅ╬üj
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_310.txt 1997/05/11 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéPüj system() òùé┬é⌐éó
IconÄUòαô╣é╠ò√é┼é═üAăé═ æ╜ìÇÄ«é╠ôWèJ é≡éΓé┴é─é▌éΘé┬éαéΦé╚é±é┼é╖é¬üA
îïì\ ô╣é¬î»é╡é¡é─üAăé╠é¿ÿbé╡é¬Åæé»é▄é╣é±üB
(a+b+c)^2 é≡ a^2+b^2+c^2+2ab+2ac+2bcé╔üAò╧è╖é╖éΘÆ÷ôxé╠Åêù¥é≡üAìléªé─
éóéΘé╠é┼é╖é¬üAé╟éñéΓé┴é─ programé≡ ægé▀é╬ù╟éóé╠é⌐ Ävéóé┬é½é▄é╣é±üB
é╗é┐éτé═üAé╡é╬éτé¡ìléªé─é▌éΘé╞é╡é─üAë╜é╔éαÅæé⌐é╚éóé╠éαé│é▌é╡éóé╠é┼üA
ï▀é▓éδÅæéóé╜ programé≡Å╨ëεé╡é▄é╖üB
niftyé╞ PCVANé╠ log fileé⌐éτ OSL/Libraryé╠ Iconè╓îW fileâ^âCâgâïé╠òöò¬
é≡ö▓é½Åoé╖éαé╠é┼é╖üB éxénésé│é±é╠ ygrepé≡Ägéφé│é╣é─Æ╕éóé─éóé▄é╖üB
ygrepé╠ê°Éöé╔é╚éΘò╢ÄÜù±é≡ì∞é┴é─üAsystem()è╓Éöé╔ù^éªéΘé╛é»é┼é╖üB
MS-DOSé╠ batch programé┼Åæé»éΘôαùeé┼é╖é¬üAre-directé¬ é┼é½é╚éóé╞é⌐é╠
ɺî└é¬éáéΦé▄é╖é╠é┼üAIconé⌐éτî─é±é┼éóé▄é╖üB
command lineê°Éöé╔üAô·òtüiîÄô·üjé≡ù^éªéΘé╞ é╗é╠ô·òté╠ log fileé≡üA
ù^éªé╚é»éΩé╬üAé╗é╠ô·é╠ log fileé≡îƒì⌡é╡é▄é╖üB
mapè╓Éöé≡Ägé┴é─üA keywordé╠ &dateé⌐éτô·òté≡ ö▓é½Åoé╡é─éóé▄é╖üB
&dateé═üA1997/06/04é╞éóéñî`Ä«é≡é╡é─éóé▄é╖üBé▒éΩé⌐éτ 0604é╠òöò¬é≡
ö▓é½Åoé╖éαé╠é┼é╖üB
é╖éΘé╞üAÄgé┴é─éóéΘÄ«é═
map("679A","123456789A","1997/06/04")
é╞é╚éΦé▄é╖üB
mapè╓Éöé═üAû{ùêé═ò╢ÄÜò╧è╖é╠è╓Éöé┼é╖üB é╗é╠ë≡Ä▀é┼é╖é╞üAæOé╠Ä«é═
ò╢ÄÜù± "679A"é≡ ăé╠ ïKæÑé┼ò╧è╖é╖éΘé▒é╞é╔é╚éΦé▄é╖üB
1 -> 1 é╖éΘé╞üAé▓ùùé╠éµéñé╔ "679A"é═üAé┐éσéñé╟îÄô·é╠òöò¬
2 -> 9 é╠ÉöÄÜé╔ò╧è╖é│éΩé▄é╖üB
3 -> 9 é┐éσé┴é╞üAâpâYâïé▌é╜éóé┼é╖é¬üAé▒é╠éΓéΦò√é≡ èoéªé─
4 -> 7 é¿é¡é╞ò╓ùÿé┼é╖üB
5 -> / òöò¬ò╢ÄÜù±ÄwÆΦé╠
6 -> 0 &date[[6:8] || &date[9:0]
7 -> 6 é╞ô»é╢îïë╩é╔é╚éΦé▄é╖üB
8 -> /
9 -> 0
A -> 4
é│é─üA programé┼é╖üB
-----^ IDLG.ICN ( date:97-06-04 time:23:49 ) ---------------<cut here
# niftyé╞ PCVANé╠ logé⌐éτ Iconè╓îW downloadÉö é╠òöò¬é≡É╪éΦÅoé╡
# idlg.icn Rev.1.3 1997/06/04 windy file-nameò╧ìX idl.icn -> idlg.icn
# commentÆ╟ë┴
# idl.icn Rev.1.2 1997/06/01 windy òsÉ│ dateîƒÅoï¡ë╗
# idl.icn Rev.1.1 1997/05/23 windy Kazetuskai H.S.
# éxénésé│é±é╠ ygrepüiÆ┤ìéæ¼üEæ╜ï@ö\ grepüjé≡ÄgùpüB
# Usage: idlg é▄é╜é═ idlg MMDD
procedure main(args)
# ô·òtÄwÆΦé¬ éáéΩé╬é╗é╠ô·òt û│é»éΩé╬é╗é╠ô· é╠ log fileé≡æ╬Å█é╔é╖éΘüB
# ü½formatò╧è╖(îÄô·ö▓é½Åoé╡)
date := right(numeric(args[1]),4,"0") | map("679A","123456789A",&date)
# 1997/06/04é╠î`Ä«ü¬
# ygrepé╠î─é╤Åoé╡âpâëâüü[â^É╢ɼ
# niftyùp ü½ ORîƒì⌡
s1 := "ygrep \"{icon,bipl,de386}.*lzh\"" || " nif" || date || ".log "
# PCVANùp ü½êΩÆvìsé╠æOé╠ìséαÅoù═
s2 := "ygrep -B1 \"{icon,bipl,de386}.*lzh\"" || " van" || date || ".log "
write(&errout,s1)
system(s1) # nifty logîƒì⌡
write(&errout,s2)
system(s2) # PCVAN logîƒì⌡
end
-----$ IDLG.ICN ( lines:26 words:105 ) ---------------------<cut here
îïë╩é═üAé▒é±é╚éαé╠é┼é╖üBüiÆPé╚éΘ grepé╠îïë╩é┼é╖üBè╛üj
-----^ DL970605.G ( date:97-06-05 time:00:18 ) -------------<cut here
82 PFF01531 97/05/03 33393 2 B ICONLEC3.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└éR
üiÆåù¬üj
17 PFF01531 96/12/08 41893 133 B ICON_LEC.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└
89.ICONLEC3.DOC TRA11936 97/ 5/ 3 0002747 0000005
ICONLEC3.LZH TRA11936 97/ 5/ 3 0033385 0000003
üiÆåù¬üj
413.DE386_93.DOC TRA11936 97/ 5/11 0003329 0000029
DE386_93.LZH TRA11936 97/ 5/11 0206581 0000012
-----$ DL970605.G ( lines:24 words:165 ) -------------------<cut here
û└éóô╣é⌐éτüAö▓é»Åoé╣éΘé⌐é╚ü`üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_351.txt 1997/06/06 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéQüjdownloadÉö ÅWîv òùé┬é⌐éó
æOë±üAIconé⌐éτ ygrepé≡î─é±é┼üAlog fileé⌐éτ Iconè╓îW fileé╠â^âCâgâïìsé≡
É╪éΦÅoé╖ programé≡é▓ùùé╔éóéΩé▄é╡é╜üB ìXé╔ ÅWîvò\é▄é┼ Åoé╡é─é¡éΩéΘé╞éóéó
é╞éóéñé▒é╞é┼üAIconé╛é»é┼ÅWîv programé≡Åæéóé─é▌é▄é╡é╜üB
-----^ DL970607 ( date:97-06-07 time:00:35 ) ---------------<cut here
<1997/06/07> PIG SLABO PFL FGALTS fileîv
BIPL.LZH - 11 - 19 30
DE386.LZH - 12 - 40 52
ICONLEC3.LZH 3 11 3 46 63
ICONLEC2.LZH 3 16 41 67 127
ICON_LEC.LZH 6 32 91 134 263
------------------------------------------------
SIG/forumîv 12 82 135 306 535
-----$ DL970607 ( lines:8 words:43 ) -----------------------<cut here
listé┼ ÅWîvò\é≡ ì∞é┴é─é¿é½é▄é╖üB logé≡éPìsé├é┬ ô╟é▌é╚é¬éτ fileé╠ titleé╠
ìsé⌐éτ downloadÉöé≡ É╪éΦÅoé╡é─ ò\é≡ìXÉVé╡é▄é╖üB log fileé¬ ÅIéφéΘé╞üA
ÅWîvò\é≡Åoù═é╡é─éóé▄é╖üB
-----^ IDL.ICN ( date:97-06-05 time:00:21 ) ----------------<cut here
# niftyé╞PCVANé╠ logâtâ@âCâïé⌐éτ Iconè╓îW fileé╠ downloadÉöÆèÅo
# idl.icn Rev.1.2 1997/06/05 windy file-nameò╧ìX idl2.icn -> idl.icn
# commentÆ╟ë┴
# idl2.icn Rev.1.1 1997/06/04 windy Kazetsukai H.S.
# This file is in the public domain.
# Usage: idl é▄é╜é═ idl MMDD
procedure main(args)
# downloadÉö èiö[ list(éQÅd list)
#ü½ [1]:PIG [2]:SLABO [3]:FPL [4]:FGALTS
L := [ [ 0 ,0, 0 ,0], # L[1] ICON_LEC.LZH
[ 0 ,0, 0 ,0], # L[2] ICONLEC2.LZH
[ 0 ,0, 0 ,0], # L[3] ICONLEC3.LZH
["-",0,"-",0], # L[4] DE386.LZH PIG,FPLé╔é═ uploadé╡é─éóé╚éóüB
["-",0,"-",0] ] # L[5] BIPL.LZH PIG,FPLé╔é═ uploadé╡é─éóé╚éóüB
# fileû╝Å╠ ì∞ɼ
# command lineê°Éöé¬ÉöÄÜé╔ò╧è╖é┼é½éΩé╬üAfileô·òté╔ÄgéñüBé┼é½é╚é»éΩé╬üA
# é╗é╠ô·é╠ô·òté≡ fileô·òté╔ÄgéñüB
f_date := right(numeric(args[1]),4,"0") |
map("679A","123456789A",&date)
#ü¬ &dateé╠ 6,7,9,10ö╘û┌é╠ò╢ÄÜé≡ö▓é½Åoé╖üB(mapè╓Éöé╠ë₧ùp)
# &dateé═ 1997/06/04é╠î`Ä«
f_nif := "nif" || f_date || ".log " # nifty log fileû╝É╢ɼ
f_van := "van" || f_date || ".log " # PCVAN log fileû╝É╢ɼ
####################
# nifty Åêù¥
####################
# nifty log fileùß
#1 16 33 37
# 17 PFF01531 96/12/08 41893 130 B ICON_LEC.LZH ├╖╜─Åêù¥î╛îΩIconôⁿûσìuì└
dir_nif := open(f_nif) | stop("cannot open ",f_nif)
write(&errout,f_nif)
size_nif := 15 # Iconè╓îW fileîƒÅoé╠é╜é▀é╠Å╞ìçÄÜÉö
while line := read(dir_nif) do { # log fileé≡éPìsé├é┬ô╟é▌ì₧é±é┼
nn := numeric(line[33:37]) # downloadÉö É╪éΦÅoé╡
case line[1:size_nif+1] of {
# downloadÉöé≡ listé╔ôoÿ^
" 17 PFF01531 " : L[1][4] := nn # FGALTS ICON_LEC.LZH
" 20 PFF01531 " : L[2][4] := nn # FGALTS ICONLEC2.LZH
" 21 PFF01531 " : L[3][4] := nn # FGALTS ICONLEC3.LZH
" 163 PFF01531 " : L[4][4] := nn # FGALTS DE386_93.LZH
" 124 PFF01531 " : L[5][4] := nn # FGALTS BIPL93.LZH
" 78 PFF01531 " : L[1][3] := nn # FPL ICONLEC1.LZH
" 81 PFF01531 " : L[2][3] := nn # FPL ICONLEC2.LZH
" 82 PFF01531 " : L[3][3] := nn # FPL ICONLEC3.LZH
}
}
close(dir_nif)
####################
# PCVANÅêù¥
####################
# PCVAN log file ùß
#1 19 52 59
# 219.ICON_LEC.DOC TRA11936 96/12/ 8 0002421 0000032
# ICON_LEC.LZH TRA11936 96/12/ 8 0041893 0000032
dir_van := open(f_van) | stop("cannot open ",f_van)
write(&errout,f_van)
size_van := 18 # Iconè╓îW fileîƒÅoé╠é╜é▀é╠Å╞ìçÄÜÉö
while line := read(dir_van) do { # log fileé≡éPìsé├é┬ô╟é▌ì₧é±é┼
nn := numeric(line[52:59]) # downloadÉö É╪éΦÅoé╡
case line[1:size_van+1] of {
# SIGîƒÅo
(" 219.ICON_LEC.DOC " | " 243.ICONLEC2.DOC " |
" 256.ICONLEC3.DOC " ) : mode := "LAB" # SLABOÅêù¥Æå
(" 79.ICON_LEC.DOC " | " 84.ICONLEC2.DOC " |
" 89.ICONLEC3.DOC ") : mode := "PIG" # PIGÅêù¥Æå
# downloadÉöé≡ listé╔ôoÿ^
" ICON_LEC.LZH " : if mode == "LAB" then L[1][2] := nn # SLABO
else L[1][1] := (nn-1) # PIG
# download testò¬ ü¬
" ICONLEC2.LZH " : if mode == "LAB" then L[2][2] := nn # SLABO
else L[2][1] := nn # PIG
" ICONLEC3.LZH " : if mode == "LAB" then L[3][2] := nn # SLABO
else L[3][1] := nn # PIG
" DE386_93.LZH " : L[4][2] := nn # SLABO
" BIPL93.LZH " : L[5][2] := nn # SLABO
}
}
close(dir_van)
####################
# ò\é╔é╡é─Åoù═
####################
f_name := [ "ICON_LEC.LZH ", # fileû╝Å╠ list
"ICONLEC2.LZH ",
"ICONLEC3.LZH ",
"DE386.LZH ",
"BIPL.LZH ",
"SIG/forumîv " ]
size_f_name := *f_name[1]
sig := [ " PIG", # SIG/forumû╝Å╠ list
" SLABO",
" PFL",
" FGALTS",
" fileîv" ]
size_sig := *sig[1]
# ô·òtÉ╢ɼ ü½fdateé╔"/"é≡æ}ôⁿüB(mapè╓Éöé╠ë₧ùp)
writes(left("<" || &date[1:6] || map("12/34",1234,f_date) ||
">",size_f_name))
every writes(!sig) # SIG/forumû╝Åoù═
write()
L_sum_col := [0,0,0,0,0] # SIG/forumûêé╠ downloadÉö ÅWîvùp list
every i := *L to 1 by -1 do { # listé╠ûûö÷é⌐éτüiïtÅçÅoù═é╠é╜é▀üj
writes(f_name[i]) # fileû╝Åoù═
sum_line := 0 # fileûêé╠ downloadÉö ÅWîv
every j := 1 to *L[i] do {
writes(right((nnn := L[i][j]),size_sig)) # fileûê downloadÉö
sum_line +:= (nnnn := numeric(nnn) | 0) # ÉöÄÜé╚éτæ½é╡ì₧é▐
L_sum_col[j] +:= nnnn # ÉöÄÜé╚éτæ½é╡ì₧é▐
}
write(right(sum_line,size_sig)) # fileûê daownloadÉö Åoù═
L_sum_col[-1] +:= sum_line # æìîvé╔æ½é╡ì₧é▐
}
write(repl("-",*L_sum_col * size_sig +size_f_name)) # ÄdÉ╪éΦÉⁿ
writes(f_name[-1]) # "SIG/forumîv "é╠ò╢ÄÜé≡Åoù═
# (f_nameé╠ì┼îπé╠ùvæf)
every writes(right(!L_sum_col,size_sig)) # SIG/forumûêé╠îv
write()
end
-----$ IDL.ICN ( lines:131 words:617 ) ---------------------<cut here
üiÆ╟ïL 97/11/24î╗ì▌é┼é═ăé╠ downloadÉöé╔é╚é┴é─éóé▄é╖üBüj
-----^ DL971124 ( date:97-11-24 time:10:16 ) ---------------<cut here
<1997/11/24> PIG SLABO FPL FGALTS fileîv
BIPL.LZH - 14 - 33 47
DE386.LZH - 17 - 89 106
ICONLEC3.LZH 3 12 18 95 128
ICONLEC2.LZH 5 16 56 111 188
ICON_LEC.LZH 7 34 109 196 346
------------------------------------------------
SIG/forumîv 15 93 183 524 815
-----$ DL971124 ( lines:8 words:43 ) -----------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(icon_352.txt 1997/06/07 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéRüjCSV:ÆΦï`âtâ@âCâïé╠ô╟ì₧ òùé┬é⌐éó
ë─é╠É╖éΦé⌐éτüAÆSôûé╡é─éóéΘ û^ projecté╠è╓îWé┼üAû^Åèé╔¥fÆvé│éΩé─é¿éΦ
é▄é╡é╜é¬üAêΩïµÉ╪éΦé┬é½é▄é╡é╜é╠é┼¢Oöké╔û▀é┴é─üAïCé¬é┬é»é╬éαéñÅHÉ[é╡üB
Iconìuì└é═üAé╟é▒é▄é┼Åæéóé╜é⌐ïLë»é╠ö▐ò√é┼é╖üB
èmé⌐üACSVâfü[â^üiâRâôâ}ïµÉ╪éΦâfü[â^üjé≡üA ò\î`Ä«é╠ âeâLâXâgâfü[â^é╔
ò╧è╖é╖éΘprogram é≡ì∞é┴é─ upload é╡éµéñé╞é╡é─éóé╜ éµéñé╚ ïCé¬é╡é▄é╖üB
âèânârâèé╞îôé╦é─üAÄvéóÅoé╡é╚é¬éτ æ▒é½é≡éΓé┴é─é▌é╜éó é╞Ävéóé▄é╖üB
é╡é⌐é╡üAû^ projecté═ûóé╛æ▒éóé─éóé▄é╖é╠é┼üAIconìuì└é¬ ôrÉΓéªé▄é╡é╜éτüA
é▄é╜ û^Åèé╔¥fÆvé│éΩé╜é╚ é╞Ävé┴é─ë║é│éóüBüiÅ╬üj
é│é─üACSVâfü[â^é╞éóéñé╠é═üAé▒é±é╚âfü[â^é┼é╖üB
"é╚é⌐éΓé▄é▌é┘","ÆåÄRöⁿòΣ",1970,3,1,"O",158,80,60,84,45,"ôîï₧ôsżïαêΣÄs"
âRâôâ}ïµÉ╪éΦé╠âfü[â^é┼üAò╢ÄÜù±é═ " é┼ é¡é¡é┴é─éáéΦé▄é╖üB ò╢ÄÜù±Æåé╔ " é¬
î╗éΩéΘÅΩìçé═üA"" é┼ò\éφé╖éαé╠é╞é╡é▄é╖üB
CSVé╞éóé┴é─éαüAì╫é⌐éóô_é┼Ädùlé¬êßéñéαé╠é¬üAéóé¡é┬é⌐éáéΘéµéñé┼é╖é¬üAé▒é▒
é┼é═é▒é╠Ädùlé╞é╡é▄é╖üB
ùßé╠éµéñé╚âfü[â^é¬ò└é±é┼éóéΘ âfü[â^âtâ@âCâïé≡üAò\î`Ä«é╠âfü[â^é╓ ò╧è╖é╡é╜
éΦüAò\î`Ä«é╠âfü[â^é≡ïté╔ CSVâfü[â^é╓ò╧è╖é╖éΘéαé╠é≡ì∞é┴é─é▌é▄é╖üB
ùßé╠âfü[â^é≡ò\î`Ä«é╔é╖éΘé╜é▀é╔é═üAèeùôé≡ë╜ò╢ÄÜé╠ò\é╔é╖éΘé⌐é╠Åεò±é≡é╟é▒é⌐
é┼ÆΦï`é╡é╚éóé╞éóé»é▄é╣é±üB é╜é╞éªé╬é▒é±é╚è┤é╢é┼é╖üBèeùôé╠ò╢ÄÜÉöé≡ÆΦï`é╖éΘ
é┬éóé┼é╔üAò╢ÄÜé⌐ÉöÄÜé⌐é╠Åεò±éαé▄é╞é▀é─ÆΦï`é╡é─éóé▄é╖üB
-----^ CSV2TB.CFG ( date:97-10-27 time:00:02 ) -------------<cut here
####################
# csv -> ò\âfü[â^ ò╧è╖ÄwÆΦâtâ@âCâï
####################
# ìsô¬é¬ "#"éáéΘéóé═ìsé╔ "="é¬è▄é▄éΩû│éóé╚éτüAû│ÄïüBüiâRâüâôâgüj
# Åêù¥æ╬Å█âtâ@âCâïû╝é╠ɵô¬é╠ò╢ÄÜé╔é─üAÅêù¥ÄwÆΦé≡Ä»ò╩é╖éΘüB
# âtâ@âCâïÄ»ò╩ò╢ÄÜüi"="é╠ÄΦæOé╠ò╢ÄÜüjé═üAëpÄÜæσò╢ÄÜüB
# ò╧è╖ÄwĪé═üA","ïµÉ╪éΦé╠âfü[â^é≡ë╜îàé╠âfü[â^é╞é╡é─ê╡éñé⌐é≡üAÄwĪüB
# ò╧è╖ÄwÆΦùß
# s14 : 14îàé╠ò╢ÄÜù±üAn4 : 4îàé╠ÉöÄÜüAs0 : é╗é╠ùôé═û│Äï(n0é┼éαù╟éó)
# csvâfü[â^éµéΦüAÄwÆΦîàé¬æσé½éóÅΩìçé═üAîπéδé╔ " "é¬Æ╟ë┴é│éΩéΘüB
# ò╧è╖ÄwÆΦé¬û│éóòöò¬é╠ csvâfü[â^é═û│Äïé│éΩéΘüB
####################
# âeâXâgùpâTâôâvâïâfü[â^
# "é╚é⌐éΓé▄é▌é┘","ÆåÄRöⁿòΣ",1970,3,1,"O",158,80,60,84,45,"ôîï₧ôsżïαêΣÄs",10
SAM= s13 s9 n4 n2n2 s0 n3 n3 n3 n3 n3 s12 n2
-----$ CSV2TB.CFG ( lines:17 words:52 ) --------------------<cut here
é╞éóéñé▒é╞é┼üAé▒é±é╚ÆΦï`âtâ@âCâïé≡ô╟é▌é▒é▐é╜é▀é╠ procedureé≡ ɵé╕ ì∞é┴é─
é▌éΘé▒é╞é╔é╡é▄é╖üB
æüæ¼üAprogramé┼é╖üBÆΦï`âtâ@âCâïé≡ô╟é▌ì₧é±é┼ listé╓èiö[é╖éΘ programé╞
é╗é╠ listé╔èiö[é│éΩé─éóéΘ keyé╞ stringé≡â`âFâbâNé╖éΘéQé┬é╠ procedureé¬
è▄é▄éΩé─éóé▄é╖üB
-----^ GET_INL.ICN ( date:97-10-27 time:23:59 ) ------------<cut here
####################
# Åëè·ë╗âtâ@âCâïüEÆΦï`âtâ@âCâïé╠ô╟é▌ì₧é▌üiò╢ÄÜù±â_âuâèæ╬ë₧üj
####################
# args : stringüiègÆúÄqû╝üj
# value: list üiÅëè·É▌ÆΦÆlé╠ [key1,value1,key2,value2,...])
# Usage: L_INI := get_inil("INI")
# Ä└ìsâtâ@âCâïû╝é╠ègÆúÄqé≡ INIé╔ò╧éªé╜éαé╠é≡Åëè·ë╗âtâ@âCâïé╞é▌é╚é╖üB
# Åëè·ë╗âtâ@âCâïé╠î`Ä«é═üAë║ïLé╠î`Ä«
# Nantara=Kantara Dotara
# ["Nantara","Kantara Dotara"]é¬ valueé╞é╚éΘüB
# "="é¬üAè▄é▄éΩû│éóìsé═û│Äïé│éΩéΘüBüiâRâüâôâgìsé╔ÄgéªéΘüj
# ö⌡ìl : éáéΘ keyé╠ò╢ÄÜù±é¬æ╝é╠ keyé╠ò╢ÄÜù±é╔è▄é▄éΩéΘÅΩìçé═üA
# keyé═ì~Åçé╔Åæé½ì₧é▐é▒é╞üBüiÆ╖éóÅçé╔â`âFâbâNé╡é╚éóé╞û│Äïé│éΩéΘé╠é┼üj
# ABC=D:\icon\
# AB=D:\icon\my_procs\
# This file is in the public domain.
link file_e # f_name()
procedure get_inil(ext)
L := [] # listÉ╢ɼ
/ext := "INI" # ègÆúÄq default
dir := open(f_name() || "." || ext) | # Åëè·ë╗âtâ@âCâïé≡
fail #
while line := read(dir) do { # éPìsé╕é┬ô╟é▌ì₧é▌
line ? { # lineé≡æûì╕æ╬Å█é╞é╡é─
#ü½éQö╘û┌é╠Ä«é≡Ælé╞é╖éΘ
put(L,tab(upto('=')),2(move(1),tab(0)))
} # ü¬'='ûÿé╠ò╢ÄÜù± ü¬ ü¬ÄcéΦé╠ò╢ÄÜù±
} # ü¬é≡ keyé╞é╡é─ "="ò╢ÄÜâXâLâbâv
return L
end
####################
# ò╢ÄÜù±é╠ɵô¬é¬ Lé╠ keyé╔éáéΩé╬üAvalueé≡ò╘é╖
####################
# args : [1]:list [key1,value1,key2,value2,...]é╠î`Ä«
# [2]:string
# value: keyé¬ò╢ÄÜù±é╠ɵô¬é╞êΩÆvé╖éΩé╬üAkeyé╔æ╬ë₧é╡é╜ value
# ö⌡ìl : Lé═ì─Ägùpòsë┬üB
# This file is in the public domain.
procedure key_check(L,s)
/s := &subject
while ss := get(L) do { # keyé≡ĵéΦÅoé╡é─üA
# keyé¬ò╢ÄÜù±é╠ɵô¬é╔êΩÆvé╖éΩé╬üAvalueé≡ò╘é╖üBòsêΩÆvé╚éτô╟é▌ö≥é╬é╡üB
if match(ss,s) then return get(L) else get(L)
}
fail # êΩÆvé╡é╚é»éΩé╬üAfail
end
-----$ GET_INL.ICN ( lines:50 words:165 ) ------------------<cut here
üiì╖é╡æ╓éªüj
f_name()é═ê╚æO exe_name()é╞éóéñû╝æOé┼Å╨ëεé╡é▄é╡é╜ procedureé┼é╖üB
Ä└ìsâtâ@âCâïû╝é≡ĵéΦÅoé╖ procedureé┼é╖üB Ääé═ f_name()é≡üAî╗ì▌é═ file_e.icn
é╞éóéñ procedureé╠âtâ@âCâïé╠Æåé╔ôⁿéΩé─éóé▄é╖é╠é┼üAfile_eé≡ linké╡é─éóé▄é╖üB
get_inilé╠ test programé≡ăé╔üB ÆΦï`âtâ@âCâïé≡ô╟é▌ì₧é±é┼ô╟é▌ì₧é±é╛îïë╩
é╠ listé╠ò\Īé≡ìséñòöò¬é╞ key_checké≡ìsé┴é╜îïë╩é╠ò\Īé≡ ìséñòöò¬é¬è▄é▄éΩ
é─éóé▄é╖üB
-----^ GET_INL~.ICN ( date:97-10-27 time:23:55 ) -----------<cut here
# test procedure for get_inil
# This file is in the public domain.
link view_e, # x2t()
file_e # get_inil(), key_check()
procedure main()
every write(x2t(get_inil()))
every write(x2t(get_inil("CFG")))
write(key_check(get_inil("CFG"),"lmnopqr") | "error")
write(key_check(get_inil("CFG"),"lmno") | "error")
write(key_check(get_inil("CFG"),"lmn") | "error")
write(key_check(get_inil("CFG"),"abcd") | "error")
end
-----$ GET_INL~.ICN ( lines:12 words:40 ) ------------------<cut here
treeò\Ī é╠ x2t()é═üAview_eé╔üAget_inil(),key_checké═üAfile_eé╔ôⁿéΩé─éóéΘ
é╜é▀ èeüXé≡ linké╡é─éóé▄é╖üB
ÆΦï`âtâ@âCâïé╠âTâôâvâïé┼é╖üB
-----^ GET_INL~.INI ( date:97-10-27 time:23:57 ) -----------<cut here
# test data for get_inl~
ABC=abc_ini
DEFG=âfü[âCü[âGâtâWü[
hijk=123,456
-----$ GET_INL~.INI ( lines:5 words:8 ) --------------------<cut here
éαéñéPé┬é╠ÆΦï`âtâ@âCâïâTâôâvâïé┼é╖üB
-----^ GET_INL~.CFG ( date:97-10-27 time:23:56 ) -----------<cut here
# test data for get_inl~
hijk=123,456,789
lmno=lmnoé╛
pqrs=
lmn=lmné╛
-----$ GET_INL~.CFG ( lines:6 words:9 ) --------------------<cut here
îïë╩é═é▒éñé╚éΦé▄é╖üB
-----^ GET_INIL ( date:97-10-27 time:00:30 ) ---------------<cut here
<list 1>
+ string "ABC"
+ string "abc_ini"
+ string "DEFG"
+ string "âfü[âCü[âGâtâWü["
+ string "hijk"
+ string "123,456"
<list 84>
+ string "hijk"
+ string "123,456,789"
+ string "lmno"
+ string "lmnoé╛"
+ string "pqrs"
+ string ""
+ string "lmn"
+ string "lmné╛"
lmnoé╛
lmnoé╛
lmné╛
error
-----$ GET_INIL ( lines:20 words:50 ) ----------------------<cut here
é╞éóéñé╞é▒éδé┼üAìíô·é═é▒é╠é¡éτéóé╔é╡é▄é╖üB ăë±é═üAÆΦï`âtâ@âCâïé≡
ë≡É═é╖éΘéáé╜éΦé≡éΓé┴é─é▌é▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éréìéëéîéàü^ë¬û{É^ûΘ
(icon_353.txt 1997/10/27 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéSüjCSV:ÆΦï`âtâ@âCâïé╠ë≡É═ òùé┬é⌐éó
ìíô·é═üAÆΦï`âtâ@âCâïé╠ë≡É═é╠òöò¬é≡éΓéΦé▄é╖üBÆΦï`âtâ@âCâïé═üACSVâfü[â^é╞
ò└é╫é─ăé╠éµéñé╔ÄwÆΦé╡é╜éóé╠é┼é╖üB
SAM= s4 s1 n1n2 n3 s16
# "Ænïà","E",1,15,256,"é┐é½éπéñé═é▄éΘéó"
Åçé╔üAÆnïà -> s4
E -> s1
1 -> n1
15 -> n2
256 -> n3
é┐é½éπéñé═é▄éΘéó -> s16
é╞ÄwÆΦé╡é─éóéΘû≤é┼é╖üB
programé┼é═üACSVâfü[â^é╠ùôé╔æ╬ë₧é╡é╜ÄwÆΦé≡ listé╔èiö[é╡é─é¿é¡é▒é╞é╔
é╡é▄é╖üB æOë±é╠ÆΦï`âtâ@âCâïé╠ô╟ì₧é▌é┼é═üA
SAM= s4 s1 n1n2 n3 s16 é╞éóéñ stirngé≡
["SAM"," s4 s1 n1n2 n3 s16"] é╞ ò╧è╖é╡é─üA"SAM"é┼ listâfü[â^é≡
âTü[â`é╡é─üA" s4 s1 n1n2 n3 s16" é╞éóéñò╢ÄÜù±é≡ ĵéΦÅoé╖é╞é▒éδé▄é┼
ì╧é±é┼éóé▄é╖üB
ìíë±é═üAé▒é╠ÄwÆΦò╢ÄÜù±é≡üAùôûêé╠ÄwÆΦé¬Åçé╔ïlé▄é┴é╜ listé╓ò╧è╖é╖éΘòöò¬
é≡ì∞éΦé▄é╖üB
ÄwÆΦé¬æSé─âXâyü[âXïµÉ╪éΦé╚éτüAê╚æOÅ╨ëεé╡é▄é╡é╜ splité╞é⌐é┼ listé╔ò╧è╖
é┼é½éΘé╠é┼é╖é¬üAìíë±é╠âfü[â^é═ âXâyü[âXé¬û│éóòöò¬éαéáéΦé▄é╖ é╠é┼üA ò╩é╠
ò√û@é¬òKùvé┼é╖üB
ÄwÆΦé¬üAâAâïâtâ@âxâbâgéPò╢ÄÜé╞ÉöÄÜé╠ægé▌ìçéφé╣é┼é╖é╠é┼üAé╗é╠ægé▌ìçéφé╣
é≡îƒì⌡é╡é─üAlisté╔Åçé╔èiö[é╖éΘ procedureé≡ì∞éΦé▄é╖üB
é▒éñéóéñ âfü[â^ò╧è╖ procedureé≡ è╚ÆPé╔ì∞éΩéΘé╞é▒éδé¬üAIconé╠ù╟éóé╞é▒éδ
é┼é╖üB
é╞éóéñé╞é▒éδé┼üAprogramé┼é╖üB Test programéαêΩÅÅé╔ôⁿéΩé─éóé▄é╖üB
-----^ CN_SPLIT.ICN ( date:97-10-29 time:00:42 ) -----------<cut here
####################
# ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
####################
# cn_split.icn 1997/10/29 windy commentÆ╟ë┴
# cn_split.icn 1997/08/20 windy òùé┬é⌐éó H.S.
# This file is in the public domain.
# Test program
procedure main()
s := "s4 s1 n1n2 n3 s16"
s ? every write(!cn_split())
end
####################
# ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
####################
# Åêù¥ÄwÆΦüiëpò╢ÄÜéPò╢ÄÜé≡æzÆΦüjü{Åêù¥ò╢ÄÜÉö
# args : c1 : cset(Åêù¥ÄwÆΦéPâoâCâgò╢ÄÜâZâbâg)
# c2 : cset(Åêù¥ò╢ÄÜÉöüAÉöÄÜéÄîàüj
# s : ÄwÆΦò╢ÄÜù±
# value: list(Åêù¥ÄwÆΦé≡Åçé╔ïlé▀é╜éαé╠)
# ùß : "s4 s1 n1n2 n3 s16" -> [s4,s1,n1,n2,n3,s16] é╞ò╧è╖
# "Ænïà","E",1,15,256,"é┐é½éπéñé═é▄éΘéó"
# ö⌡ìl : csvâfü[â^é≡ò\âfü[â^é╔ò╧è╖é╖éΘâvâìâOâëâÇé╠é╜é▀é╔ì∞ɼ
# Åπé╠ùßé╠ùpé╔üAâfü[â^ùßé╞ò└é╫é─ÄwÆΦé¬ë┬ö\é╚âvâìâOâëâÇé╔é╖éΘé╜é▀
procedure cn_split(s,c1,c2)
/s := &subject # default
/c1 := &letters # ëpò╢ÄÜé╠æσò╢ÄÜüEżò╢ÄÜé╠âZâbâg
/c2 := &digits # ÉöÄÜé╠âZâbâg '0123456789'
L := [] # û▀éΦÆlùp list
s ? {
while tab(upto(c1)) do { # c1ûÿâXâLâbâv
ss := "" #
ss := tab(many(c1)) # c1ê╚èOé╠ò╢ÄÜûÿâXâLâbâvé╡üAé╗é╠è╘é╠ò╢ÄÜ
# é≡ ssé╓
put(L,ss ||:= tab(many(c2))) # c2ê╚èOé╠ò╢ÄÜûÿâXâLâbâvé╡üAé╗é╠è╘é╠ò╢ÄÜ
# é≡ ssé╓æ½é╡é▒é▐
}
}
return L
end
-----$ CN_SPLIT.ICN ( lines:42 words:140 ) -----------------<cut here
cn_split.exeé≡Ä└ìsé╡é╜îïë╩é┼é╖üB
-----^ CN_SPLIT ( date:97-10-29 time:00:42 ) ---------------<cut here
s4
s1
n1
n2
n3
s16
-----$ CN_SPLIT ( lines:6 words:6 ) ------------------------<cut here
éáé╞üAéαéñêΩé┬ procedureé≡ÅÇö⌡é╡é▄é╖é¬üAé╗éΩé═ăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éréìéëéîéàü^ë¬û{É^ûΘ
(icon_354.txt 1997/10/29 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéTüjCSV:ègÆúÄqò╧ìXüiéPüj òùé┬é⌐éó
é│é─üAìíô·é═ ègÆúÄqé≡ò╧ìXé╖éΘ procedureé╔é┬éóé─Éαû╛é╡é▄é╖üBé▒é╠ procedure
é═üACSVâfü[â^é╠âtâ@âCâïû╝é≡ foo.csvé╞é╡é▄é╖é╞üACSVâfü[â^é≡ò\î`Ä«âfü[â^é╔ò╧è╖
é╡é╜âfü[â^é╠âtâ@âCâïé═ègÆúÄqé≡ò╧éªé─üAfoo.txté╞éóéñû╝Å╠é╔é╖éΘé╜é▀é╠éαé╠é┼é╖üB
é▄é╕ âtâ@âCâïû╝é╠ '.' é╠æOé╠òöò¬é╞ îπéδé╠òöò¬é≡ò¬é»éΘ procedureé≡ì∞éΦé▄é╖üB
æüæ¼üAprogramé┼é╖üB
-----^ DOT.ICN ( date:97-10-30 time:00:33 ) ----------------<cut here
####################
# ò╢ÄÜù± sé╠ ò╢ÄÜ céµéΦÄΦæOé╞îπéδé╠òöò¬é≡ô╛éΘüB
####################
# ò╢ÄÜù± sé╠ ò╢ÄÜ céµéΦÄΦæOé╞îπéδé╠òöò¬é≡ô╛éΘüB
# Å«üAò╢ÄÜ cé═üAéPî┬é⌐ éαé╡é¡é═û│éóÅΩìçé≡æzÆΦüAòíÉöé╠ÅΩìçé═ top_get()éΓ
# top_cut() é≡ÄgéñüB
# âtâ@âCâïû╝é╠ègÆúÄqé≡Å£éóé╜òöò¬éΓègÆúÄqé≡ô╛éΘÅΩìçé╞é⌐üAÉöÄÜé╠żÉöô_ê╚ë║éΓ
# ê╚Åπé╠Ælé≡ô╛éΘÅΩìçé╔ÄgùpüB
# dot.icn 1997/10/30 windy commentÅCÉ│
# dot.icn 1997/08/15 windy òùé┬é⌐éó H.S.
# This file is in the public domain.
####################
# céµéΦÄΦæOé╠òöò¬é≡ô╛éΘüB
####################
# args : (1):ò╢ÄÜù±, (2):ò╢ÄÜüiâZâbâgüj
# value: ò╢ÄÜù±
# cé¬è▄é▄éΩû│éóÅΩìçé═üAê°Éöò╢ÄÜù±
procedure pre_char(s,c)
/c := '.' # default
s ? return tab(upto(c) | 0)
end
####################
# céµéΦîπéδé╠òöò¬é≡ô╛éΘüB
####################
# args : (1):ò╢ÄÜù±, (2):ò╢ÄÜüiâZâbâgüj
# value: ò╢ÄÜù±
# cé¬è▄é▄éΩû│éóÅΩìçé═üA""üiï≤ò╢ÄÜù±üj
procedure post_char(s,c)
/c := '.' # default
s ? return if tab(upto(c)) then 2(move(1),tab(0)) else ""
end
-----$ DOT.ICN ( lines:36 words:102 ) ----------------------<cut here
é▒é╠òöò¬é╠ Test programé┼é╖üB
-----^ DOT~.ICN ( date:97-10-30 time:00:43 ) ---------------<cut here
# test procedure for dot.icn
# dot~.icn 1997/10/30 windy commentÅCÉ│
# dot~.icn 1997/08/15 windy òùé┬é⌐éó H.S.
# This file is in the public domain.
link dot
procedure main()
write(s := "abcd.efg"," ",pre_char(s)," ",post_char(s))
write(s := "abcd"," ",pre_char(s)," ",post_char(s))
write(s := ".efg"," ",pre_char(s)," ",post_char(s))
write(s := "abcd."," ",pre_char(s)," ",post_char(s))
write(s := "123.45"," ",pre_char(s)," ",post_char(s))
write(s := "123"," ",pre_char(s)," ",post_char(s))
write(s := ".45"," ",pre_char(s)," ",post_char(s))
write(s := "123."," ",pre_char(s)," ",post_char(s))
end
-----$ DOT~.ICN ( lines:16 words:69 ) ----------------------<cut here
dot~.exeé╠îïë╩é┼é╖üB
-----^ DOT~ ( date:97-10-30 time:00:36 ) -------------------<cut here
abcd.efg abcd efg
abcd abcd
.efg efg
abcd. abcd
123.45 123 45
123 123
.45 45
123. 123
-----$ DOT~ ( lines:8 words:18 ) ---------------------------<cut here
é┐éσé┴é╞üAÆ╖é¡é╚éΦé▄é╡é╜é╠é┼üAæ▒é½é═ăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: Blow by Blow / Jeff Beck
(icon_355.txt 1997/10/30 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéUüjCSV:ègÆúÄqò╧ìXüiéQüj òùé┬é⌐éó
é│é─üAègÆúÄqé≡ò╧ìXé╖éΘ procedureé╠é┬é├é½é┼é╖üB æOë± ì∞éΦé▄é╡é╜ '.' é╠æOé╠
òöò¬é╞ îπéδé╠òöò¬é≡ò¬é»éΘ procedureé≡Ägé┴é─üAègÆúÄqé≡ò╧ìXé╡é╜éΦâ`âFâbâNé╡é╜
éΦé╖éΘ procedureé≡ì∞éΦé▄é╖üB
-----^ EXT.ICN ( date:97-10-30 time:00:48 ) ----------------<cut here
####################
# ègÆúÄqû╝ò╧ìXüEâ`âFâbâN
####################
# ext.icn 1997/10/30 windy commentÅCÉ│
# ext.icn 1997/08/25 windy òùé┬é⌐éó H.S.
link dot
####################
# ègÆúÄqû╝ò╧ìXâtâ@âCâïû╝É╢ɼ
####################
# ègÆúÄqû╝é¬ ext1é╚éτé╬üAègÆúÄqé≡ ext2é╔ò╧ìXé╡é╜âtâ@âCâïû╝é≡É╢ɼ
# args : (1):ïûùeâ`âFâbâNègÆúÄqû╝, (2):ÉVègÆúÄq, (3):âtâ@âCâïû╝,(4):ö╜ô]
# value: string: ÉVâtâ@âCâïû╝
# ègÆúÄqé¬ ext1é┼û│é»éΩé╬üAÄ╕ös
# ö⌡ìl : negé╔üAë╜é⌐Ælé≡âZâbâgé╖éΘé╞Å≡îÅé≡ö╜ô]üiègÆúÄqé¬üAext1é┼û│é»éΩé╬
# üDüDüDé╞éóéñô«ì∞é╞é╚éΘüB
procedure change_ext(ext1,ext2,f_name,neg)
return if /neg # ü½'.'ê╚æOé╠ò╢ÄÜù±
then 2(map(ext1) == map(post_char(f_name)),pre_char(f_name) || "." || ext2)
# ü¬'.'ê╚ì~é╠ò╢ÄÜù±üiüüègÆúÄqüj
# ü½ü¬öΣèrÄ«é═üAɼî≈é╖éΩé╬ëEò╙Ælé╔é╚éΘüB
else 2(map(ext1) ~== map(post_char(f_name)),pre_char(f_name) || "." || ext2)
end
####################
# ègÆúÄqû╝â`âFâbâN
####################
# ègÆúÄqû╝é¬ exté⌐é╟éñé⌐â`âFâbâN
# args : (1):ïûùeègÆúÄqû╝, (2):âtâ@âCâïû╝ ,(3):ö╜ô]
# value: string: âtâ@âCâïû╝
# ègÆúÄqé¬ exté┼é╚é»éΩé╬üAÄ╕ös
# ègÆúÄqû│é╡é╠â`âFâbâNé═üAexté╔ ""üiï≤ò╢ÄÜù±üjé≡âZâbâg
# ö⌡ìl : negé╔üAë╜é⌐Ælé≡âZâbâgé╖éΘé╞Å≡îÅé≡ö╜ô]üiègÆúÄqé¬üAexté╚éτÄ╕ösüj
procedure check_ext(ext,f_name,neg)
return if /neg
then 2(map(ext) == map(post_char(f_name)),f_name)
else 2(map(ext) ~== map(post_char(f_name)),f_name)
end
-----$ EXT.ICN ( lines:41 words:113 ) ----------------------<cut here
Test programé┼é╖üB
-----^ EXT~.ICN ( date:97-10-30 time:01:08 ) ---------------<cut here
####################
# ègÆúÄqû╝ò╧ìXüEâ`âFâbâN Test program
####################
# ext~.icn 1997/10/30 windy commentÅCÉ│
# ext~.icn 1997/08/25 windy òùé┬é⌐éó H.S.
link ext
procedure main()
write("ègÆúÄqâ`âFâbâN:check_ext test")
write(s1 := "def"," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
write(s1 := "DEF"," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
write(s1 := "def"," ",s2 := "abc.DEF"," ",check_ext(s1,s2) | "error")
write(s1 := "def"," ",s2 := "abc"," ",check_ext(s1,s2) | "error")
write(s1 := ""," ",s2 := "abc.def"," ",check_ext(s1,s2) | "error")
write(s1 := ""," ",s2 := "abc"," ",check_ext(s1,s2) | "error")
write("ègÆúÄqò╧ìX:change_ext test")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3) | "error")
write(s1 := "DEF"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3) | "error")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.DEF"," ",
change_ext(s1,s2,s3) | "error")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.txt"," ",
change_ext(s1,s2,s3) | "error")
write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3) | "error")
write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc"," ",
change_ext(s1,s2,s3) | "error")
write("ègÆúÄqâ`âFâbâN:check_ext Å≡îÅö╜ô] test")
write(s1 := "def"," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
write(s1 := "DEF"," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
write(s1 := "def"," ",s2 := "abc.DEF"," ",check_ext(s1,s2,"") | "error")
write(s1 := "def"," ",s2 := "abc"," ",check_ext(s1,s2,"") | "error")
write(s1 := ""," ",s2 := "abc.def"," ",check_ext(s1,s2,"") | "error")
write(s1 := ""," ",s2 := "abc"," ",check_ext(s1,s2,"") | "error")
write("ègÆúÄqò╧ìX:change_ext Å≡îÅö╜ô] test")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3,"") | "error")
write(s1 := "DEF"," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3,"") | "error")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.DEF"," ",
change_ext(s1,s2,s3,"") | "error")
write(s1 := "def"," ",s2 := "xyz"," ",s3 := "abc.txt"," ",
change_ext(s1,s2,s3,"") | "error")
write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc.def"," ",
change_ext(s1,s2,s3,"") | "error")
write(s1 := ""," ",s2 := "xyz"," ",s3 := "abc"," ",
change_ext(s1,s2,s3,"") | "error")
end
-----$ EXT~.ICN ( lines:52 words:296 ) ---------------------<cut here
ext~.exeé╠îïë╩é┼é╖üB
-----^ EXT~ ( date:97-10-30 time:00:53 ) -------------------<cut here
ègÆúÄqâ`âFâbâN:check_ext test
def abc.def abc.def
DEF abc.def abc.def
def abc.DEF abc.DEF
def abc error
abc.def error
abc abc
ègÆúÄqò╧ìX:change_ext test
def xyz abc.def abc.xyz
DEF xyz abc.def abc.xyz
def xyz abc.DEF abc.xyz
def xyz abc.txt error
xyz abc.def error
xyz abc abc.xyz
ègÆúÄqâ`âFâbâN:check_ext Å≡îÅö╜ô] test
def abc.def error
DEF abc.def error
def abc.DEF error
def abc abc
abc.def abc.def
abc error
ègÆúÄqò╧ìX:change_ext Å≡îÅö╜ô] test
def xyz abc.def error
DEF xyz abc.def error
def xyz abc.DEF error
def xyz abc.txt abc.xyz
xyz abc.def abc.xyz
xyz abc error
-----$ EXT~ ( lines:28 words:86 ) --------------------------<cut here
é╞éóéñé▒é╞é┼üAéΓé┴é╞Äƒë± CSVâfü[â^é≡ ò\î`Ä«âfü[â^é╔ ò╧ìXé╖éΘ programé¬
é▄é╞é▄éΦé▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: Blow by Blow / Jeff Beck
(icon_356.txt 1997/10/30 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéVüjCSV:CSV2TB òùé┬é⌐éó
é│é─üACSVâfü[â^é≡ò\î`Ä«âfü[â^é╓ò╧è╖é╖éΘ programé╠é▄é╞é▀é┼é╖üB
CSVâfü[â^é╠âtâ@âCâïé⌐éτüAéPìsé╕é┬âfü[â^é≡ô╟ì₧é±é┼üACSVâfü[â^é≡ò\î`Ä«âfü[â^
é╔ò╧è╖é╡é─üAÅæé½Åoé╡é─éóé½é▄é╖üB
-----^ CSV2TB.ICN ( date:97-10-26 time:21:08 ) -------------<cut here
####################
# CSV(commaïµÉ╪éΦâfü[â^)é≡ ò\î`Ä«é╔ò╧è╖
####################
# csv2tb.icn Rev.1.2 1997/10/26 windy .cfgò╧è╖ÄwÆΦé≡tableé⌐éτlisté╓ò╧ìX
# csv2tb.icn Rev.1.1 1997/08/26 windy .cfgò╧è╖ÄwÆΦò√Ä«é╓ò╧ìXüAû╝Å╠ò╧ìX
# csv2tbl.icn Rev.1.1 1994/11/03 windy òùé┬é⌐éó H.S.
# Usage : csv2tb [format] input.csv
# formatùß : "s14 s0 n4"
# command lineé╠ formatÄwÆΦé¬û│éóÅΩìçé═ current directoryé╠
# csv2tb.cfgé╔é─ formatÄwÆΦé│éΩé─éóéΘéαé╠é╞î⌐é╚é╖üB
# SA=s14 s0 n4
# ÄwÆΦé╠éΓéΦò√ : s14 :ò╢ÄÜù± 12îàüAn4 :ÉöÄÜ 4îàüB s0 :é╗é╠ùôé═û│Äï
# ò╧è╖îπé╠âfü[â^é═üAinput.txté╞éóéñâtâ@âCâïé╓Åoù═é│éΩéΘüB
# This file is in the public domain.
link string_e, # cn_split
file_e # get_inil, change_ext, key_check
procedure main(args) # argsé═ command lineê°Éö(list)üB
# û╝æOé═ argsê╚èOé┼éαù╟éóüB
Usage := (map(f_name()) || " s14 s0 n4 input.csv")
#ü¬map()é═üAâfâtâHâïâgé┼é═üAæσò╢ÄÜü¿Å¼ò╢ÄÜò╧è╖
new_ext := "txt" # ò\î`Ä«é╓ò╧è╖é╡é╜âfü[â^é╠âtâ@âCâïé╠ègÆúÄqÄwÆΦ
# ê°Éöâ`âFâbâN
case *args of { # *argsé═üAargsé╠âTâCâYé≡Īé╖üBé▒é▒é┼é═ê°Éöé╠ÉöüB
0 : stop(Usage)# ê°ÉöâGâëü[
1 : { # ò╧è╖ÄwÆΦé¬ command lineé╔û│éóé╠é┼üA.cfgé≡ô╟é▌ì₧é▐üB
f_csv := map(args[-1],&lcase,&ucase) # [-1]é═ì┼îπé╠ùvæfé≡ÄwÆΦ
# ü¬ëpæσò╢ÄÜé╓ò╧è╖
L_cfg := get_inil("CFG") | stop("cannot open .CFG file")
# ü¬ÆΦï` fileô╟ì₧é▌
form := cn_split(key_check(L_cfg,f_name(f_csv))) # âeâLâXâgò╧è╖ÄwÆΦ
# ü¬ #ü¬ csvâtâ@âCâïé╠û╝æOé╠ɵô¬é┼üAcfgâtâ@âCâïé╠é╟é╠ÄwÆΦé≡
# üb # Ägéñé⌐ö╗Æfé╖éΘüB
# übdataò╧è╖ÄwÆΦé≡ listé╓ò╧è╖
}
default : { # âtâ@âCâïÄwÆΦê╚èOé╠ê°Éöé≡ formé╔âZâbâgüB
f_csv := args[-1]
form := args[1:-1]
} # ü¬[1:-1]é═üAì┼Åëé╠ùvæfé⌐éτì┼îπé╠ùvæfé▄é┼é╠ö═ê═ÄwÆΦ
}
# open files
intext := open(f_csv) | stop("cannot open ",f_csv)
# ègÆúÄqé¬ "csv" é╚éτé╬üAnew_txté╓ò╧è╖é╡é╜éαé╠é≡üAÅoù═âtâ@âCâïû╝é╞é╖éΘüB
outtext := open(f_new := change_ext("csv",new_ext,f_csv),"a") |
stop("file error")
write(&errout,f_csv," -> ",f_new) # ô«ì∞âéâjâ^ü[
# display form data
# every writes(&errout," ",!form) ; write(&errout)
# main
no := 0 # âéâjâ^ü[ùpò\Īé╠ìsö╘ìåÅëè·Æl
while line := read(intext) do { # âtâ@âCâïé≡éPìsé╕é┬ô╟é▌ì₧é▌üA
write(outtext,csv2tb(line,form)) # formÄwÆΦé╔Å]éóò╧è╖
writes(&errout," ",right(no +:= 1,4)) # âéâjâ^ü[ùpò\Ī
}
write(&errout,"") # âJü[âTü[ò£ïA
# close files üiû│é¡é─éαô«é¡üj
close(intext)
close(outtext)
end
####################
# csvâfü[â^éPìsò╧è╖ procedure
####################
# args : [1]: string csvâfü[â^üiéPìsüjüA[2]: list ò╧è╖ÄwÆΦò╢ÄÜü{îàé╠ listüA
# [3]: îàæ╡éªÆ╟ë┴ò╢ÄÜ
# value: string ò\î`Ä«é╔ò╧è╖é│éΩé╜ò╢ÄÜù±üiéPìsüj
procedure csv2tb(line,form,s_fill)
/s_fill := " " # ÄwÆΦé¬û│é»éΩé╬üAspaceé╞î⌐é╚é╖üB
# î┤âfü[â^Æåé╠ spaceé╞îàæ╡éªé╠é╜é▀é╔òtë┴é╖éΘ spaceé≡ïµò╩é≡
# é╖éΘÄ₧ÄgùpüBùßéªé╬üAâfü[â^Æåé╠ " "é≡ "_"é╞é⌐é╔ò╧è╖é╖éΘüB
if line[1] == "#" then { # ìsé╠ɵô¬é¬ "#"é╚éτâRâüâôâgìs
return line
}
l_list := split_csv(line) # ìsâfü[â^é≡üA","ïµÉ╪éΦé┼üAlisté╔ò╧è╖üB
##################
# ÄwÆΦîàìçéφé╣
##################
i := 1 # ùôö╘ìå
s_line := "" # ò╢ÄÜù±æ½é╡ì₧é▌ùpé╠ï≤ò╢ÄÜù±
while i <= *form do { # ò╧è╖ÄwÆΦé╠Éöò¬üAâïü[âv
if not (form[i][2:0] == "0") then { # 0îàÄwÆΦé┼é╚é»éΩé╬
if form[i][1] == "s"
# ò╢ÄÜù±ÄwÆΦé╛é┴é╜éτüAì╢ïlé▀
then s_line ||:= (left(map(string(l_list[i])," ",s_fill),
form[i][2:0]) || " ")
# ÉöÄÜÄwÆΦé╛é┴é╜éτüAëEïlé▀
else s_line ||:= (right(l_list[i],form[i][2:0]) || " ")
}
i +:= 1
}
return s_line[1:-1] # ûûö÷é╠ spaceé╠ é┬é»ë▀é¼é≡ìφÅ£üB
end
####################
# csvâfü[â^é≡ listé╔ò╧è╖
####################
# args : string csvâfü[â^üiéPìsüj
# ò╢ÄÜù±âfü[â^é═ ù╝Æ[é≡ \" é┼ê═é▄éΩé─éóéΘéαé╠é╞é╖éΘüB
# ò╢ÄÜù±Æåé╠ \"é═üA\"\"é┼ò\éφé│éΩé─éóéΘéαé╠é╞é╖éΘüB
# value: list ùôâfü[â^é≡Åçé╔ listé╔ïlé▀é╜éαé╠
# ö⌡ìl : 3Å≤æ╘é╠Å≤æ╘æJê┌â}âVâô state : "init": Åëè·Å≤æ╘,
# "string":ò╢ÄÜù±Åêù¥Å≤æ╘, "number":ÉöÄÜÅêù¥Å≤æ╘
procedure split_csv(line)
state := "init" # ô«ì∞Å≤æ╘è╟ù¥ò╧Éöé╔üAÅëè·Å≤æ╘é≡âZâbâg
# "string":ò╢ÄÜù±Åêù¥Å≤æ╘, "number":ÉöÄÜÅêù¥Å≤æ╘
L := [] # û▀éΦÆlùp ï≤ list
line ? {
repeat {
# write(&errout,&pos," ",state)
case state of {
"init" : { # Åëè·Å≤æ╘
buf := "" # ò╢ÄÜù±æ½é╡ì₧é▌ùpâoâbâtâ@ü[Åëè·ë╗
s := move(1) | fail # ăé╠éPò╢ÄÜé≡ get
if s == "\"" # stringâfü[â^é╠Äné▀ïLìåé╚éτ
then state := "string" # Å≤æ╘ -> ò╢ÄÜù±Åêù¥
else {
state := "number" # Å≤æ╘ -> ÉöÄÜÅêù¥
move(-1) # &posû▀é╡
}
}
"number" : { # ÉöÄÜâfü[â^Åêù¥Å≤æ╘
put(L,tab(upto(',') | 0)) # ăé╠ ","ûÿé╠ò╢ÄÜù±é≡ list Lé╔Æ╟ë┴
move(1) | break # skip "," é▄é╜é═ìsûûé┼âïü[âvé≡ö▓é»éΘüB
state := "init" # Å≤æ╘ -> Åëè·Å≤æ╘
}
"string" : { # ò╢ÄÜù±âfü[â^Åêù¥Å≤æ╘
buf ||:= tab(upto("\"")) # ăé╠ "\""ûÿé╠ò╢ÄÜù±é≡ bufé╔Æ╟ë┴
move(1) # skip \"üiòKé╕éáéΘé═é╕üBüj
if (s := move(1)) # ìsûûâ`âFâbâN
then { # ìsûûé┼é╚é»éΩé╬
if s == "," # âfü[â^ïµÉ╪éΦïLìå
then { # æOé╠ \"é═üAstringé╠ÅIéφéΦé╛é┴é╜üB
put(L,buf) # bufé╠ôαùeé≡ listé╓Æ╟ë┴
state := "init" # Å≤æ╘ -> Åëè·Å≤æ╘
}
else { # æOé╠ \"é═üAescapeé╛é┴é╜üB
buf ||:= s # bufé╔æ½é╡ì₧é▌
state := "string" # Å≤æ╘ -> ò╢ÄÜù±Åêù¥
}
}
else { # ìsûûé╚é╠é┼âïü[âvé≡ö▓é»éΘüB
put(L,buf) # bufé╠ôαùeé≡ listé╓Æ╟ë┴
break
}
}
default : stop("state error") # é▒é▒é╓é═üAùêé╚éóânâYüB
}
}
}
return L
end
-----$ CSV2TB.ICN ( lines:162 words:594 ) ------------------<cut here
ô«ì∞é═üAâRâüâôâgé┼é¿ò¬é⌐éΦéóé╜é╛é»éΘé⌐é╞Ävéóé▄é╖üB
linkÄwÆΦé═üAé▒éΩé▄é┼ì∞é┴é╜ procedureé≡ÄwÆΦé╡é─éóéΘé╠é┼é╖é¬üA Ääé╠
libraryé╔ìçéφé╣é╜ÄwÆΦé╞é╚é┴é─éóé▄é╖üB é¿ÄÄé╡é╠Ä₧é═üAôKôûé╔ÅCÉ│é≡é¿èΦéó
é╡é▄é╖üBüiÄΦö▓é½é╛é╚ü`üBè╛üj
ăë±é═üAò\î`Ä«âfü[â^é≡üACSVî`Ä«âfü[â^é╔ò╧è╖é╖éΘ programé≡ì∞éΦé▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éréòéÄ üò éléÅéÅéÄü^ë¬û{É^ûΘ
(icon_357.txt 1997/10/31 PCVAN PIG)
üí Icon > Iconû└éóô╣üiéWüjCSV:CSV2TB òùé┬é⌐éó
é│é─üAìíë±é═üAò\î`Ä«âfü[â^é≡ CSVâfü[â^é╓ò╧è╖é╖éΘ programé┼é╖üBé▒é╠ program
é┼éαüAÆΦï`âtâ@âCâïé≡Ägéóé▄é╖é¬üAăé╠éµéñé╚î`Ä«é┼é╖üB
-----^ TB2CSV.CFG ( date:97-10-26 time:21:20 ) -------------<cut here
####################
# ò\âfü[â^ -> csvâtâ@âCâïò╧è╖ÄwÆΦâtâ@âCâï
####################
# ìsô¬é¬ "#"éáéΘéóé═ìsé╔ "="é¬è▄é▄éΩû│éóé╚éτüAû│ÄïüBüiâRâüâôâgüj
# Åêù¥æ╬Å█âtâ@âCâïû╝é╠ɵô¬ò╢ÄÜé╔é─üAÅêù¥ÄwÆΦé≡Ä»ò╩é╖éΘüB
# âtâ@âCâïÄ»ò╩ò╢ÄÜüi"="é╠ÄΦæOé╠ò╢ÄÜüjé═üAëpÄÜæσò╢ÄÜüB
# ò╧è╖ÄwĪé═üA
# s: ò╢ÄÜâfü[â^ɵô¬ÄwĪüAn: ÉöÄÜâfü[â^ɵô¬ÄwĪüAd: ìφÅ£âfü[â^ɵô¬ÄwĪ
####################
# âeâXâgùpâTâôâvâïâfü[â^
#é╚é⌐éΓé▄é▌é┘ ÆåÄRöⁿòΣ 1970 3 1 O 158 80 60 84 45 ôîï₧ôsżïαêΣ
SAM=s ds dn dn dn dsdn dn dn dn dn ds
-----$ TB2CSV.CFG ( lines:13 words:47 ) --------------------<cut here
Åπé╠ÆΦï`âtâ@âCâïé╠ÅΩìçé╔üAò╧è╖ÄwĪé╠ò╢ÄÜé╠ê╩Æué≡îƒÅoé╖éΘòKùvé¬éáéΦé▄é╖üB
é╞éóéñé▒é╞é┼üAæüæ¼é╗é╠ procedureé┼é╖üB éPìsé╠ò\âfü[â^ CSVâfü[â^é╓ò╧è╖é╖éΘ
programéα Test programé╞é╡é─è▄é±é┼éóé▄é╖üB show_wlé═üAê╚æOÅ╨ëεé╡é▄é╡é╜
éQÅd listò\Ī procedureüAreplaceé═ BIPLé╔è▄é▄éΩéΘ procedureé┼é╖üB
-----^ CP_SPLIT.ICN ( date:97-10-31 time:00:09 ) -----------<cut here
####################
# ò\î`Ä«âfü[â^ü¿CSVâfü[â^ò╧è╖ programé╠ÅKì∞
####################
# cp_split.icn 1997/10/31 windy commentÅCÉ│
# cp_split.icn 1997/08/25 windy òùé┬é⌐éó H.S.
link view_e, # show_wl
strings # replace
procedure main()
#0 0 0 00 1 1 2 2 2 3
#1 5 7 89 1 5 3 5 9 1
s1 := "Ænïà E 115256é┐é½éπéñé═é▄éΘéó"
s2 := "s d sdnn n s d s d "
write(s1,"\n",s2)
write(right("",*s1,"1234567890"))
L := cp_split(s2)
show_wl(L) # éQÅd list ò\Ī
# csvò╧è╖é╠ùß
ss := ""
every i := 1 to *L do {
ss ||:= case (LL := L[i])[1] of {
"s" : { "\"" || replace(s1[LL[2]:LL[3]],"\"","\"\"") || "\"\," }
"n" : { s1[LL[2]:LL[3]] || "\," }
# "d" é╠òöò¬é═û│Äïé╖éΘüB
}
}
write(ss[1:-1])
end
####################
# ò╢ÄÜù±Åêù¥ÄwÆΦé╠ò╢ÄÜù±é≡ë≡É═
####################
# Åêù¥ÄwÆΦ ëpò╢ÄÜéPò╢ÄÜ
# args : c : cset(Åêù¥ÄwÆΦéPâoâCâgò╢ÄÜâZâbâg)
# s : ÄwÆΦò╢ÄÜù±
# value: éQÅd list(Åêù¥ÄwÆΦé≡Åçé╔ïlé▀é╜éαé╠)
# [1]:ÄwÆΦò╢ÄÜ, [2]:èJÄnê╩Æu, [3]:ăé╠ÄwÆΦò╢ÄÜé╠èJÄnê╩Æu
# ÄwÆΦùß 0 0 0 00 1 1 2 2 2 3
# 1 5 7 89 1 5 3 5 9 1
# s1 := "Ænïà E 115256é┐é½éπéñé═é▄éΘéó"
# s2 := "s d sdnn n s d s d "
# s2é≡ [["s",1,5],["d",5,7], ... ,["d",29,31]] é╞ò╧è╖é╖éΘüB
# ö⌡ìl : ò\âfü[â^é╠É«î`üi csvò╧è╖üAôÖüjé╠âvâìâOâëâÇé╠é╜é▀é╔ì∞ɼ
# Åπé╠ùßé╠ùpé╔üAâfü[â^ùßé╞ò└é╫é─ÄwÆΦé¬ë┬ö\é╚âvâìâOâëâÇé╔é╖éΘé╜é▀
procedure cp_split(s,c)
/s := &subject # default
/c := &letters # ëpò╢ÄÜé╠æσò╢ÄÜüEżò╢ÄÜé╠âZâbâg
L := [] # û▀éΦÆlùp list
s ? {
tab(ps := upto(c)) # cûÿâXâLâbâv
move(1) # é╗é╠ò╢ÄÜé≡âXâLâbâv
while tab(upto(c)) do { # ăé╠ cûÿâXâLâbâvé╡üA
put(L,[s[ps],ps,&pos]) # ò╢ÄÜüAèJÄnê╩ÆuüAăé╠ò╢ÄÜé╠èJÄnê╩Æu
# é≡ list é╔Æ╟ë┴
ps := &pos # psìXÉV
move(1) # é╗é╠ò╢ÄÜé≡âXâLâbâv
}
put(L,[s[ps],ps,*s+1]) # ÄcéΦé╠òöò¬é≡Åêù¥
}
return L
end
-----$ CP_SPLIT.ICN ( lines:63 words:253 ) -----------------<cut here
cp_split.exeé╠Ä└ìsîïë╩é┼é╖üB
-----^ CP_SPLIT ( date:97-10-31 time:00:11 ) ---------------<cut here
Ænïà E 115256é┐é½éπéñé═é▄éΘéó
s d sdnn n s d s d
123456789012345678901234567890
s 1 5
d 5 7
s 7 8
d 8 9
n 9 10
n 10 12
n 12 15
s 15 23
d 23 25
s 25 29
d 29 31
"Ænïà","E",1,15,256,"é┐é½éπéñ","é▄éΘ"
-----$ CP_SPLIT ( lines:16 words:46 ) ----------------------<cut here
é╞éóéñé╞é▒éδé┼üAé▄é╞é▀é┼é╖üB
-----^ TB2CSV.ICN ( date:97-10-26 time:21:16 ) -------------<cut here
####################
# ò\î`Ä«âfü[â^é≡ CSV(commaïµÉ╪éΦâfü[â^)é╔ò╧è╖
####################
# tb2csv.icn Rev.1.2 1997/10/26 windy .cfgò╧è╖ÄwÆΦé≡tableé⌐éτlisté╓ò╧ìX
# tb2csv.icn Rev.1.1 1997/08/26 windy .cfgò╧è╖ÄwÆΦò√Ä«é╓ò╧ìXüAû╝Å╠ò╧ìX
# tbl2csv.icn Rev.1.1 1994/10/30 windy òùé┬é⌐éó H.S.
# Usage : tb2csv input.txt
# tb2csv.cfgé╔é─ formatÄwÆΦé≡ìséñüB
#é╚é⌐éΓé▄é▌é┘ ÆåÄRöⁿòΣ 1970 3 1 O 158 80 60 84 45 ôîï₧ôsżïαêΣ
#SA=s ds dn dn dn dsdn dn dn dn dn s
# ò╧è╖îπé╠âfü[â^é═üAinput.csvé╞éóéñâtâ@âCâïé╓Åoù═é│éΩéΘüB
# This file is in the public domain.
link string_e, # cp_split
file_e # get_inil, change_ext, key_check
procedure main(args) # argsé═ command lineê°Éö(list)üB
# û╝æOé═ argsê╚èOé┼éαù╟éóüB
Usage := (map(f_name()) || " input.txt")
#ü¬map()é═üAâfâtâHâïâgé┼é═üAæσò╢ÄÜü¿Å¼ò╢ÄÜò╧è╖
new_ext := "csv" # ò\î`Ä«é╓ò╧è╖é╡é╜âfü[â^é╠âtâ@âCâïé╠ègÆúÄqÄwÆΦ
# ê°Éöâ`âFâbâN
if *args ~= 1 then stop(Usage) # ê°ÉöâGâëü[
f_txt := map(args[1],&lcase,&ucase)
# ü¬ëpæσò╢ÄÜé╓ò╧è╖
# config fileô╟é▌ì₧é▌
L_cfg := get_inil("CFG") | stop("cannot open .CFG file")
# âeâLâXâgò╧è╖ÄwÆΦ
form := cp_split(key_check(L_cfg,f_name(f_txt)))
# ü¬ #ü¬ csvâtâ@âCâïé╠û╝æOé╠ɵô¬é┼üAcfgâtâ@âCâïé╠é╟é╠ÄwÆΦé≡
# üb # Ägéñé⌐ö╗Æfé╖éΘüB
# übdataò╧è╖ÄwÆΦé≡ listé╓ò╧è╖
# open files
intext := open(f_txt) | stop("cannot open ",f_csv)
# ègÆúÄqé¬üA"csv"é┼û│é»éΩé╬üA"csv"é≡ò╧è╖îπé╠âtâ@âCâïû╝é╞é╖éΘüB
outtext := open(f_new := change_ext("csv",new_ext,f_txt,""),"a") |
stop("file ext error") #ü¬ö╜ô]Å≡îÅ
write(&errout,f_txt," -> ",f_new) # ô«ì∞âéâjâ^ü[
# display form data
# every writes(&errout," ",!form) ; write(&errout)
# main
no := 0 # âéâjâ^ü[ùpò\Īé╠ìsö╘ìåÅëè·Æl
while line := read(intext) do { # âtâ@âCâïé≡éPìsé╕é┬ô╟é▌ì₧é▌üA
write(outtext,tb2csv(line,form)) # formÄwÆΦé╔Å]éóò╧è╖
writes(&errout," ",right(no +:= 1,4)) # âéâjâ^ü[ùpò\Ī
}
write(&errout,"") # âJü[âTü[ò£ïA
# close files üiû│é¡é─éαô«é¡üj
close(intext)
close(outtext)
end
####################
# ò\âfü[â^ -> csvâfü[â^éPìsò╧è╖ procedure
####################
# args : [1]: string ò\âfü[â^üiéPìsüjüA[2]: list ò╧è╖ÄwÆΦüiéQÅd listüj
# value: string csvî`Ä«é╔ò╧è╖é│éΩé╜ò╢ÄÜù±üiéPìsüj
procedure tb2csv(s,L)
ss := ""
every i := 1 to *L do {
ss ||:= case (LL := L[i])[1] of {
"s" : { "\"" || replace(s[LL[2]:LL[3]],"\"","\"\"") || "\"\," }
"n" : { s[LL[2]:LL[3]] || "\,"}
# "d" é╠òöò¬é═û│Äïé╖éΘüB
}
}
return ss[1:-1]
end #ü¬ì┼îπé╠ù]ò¬é╚ "\,"é≡ìφÅ£
-----$ TB2CSV.ICN ( lines:73 words:275 ) -------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éréòéÄ üò éléÅéÅéÄü^ë¬û{É^ûΘ
(icon_358.txt 1997/10/31 PCVAN PIG)
üí Icon > é┐éσé┴é╞ IconüiéPüjdataÉ«î` òùé┬é⌐éó
üiniftyserveé╠ FGALTSé╔üuAWKôVìæ/é╚é±é╛è╚ÆPé╢éßé╦éªé⌐üIüvé╞éóéñë∩ïcÄ║é¬
éáéΦé▄é╖é¬üAé╗é▒é┼ dataÉ«î`é╠ÿbæΦé¬ é┼é▄é╡é╜üB
é╗éΩé≡âlâ^é╔ FGALTSé╠üuâXâNâèâvâgôVìæü^ë╜é┼éαé⌐é±é┼éαüvé╠ë∩ïcÄ║é┼üA
Iconé╠Å╨ëεé≡ é╡é╜éαé╠é┼é╖üB)
ăé╠éµéñé╚ dataé≡
-----^ TEST03.DAT ( date:97-05-17 time:13:32 ) -------------<cut here
1,æèÉ∞ Ä╡Éú
1,ê└Ä║ ô▐öⁿîb
3,æσìò ûÇïG
3,ë¬û{ É^ûΘ
3,ö÷ìΦ êƒöⁿ
3,Éhôç öⁿôoùó
7,Ä┬î┤ é╞éαéª
7,Ä┬î┤ öⁿûτÄq
7,Ä┬î┤ ù┴Äq
10,Æ|ôα é▄éΦéá
10,Æåôç é▌éΣé½
10,ÆåÄR öⁿòΣ
10,Æåæ║ éáéΣé▌
10,ïvÅ╝ Äjô▐
10,Å╝öCÆJ ùRöⁿ
10,ÉXÉ∞ öⁿòΣ
10,ÄRë║ ïvöⁿÄq
18,ùVì▓ ûóÉX
-----$ TEST03.DAT ( lines:18 words:36 ) --------------------<cut here
ăé╠éµéñé╔üAÉ«î`é╡é▄é╖üB ɵô¬é╠ÉöÄÜé¬ò╧éφé┴é╜éτëⁿìsüAéPìsé╠ dataé═üA
éRé┬é▄é┼üAâIâèâWâiâï dataé╠ɵô¬é╠ÉöÄÜé═üAÉ«î`îπé═ɵô¬é╔é╛é»üB
-----^ SHAPE01 ( date:97-05-17 time:16:08 ) ----------------<cut here
1,æèÉ∞ Ä╡Éú,ê└Ä║ ô▐öⁿîb
3,æσìò ûÇïG,ë¬û{ É^ûΘ,ö÷ìΦ êƒöⁿ
3,Éhôç öⁿôoùó
7,Ä┬î┤ é╞éαéª,Ä┬î┤ öⁿûτÄq,Ä┬î┤ ù┴Äq
10,Æ|ôα é▄éΦéá,Æåôç é▌éΣé½,ÆåÄR öⁿòΣ
10,Æåæ║ éáéΣé▌,ïvÅ╝ Äjô▐,Å╝öCÆJ ùRöⁿ
10,ÉXÉ∞ öⁿòΣ,ÄRë║ ïvöⁿÄq
18,ùVì▓ ûóÉX
-----$ SHAPE01 ( lines:8 words:26 ) ------------------------<cut here
é╞éóéñòùé╔üAÉ«î`é╖éΘé╞éóéñé╠é¬üAÄdùlé┼é╖üBüj
AWKòöë«é┼üAéPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î`é╠ÿbæΦé¬üAÅoé▄é╡é╜
é¬üAIconé┼éΓé┴é╜éτé╟é±é╚òùé╔é╚éΘé⌐üAé┐éσé┴é╞üAé▓ùùé╔éóéΩéµéñé╞Ävéóé▄é╖üB
é▄é╕üAAWKé╠âXâNâèâvâgé═üAæσæ╠é▒é±é╚òùé╔é╚éΦé▄é╖üB
-----^ SHAPE01.AWK ( date:97-05-16 time:19:52 ) ------------<cut here
# Nî┬ ïµÉ╪éΦâXâNâèâvâg
# shape01.awk Rev.1.2 1997/05/16 windy printf ê°ÉöÅCÉ│
# shape01.awk Rev.1.1 1997/05/14 windy
# Usage: jgawk -f shape01.awk data_file >kekka
# data sample(/line) : 1,"A"
# This file is in the public domain.
BEGIN{
FS = "," # ìsôαé╠ dataïµÉ╪éΦé≡ ","é╔ò╧ìX
No = 0 # âfü[â^Äφò╩ö╘ìå
n = 1 # üiô»êΩâfü[â^Äφò╩ö╘ìåé╠üjâfü[â^î┬ÉöâJâEâôâ^
N = 3 # ïµÉ╪éΦÉö
}
{
if($1 != No){ # dataÄφò╩ Noé¬ò╧éφé┴é╜éτ
No = $1 # dataÄφò╩ NoìXÉV
if(n % N != 1 ){ print ""} # top dataé┼û│é»éΩé╬üAëⁿìsÅoù═
n = 1 # dataî┬Éö reset
}
if(n % N == 1) { # Nî┬ ïµÉ╪éΦé╠ɵô¬é╚éτâfü[â^Äφò╩ NoÅoù═
# printf($1) #
printf($1 FS $2) # Rev1.2
}
# printf(FS $2) #
printf(FS $3 FS $4) # Rev1.2
if(n % N == 0) { print ""} # Nî┬ ïµÉ╪éΦÉöì┼îπé╚éτüAëⁿìsÅoù═
n++ # dataÉöâJâEâôâgâAâbâv
}
END{
if(n % N != 1) { print ""} # ì┼îπé╠ìsé¬ Nî┬é┼é╚é»éΩé╬üAëⁿìsÅoù═
}
-----$ SHAPE01.AWK ( lines:33 words:147 ) ------------------<cut here
é▒éΩé≡üAIconé┼Åæé¡é╞üAăé╠éµéñé╔é╚éΦé▄é╖üB è╓Éöû╝üEëëÄZÄqïLìåê╚èOé═
ûwé╟üAò╧éφéΦé▄é╣é±üB
üiprogramé╠îπéδé╠ò√é╔è╓ÉöüEëëÄZÄqïLìåé╠ë≡Éαé≡é┬é»é▄é╡é╜üBüj
Å«üAAWKé┼é═üAcommand line ê°Éöé╔ fileû╝é≡ ÄwÆΦé╖éΘé╞üAÄ⌐ô«ôIé╔
é╗é╠ fileé≡ âIü[âvâôé╡é─üAdata fileé╞é╡é─üAô╟é▌ì₧é±é┼é¡éΩé▄é╖üB
Iconé═üAÄ⌐ô«ôIé╔é═üAéΓéΦé▄é╣é±üB programé┼ fileé≡âIü[âvâôé╡é▄é╖üB
é▄é╜üAAWKé┼é═üAìsé≡ Ä⌐ô«ôIé╔ FSé┼ò¬èäé╡é─üAözù±é╔ é╡é─é¡éΩé▄é╖é¬üA
Iconé═ éΓéΦé▄é╣é±é╠é┼üAòKùvé╚éτ é╗é╠Åêù¥é≡ìséñ procedureé≡ì∞ɼé╡é─
linké╖éΘòKùvé¬üAéáéΦé▄é╖üB
ïté╔î╛éªé╬üAIconé┼é═üAìsé≡é╟éñù┐ù¥é╡éµéñé¬üAprogramé╖éΘÉlé╠Ä⌐ùRé┼é╖üB
-----^ SHAPE01.ICN ( date:97-05-17 time:13:11 ) ------------<cut here
# Nî┬ ïµÉ╪éΦâvâìâOâëâÇ
# shape01.icn 1997/05/16 windy
# Usage: shape01 data_file >kekka
# data sample(/line) : 1,"A"
# shape01.awk é≡üAé╗é╠é▄é▄üAIconé╔ê┌é╡ò╧éªé╜éαé╠üB
# This file is in the public domain.
link split6
procedure main(args)
# ü¬command line ê°Éö (list)
Usage := "shape01 data_file >kekka"
# command line ê°Éöâ`âFâbâNüiê°Éöé¬û│é»éΩé╬Ägùpò√û@ò\Īüj
if *args = 0 then stop(Usage)
# data fileâIü[âvâôüiâGâëü[é╚éτâGâëü[ò\Īüj
dir := open(args[1]) | stop("cannot open ",args[1])
# ü¬command lineê°Éöé╠éPö╘û┌
fs := '\,' # ìsôαé╠ dataïµÉ╪éΦ
No := 0 # âfü[â^Äφò╩ö╘ìå
n := 1 # üiô»êΩâfü[â^Äφò╩ö╘ìåé╠üjâfü[â^î┬ÉöâJâEâôâ^
N := 3 # ïµÉ╪éΦÉö
while line := read(dir) do { # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
L := split(line,fs) # fsé╔é─ dataé≡ò¬èäé╡é─üAlisté╓
if numeric(L[1]) ~= No then { # âfü[â^Äφò╩ Noé¬ò╧éφé┴é╜éτ
if (n % N) ~= 1 then write() # top dataé┼û│é»éΩé╬üAëⁿìsÅoù═
No := numeric(L[1]) # âfü[â^Äφò╩ NoìXÉV
n := 1 # dataî┬Éö reset
}
if (n % N) = 1 then writes(No) # Nî┬ ïµÉ╪éΦé╠ɵô¬é╚éτâfü[â^Äφò╩ NoÅoù═
# if (n % N) = 1 then writes(No,fs,L[2]) #
writes(fs,L[2]) # âfü[â^Åoù═
# writes(fs,L[3],fs,L[4]) # âfü[â^Åoù═
if (n % N) = 0 then write() # Nî┬ ïµÉ╪éΦÉöì┼îπé╚éτüAëⁿìsÅoù═
n +:= 1 # dataÉöâJâEâôâgâAâbâv
}
if (n % N) ~= 1 then write() # ì┼îπé╠ìsé¬ Nî┬é┼é╚é»éΩé╬üAëⁿìsÅoù═
end
# ë≡Éα
# *args : argsé╠ sizeüié▒é╠ÅΩìçé═üAê°Éöé╠î┬Éöüj
# stop(s) : ò╢ÄÜù± sé≡Åoù═é╡é─üAprogramé≡ stopé╖éΘè╓Éö
# read() : text-mode file ô╟é▌ì₧é▌è╓Éö
# numeric : ò╢ÄÜü¿ÉöÄÜò╧è╖è╓Éö
# = : ÉöÄÜé╠öΣèr
# := : æπôⁿ
# +:= : n +:= m é═üA n := n +m é╠ù¬ïL
# ~ : ö█ÆΦ
# writes : printf æèôûüiëⁿìsû│é╡Åoù═üj
# write : print æèôûüiëⁿìsòté½Åoù═üj
# "abc" : ò╢ÄÜù± abc
# 'xyz' : 'x' 'y' 'z' é≡ùvæfé╞é╖éΘÅWìç
# L[3] : L (list)é╠ 3ö╘û┌é╠ùvæf
# link : æ╝é╠ fileé╠ procedureé≡ linké╖éΘÄwÆΦ
-----$ SHAPE01.ICN ( lines:57 words:273 ) ------------------<cut here
linké╖éΘ xplit06.icné¬éáé╙éΩé▄é╡é╜é╠é┼üAæ▒é½é═üAăë±é╔üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
(nif0516a.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
üí Icon > é┐éσé┴é╞ IconüiéQüjdataÉ«î` òùé┬é⌐éó
éPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠æ▒é½é┼é╖üB
æOë±é╠ programé┼Ägé┴é─éóéΘ ò╢ÄÜù±ò¬èäé╠ procedureé┼é╖üB
-----^ SPLIT6.ICN ( date:97-05-17 time:13:09 ) -------------<cut here
# ò╢ÄÜù±ò¬èäü¿listèiö[ procedure
# split6.icn Rev.1.3 1997/05/17 windy commentÅCÉ│
# split6.icn Rev.1.1 1997/05/14 windy
# icont -c split6.icn é╞é╖éΘé╞üAsplit6.u1,split6.u2é╞éóéñÆåè╘î╛îΩ fileé¬
# é┼é½éΘüBé▒é╠î`é╔é╡é─é¿é¡é╞üAæ╝é╠ procedureé⌐éτ linké┼é½éΘüB
# Usage: L := split(line,c)
# This file is in the public domain.
# Iconôⁿûσìuì└üiéTüjéáé╜éΦé╔Å┌é╡éóÉαû╛é¬éáéΦé▄é╖üB
# arg : [1]:ò╢ÄÜù±, [2]:ò╢ÄÜüiÅWìçüj
# value : list
procedure split(line,c)
/c := ' \t' # ê°Éöé╔ cé¬âZâbâgé╡é─û│é»éΩé╬üAspaceé⌐ tab
list := [] # Åoù═ dataæ½é╡é▒é▌ùp ï≤ list
line ? { # lineé≡üAæûì╕æ╬Å█é╞é╡é─
# ü½é¡éΦò╘é╡
while tab(upto(~c)) do # cê╚èOé╠ò╢ÄÜé╓ æûì╕ê╩Æué≡ê┌ô«
put(list,tab(many(~c))) # cê╚èOé╠ò╢ÄÜê╚èOé╠ò╢ÄÜüié╖é╚éφé┐ cüjé▄é┼
} # æûì╕ê╩Æué≡ê┌ô«üB ê┌ô«é╡é╜è╘é╠ò╢ÄÜù±é≡
# listé╓èiö[
return list
end
# ë≡Éα
# /c : c é¬ nullüiûóÆΦï`üjé╚éτé╬
# 'ab' : ò╢ÄÜ aé╞üAò╢ÄÜ b é≡ùvæfé╞é╖éΘÅWìç
# while ... do : ...é≡îJéΦò╘é╖üB
# tab(n) : né╠ê╩Æué▄é┼üAæûì╕ê╩Æué≡ê┌ô«üBé▒é╠è╓Éöé╠Ælé═üAê┌ô«é╡é╜òöò¬é╠
# ò╢ÄÜù±é╞é╚éΘüB
# upto(c) : æûì╕æ╬Å█é╠ò╢ÄÜù± é╠Æåé┼üAî╗ì▌é╠æûì╕ê╩Æuê╚ì~é┼üAò╢ÄÜÅWìç cé╠
# Æåé╠ éóé╕éΩé⌐é╠ò╢ÄÜé¬ î╗éΩéΘê╩ÆuüB ê╩Æué¬òíÉöéáéΘÅΩìçé═üAÅç
# ăé╗é╠ê╩Æué≡î⌐é┬é»éΘüBüié╖é╚éφé┐üAgeneratorüj
# many(c) : î╗ì▌é╠æûì╕ê╩Æuê╚ì~é┼üAò╢ÄÜÅWìç cé╔è▄é▄éΩéΘò╢ÄÜ ê╚èOé╠ò╢ÄÜé¬
# î╗éΩéΘê╩Æu
# put(L,x): L(list)é╠ûûö÷é╔ xé≡Æ╟ë┴é╖éΘüB
-----$ SPLIT6.ICN ( lines:36 words:144 ) -------------------<cut here
ì╫é⌐é¡ë≡Éαé╡é▄é╖é╞üAIconôⁿûσìuì└é╔Åæéóé╜ôαùeé≡üAæSòöÉαû╛é╡é╚éóé╞üA
éóé»é╚é¡é╚éΦé▄é╖üB programÆåé╠ commenté┼üAé▓æzæ£é≡ é¿èΦéóé╡é▄é╖üB
é╡é⌐é╡ AWKé╞ô»é╢ï@ö\é╛é»é┼é═üAû╩öÆé¡û│éóé╠é┼üAăë±é═üAÅ¡é╡éóé╢é┴é─
é▌é▄é╡éσéñüB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
(nif0516b.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
üí Icon > é┐éσé┴é╞ IconüiéRüjdataÉ«î` òùé┬é⌐éó
éPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠æ▒é½é┼é╖üB
æOé╠ programé╔ Iconé╠ï@ö\é≡üAæ╜Å¡é┐éΦé╬é▀é─é▌é▄é╖üB é┼éαüAô»é╢ï@ö\é╠
programé┼é╖é⌐éτüAô«éóé╜îïë╩é═ô»é╢é┼é╖üBüiè╛üj
üEô╟é▌ì₧é±é╛ dataé╠èeìsé╠ò¬èäé╠é╞é▒éδé┼üAì┼Åëé╠ ","é┼üAìsâfü[â^é≡ò¬èäé╖
éΘâvâìâOâëâÇé╔é╡é▄é╖üB
üEìsâfü[â^é≡üAtableüiAWKé╠ÿAæzözù±üjé╔èiö[é╡é▄é╖üB
üièiö[é╖éΘòKùvé═ û│éóé╠é┼é╖é¬üAtableé╠âTâôâvâïé╞é╡é─üBüj
é╗éñé╡é▄é╖é╞üAAWKé╠ÿAæzözù±é╞ô»é╢é¡üAĵéΦÅoé╖é╞é½é╔üAèiö[é╡é╜Åçö╘é╞é═
é╚éΦé▄é╣é±üB é╗é▒é┼üAtableé╔èiö[é╡é╜ dataé≡ keyé┼ sorté╡é─Åoù═é╡é▄é╖üB
tableé═ sorté╖éΘé╞üAlisté╔é╚éΦé▄é╖üBüi dataé╔Åçö╘é≡ù^éªéΘé╔é═üAlisté╔
é╡é╚éóé╞éóé»é╚éóé╠é┼üAIconé╠î╛îΩÄdùlé¬ é╗éñé╚é┴é─éóé▄é╖üBüj
üEÅoù═Åêù¥é┼üAIconé┼é═üAé╣é┴é⌐é¡ caseì\ò╢é¬üAâTâ|ü[âgé│éΩé─éóé▄é╖
é╠é┼üAÄgé┴é─é▌é▄é╖üB æ╜Å¡üAô«ì∞é¬ò¬é⌐éΦéΓé╖é¡é╚éΘé╞Ävéóé▄é╖üB
üEÉ«î`îïë╩é≡ Åoù═é╡é╜îπé╔üAÄgé┴é╜ tableé╞ listé╠ì\æóé¬ é╟éñé╚é┴é─éó
éΘé⌐é≡üAx2té╞éóéñ procedureé≡Ägé┴é─Åæé½Åoé╡é▄é╖üBüié▒éΩé═üAÄQìlùp
é┼é╖üBû{ùêé╠ô«ì∞é╞é═è╓îWéáéΦé▄é╣é±üBüj
x2té≡Éαû╛é╡é▄é╖é╞üA Iconôⁿûσìuì└éPü`éRæSòöé≡üAÉαû╛é╡é╚éóé╞éóé»é╚é¡
é╚éΦé▄é╖é╠é┼üAé▄éá é╗éñéóéñï@ö\é╠ procedureé╛é╞üA é▒é▒é┼é═üAìléªé─
ë║é│éóüBüiIconôⁿûσìuì└éRüiéPéXüjé╠ x2tree03 é╔â~âXÅCÉ│üiè╛üjé╞ï@ö\
âAâbâvüitableé╠ÅΩìç valueé╛é»é┼é╚é¡ keyéαÅoù═é╖éΘéµéñé╔üj é╡é╜éαé╠
é┼é╖üBüj
-----^ SHAPE02.ICN ( date:97-05-17 time:10:17 ) ------------<cut here
# Nî┬ ïµÉ╪éΦ program
# shape02.icn Rev.1.2 1997/05/17 windy commentÅCÉ│
# shape02.icn Rev.1.1 1997/05/16 windy
# Usage: shape02 data_file >kekka
# data sample(/line) : 1,"A"
# This file is in the public domain.
link x2tree06
procedure main(args)
Usage := "shape02 data_file >kekka"
if *args = 0 then stop(Usage)
dir := open(args[1]) | stop("cannot open ",args[1])
fs := '\,' # ìsôαé╠ dataïµÉ╪éΦ
N := 3 # ïµÉ╪éΦÉö
T1 := table() # tableé≡É╢ɼüiÅëè·Æl û│é╡üj
while line := read(dir) do { # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
line ? { # lineé≡æûì╕æ╬Å█é╞é╡é─
ps := upto(fs) # ps : lineé╠Æåé┼üAì┼Åëé╔ fsé¬î⌐é┬é⌐é┴é╜ê╩Æu
n := numeric(line[1:ps]) # lineé╠ pséµéΦæOé╠òöò¬é≡ÉöÄÜò╧è╖
s := line[ps+1:0] # lineé╠ pséµéΦîπé╠òöò¬
/T1[n] := [] # table T1é╠ keyé╔üAné¬û│é»éΩé╬üAné≡ key
# é╞é╡é─ valueé╔ [] (ï≤ list)é≡ ôoÿ^
put(T1[n],s) # tableé╠ key n é╠ value (list)é╔ sé≡Æ╟ë┴
}
}
L1 := sort(T1,1) # T1 é≡ keyé┼ sorté╡üA listé╓ò╧è╖
write("É«î`îïë╩")
every L2 := !L1 do { # L1é⌐éτüAùvæf(list) é≡ÅçăĵéΦÅoé╡é─
No := L2[1] # 1ö╘û┌é╠ùvæf(ÉöÄÜüjé≡ Noé╔æπôⁿ
n := 0 # ô»é╢ Noé╠ùvæfé╠âJâEâôâ^
every s := !L2[2] do { # 2ö╘û┌é╠ùvæf(list) é⌐éτùvæfüiò╢ÄÜù±üjé≡
# ÅçăĵéΦÅoé╡é─
n +:= 1 # ô»é╢ Noé╠ùvæfé╠âJâEâôâ^ ü{éP
case (n % N) of { # né≡ Né┼èäé┴é╜ù]éΦé╔éµé┴é─
1 : { writes(No) # NoÅoù═
writes(fs,s) } # âfü[â^Åoù═
2 : writes(fs,s)
0 : { writes(fs,s)
write() } # ëⁿìsÅoù═
default : stop("case error") # é╗éΩê╚èOé╛é┴é╜éτ
}
}
if (n % N) ~= 0 then write() # ì┼îπé╠Åoù═ìsé╠ùvæfÉöé¬üANê╚èOé╛é┴é╜éτ
} # ëⁿìsÅoù═
# ô«ì∞ÄQìlùp
write("\nT1 (table) ì\\æó") # "ì\" é═ "\x8d5c" é╚é╠é┼üA"\x5c"é≡òΓéñüB
every write(x2t(T1)) # x2té═ ì\æóæ╠é╠ôαùeé≡ treeò\Īé╖éΘ procedure
# x2tree06.icné╔è▄é▄éΩéΘüB
write("\nL1 (list) ì\\æó")
every write(x2t(L1))
end
# ë≡Éα
# /T1[n] : T1[n]é╠ null (ûóÆΦï`) check
# table : table(AWKé╠ÿAæzözù±)é≡É╢ɼ ()ôαé╔é═üAÅëè·Ælé≡ÄwÆΦé┼é½éΘ
# every ... !L : ì\æóæ╠ Lé╠ùvæfé≡ÅçăĵéΦÅoé╡é─
-----$ SHAPE02.ICN ( lines:61 words:277 ) ------------------<cut here
ô«é⌐é╡é╜Ä₧é╠îïë╩é┼é╖üB
-----^ SHAPE02 ( date:97-05-17 time:18:12 ) ----------------<cut here
É«î`îïë╩
1,æèÉ∞ Ä╡Éú,ê└Ä║ ô▐öⁿîb
3,æσìò ûÇïG,ë¬û{ É^ûΘ,ö÷ìΦ êƒöⁿ
3,Éhôç öⁿôoùó
7,Ä┬î┤ é╞éαéª,Ä┬î┤ öⁿûτÄq,Ä┬î┤ ù┴Äq
10,Æ|ôα é▄éΦéá,Æåôç é▌éΣé½,ÆåÄR öⁿòΣ
10,Æåæ║ éáéΣé▌,ïvÅ╝ Äjô▐,Å╝öCÆJ ùRöⁿ
10,ÉXÉ∞ öⁿòΣ,ÄRë║ ïvöⁿÄq
18,ùVì▓ ûóÉX
T1 (table) ì\æó
<table 1>
+ <list 6> <- integer18
| + string "ùVì▓ ûóÉX"
+ <list 5> <- integer10
| + string "Æ|ôα é▄éΦéá"
| + string "Æåôç é▌éΣé½"
| + string "ÆåÄR öⁿòΣ"
| + string "Æåæ║ éáéΣé▌"
| + string "ïvÅ╝ Äjô▐"
| + string "Å╝öCÆJ ùRöⁿ"
| + string "ÉXÉ∞ öⁿòΣ"
| + string "ÄRë║ ïvöⁿÄq"
+ <list 4> <- integer7
| + string "Ä┬î┤ é╞éαéª"
| + string "Ä┬î┤ öⁿûτÄq"
| + string "Ä┬î┤ ù┴Äq"
+ <list 2> <- integer1
| + string "æèÉ∞ Ä╡Éú"
| + string "ê└Ä║ ô▐öⁿîb"
+ <list 3> <- integer3
+ string "æσìò ûÇïG"
+ string "ë¬û{ É^ûΘ"
+ string "ö÷ìΦ êƒöⁿ"
+ string "Éhôç öⁿôoùó"
L1 (list) ì\æó
<list 7>
+ <list 9>
| + integer1
| + <list 2>
| + string "æèÉ∞ Ä╡Éú"
| + string "ê└Ä║ ô▐öⁿîb"
+ <list 8>
| + integer3
| + <list 3>
| + string "æσìò ûÇïG"
| + string "ë¬û{ É^ûΘ"
| + string "ö÷ìΦ êƒöⁿ"
| + string "Éhôç öⁿôoùó"
+ <list 10>
| + integer7
| + <list 4>
| + string "Ä┬î┤ é╞éαéª"
| + string "Ä┬î┤ öⁿûτÄq"
| + string "Ä┬î┤ ù┴Äq"
+ <list 11>
| + integer10
| + <list 5>
| + string "Æ|ôα é▄éΦéá"
| + string "Æåôç é▌éΣé½"
| + string "ÆåÄR öⁿòΣ"
| + string "Æåæ║ éáéΣé▌"
| + string "ïvÅ╝ Äjô▐"
| + string "Å╝öCÆJ ùRöⁿ"
| + string "ÉXÉ∞ öⁿòΣ"
| + string "ÄRë║ ïvöⁿÄq"
+ <list 12>
+ integer18
+ <list 6>
+ string "ùVì▓ ûóÉX"
-----$ SHAPE02 ( lines:71 words:285 ) ----------------------<cut here
ăë±üAéαéñÅ¡é╡üAéóé╢é┴é─é▌é▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
(nif0516b.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
üí Icon > é┐éσé┴é╞ IconüiéSüjdataÉ«î` òùé┬é⌐éó
æèò╧éφéτé╕üAéPìsâfü[â^é≡ éRî┬é├é┬é▄é╞é▀éΘ âfü[â^É«î` é╠ é¿ÿbé╡é╠
æ▒é½é┼é╖üB
æOë±é╠ programé╠Åoù═òöò¬é╔ generatoré≡Ägé┴é─é▌é▄é╖üB generatoré╞
éóéñé╠é═üAprocedureé┼üAòíÉöé╠îïë╩é≡üAÅçăò╘é╖ï@ö\ é≡üAÄ¥é┴é─éóéΘ
éαé╠é≡î╛éóé▄é╖üB
é┼éαüAæSæ╠é═üAô»é╢ ï@ö\é╠ programé┼é╖é⌐éτüA ô«éóé╜îïë╩éαüAæèò╧éφ
éτé╕ ô»é╢é┼é╖üBüiÅ╬üj
-----^ SHAPE03.ICN ( date:97-05-17 time:10:46 ) ------------<cut here
# Nî┬ ïµÉ╪éΦ program
# shape03.icn Rev.1.3 1997/05/17 windy commentÅCÉ│
# shape03.icn Rev.1.1 1997/05/15 windy
# Usage: shape03 data_file >kekka
# data sample(/line) : "1","A"
# This file is in the public domain.
link retrieve
procedure main(args)
Usage := "shape03 data_file >kekka"
if *args = 0 then stop(Usage) # command line ê°Éö check
dir := open(args[1]) | stop("cannot open ",args[1]) # file open
# Åëè·É▌ÆΦ
fs := '\,' # ìsôαé╠ dataïµÉ╪éΦ
N := 3 # ïµÉ╪éΦÉö
T1 := table() # ï≤é╠ tableé≡É╢ɼ
# data fileé≡ô╟é▌ì₧é▌ tableé╔èiö[ (tableé═ AWKé╠ÿAæzözù±é╞ô»é╢)
while line := read(dir) do { # éPìsé├é┬Åçăô╟é▌ì₧é±é┼üA
line ? { # ô╟é▌ì₧é±é╛ ìsé≡ æûì╕æ╬Å█é╞é╡é─
ps := upto(fs) # ì┼Åëé╠ fsé╠ê╩Æué≡ô╛éΘ
n := numeric(line[1:ps]) # fséµéΦæOé¬ n (numeric :ò╢ÄÜü¿ÉöÄÜò╧è╖)
s := line[ps+1:0] # fséµéΦîπé¬ s
/T1[n] := [] # T1é╔ né¬ keyé╞é╡é─æ╢ì▌é╡é╚éóé╚éτ
# T1é╔ né≡ keyé╞é╡é─üAï≤ listé≡ôoÿ^
put(T1[n],s) # tableé╠ key n é╠ value (list)é╔ sé≡Æ╟ë┴
}
}
L1 := sort(T1,1) # T1é≡ keyé┼ sortüiîïë╩é═ listé╠ list)
write("É«î`îïë╩")
every L2 := !L1 do { # L1é╠ùvæfé≡ ÅçăĵéΦÅoé╡é─
No := L2[1] # dataÄφò╩ No
every L3 := retrieve(L2[2],3) do { # L2[2]é╠ùvæfé≡ 3î┬é├é┬ĵéΦÅoé╖üB
writes(No) # dataÄφò╩ No é≡Åoù═
every writes(fs,!L3) # L3é╠ùvæfé≡ ÅçăÅoù═
write()
}
}
end
-----$ SHAPE03.ICN ( lines:43 words:194 ) ------------------<cut here
generatoré┼é╖üB shape03.icné⌐éτüAéRî┬ïµÉ╪éΦé┼âfü[â^é≡ò╘é╖ÄwÆΦé┼
î─é╬éΩé─éóé▄é╖üB
-----^ RETRIEVE.ICN ( date:97-05-17 time:10:48 ) -----------<cut here
# x(list é▄é╜é═ string)é╠ùvæfé≡ nî┬ïµÉ╪éΦé╔é╡é─üAòöò¬ list(é▄é╜é═string)
# é≡üAÅçăò╘é╖ generator
# î│é╠ listé═ò█æ╢
# Usage: every XX := retrieve(X) do {...}
# retrieve.icn Rev.1.2 1997/05/17 windy commentÅCÉ│
# retrieve.icn Rev.1.1 1997/05/16 windy
# This file is in the public domain.
# link retr # testùp
procedure retrieve(X,n)
/n := 1 # default
every m := 1 to *X by n do { # mé≡ 1é⌐éτ nö≥é╤é┼ Åçăæ¥ë┴é│é╣é─
suspend \X[m+:n] # listé╠ mö╘û┌é╠ùvæfé⌐éτ nî┬ùvæfé¬
# æ╢ì▌é╖éΩé╬ é╗éΩé≡Ælé╞é╡é─ò╘é╖üB
}
suspend X[(*X -n+1) < \m :0] # nî┬ïµÉ╪éΦé┼üAù]é┴é╜ùvæfé≡ò╘é╖üB
end
# ë≡Éα
# *X : Xé╠ size(ùvæfÉöé▄é╜é═Æ╖é│)
# /n : /é═ né¬ null(ÄwÆΦé¬û│éóÄ₧)é╠ checküB æ╢ì▌é╖éΩé╬é╗é╠Ælé≡Ä¥é┬üB
# X[m+:n] : list(é▄é╜é═ string)é╠ mé╠ê╩Æué⌐éτ nî┬ò¬é╠òöò¬üB
# \X[m+:n] : \é═ X[m+:n]é¬üAæ╢ì▌é╖éΩé╬é╞éóéñ checküBæ╢ì▌é╖éΩé╬é╗é╠Ælé≡Ä¥é┬üB
# \méαô»ùlé╔ mé╠Ælé¬æ╢ì▌é╖éΩé╬üAé╗é╠Ælé≡Ä¥é┬üB
# suspend : òíÉöé╠Ælé≡ò╘é╖ return
# a < b : ÉöÄÜöΣèr a < b é¬É¼ùºé╖éΩé╬üAbé≡Ælé╞é╡é─Ä¥é┬üB
-----$ RETRIEVE.ICN ( lines:27 words:131 ) -----------------<cut here
programé╛é»é┼üAù]éΦÉαû╛é╠û│éó Åæé½é▒é▌é┼é╡é╜é¬üA
üEé╚é⌐é╚é⌐ ò╧éφé┴é╜ programé╛é⌐éτüAêΩôxô«é⌐é╡é─é▌éµéñüB é╞é⌐
üEï@ö\é¬ ÉFüXéáéΦé╗éñé╛é⌐éτüAÄÄé╡é─é▌éµéñüB é╞é⌐
é¿ìléªé╠ò√é¬ éóéτé┴é╡éßéΘé╞ éñéΩé╡éóé┼é╖üB
é¿é▄é»é╔üAretrieve.icné╠ test programé≡òté»é─é¿é½é▄é╖üB
-----^ RETR.ICN ( date:97-05-17 time:19:23 ) ---------------<cut here
# retrieve.icné╠ test procedure
# retr.icn Rev.1.3 1997/05/17 windy commentÅCÉ│, test case Æ╟ë┴
# retr.icn Rev.1.2 1997/05/16 windy stringé╠ testc aseÆ╟ë┴
# retr.icn Rev.1.1 1997/05/16 windy
# testÄ₧é═üAretrieve.icné¬üAé▒é╠ procedureé≡ linké╖éΘüB
# This file is in the public domain.
link show_l
procedure main()
# test data
L0 := []
L1 := ["A1"]
L2 := ["A2","B2"]
L3 := ["A3","B3","C3"]
L4 := ["A4","B4","C4","D4"]
L5 := ["A5","B5","C5","D5","E5"]
L6 := ["A6","B6","C6","D6","E6","F6"]
# test
every L := retrieve(L0,2) do show_sl(L) ; write()
every L := retrieve(L1,2) do show_sl(L) ; write()
every L := retrieve(L2,2) do show_sl(L) ; write()
every L := retrieve(L3,2) do show_sl(L) ; write()
every L := retrieve(L4,2) do show_sl(L) ; write()
every L := retrieve(L5,2) do show_sl(L) ; write()
every L := retrieve(L6,2) do show_sl(L) ; write()
# test case Æ╟ë┴ Rev.1.2
s0 := ""
s1 := "A"
s2 := "AB"
s3 := "ABC"
s4 := "ABCD"
s5 := "ABCDE"
s6 := "ABCDEF"
every writes(" ",retrieve(s0,2)) ; write()
every writes(" ",retrieve(s1,2)) ; write()
every writes(" ",retrieve(s2,2)) ; write()
every writes(" ",retrieve(s3,2)) ; write()
every writes(" ",retrieve(s4,2)) ; write()
every writes(" ",retrieve(s5,2)) ; write()
every writes(" ",retrieve(s6,2)) ; write() # Rev.1.3 Æ╟ë┴
end
-----$ RETR.ICN ( lines:45 words:189 ) ---------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: éuéëéûéëéàéÄü^Ä┬î┤öⁿûτÄq
(nif0516c.txt 1997/05/16 niftyserve fgalts, 1997/05/17 PCVAN SLABO)
üí Icon > Iconë±éΦô╣üiéPüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö òùé┬é⌐éó
üiPCVANé╠ SLABOé┼üAùÉÉöé╠ÿbæΦé¬é┼é─éóé▄é╡é╜üBIconé┼ùÉÉöé≡é┬é⌐é┴é╜é▒é╞
é¬éáéΦé▄é╣é±é┼é╡é╜é╠é┼üAÿbæΦé╔æèŵéΦé╡é─ Iconé┼éαéΓé┴é─é▌é▄é╡é╜üB
âeü[â}é═üAéRîàé╠Ådòíé╡é╚éóùÉÉöé≡ô╛éΘüAé╞éóéñéαé╠é┼é╖üBüj
é╞éóéñé▒é╞é┼üAÄäéα Iconé╠ùÉÉöï@ö\é≡ Ägé┴é╜é▒é╞é¬üAéáéΦé▄é╣é±é┼é╡é╜
é╠é┼üAé╟éñéóéñ programé╔é╚éΘé⌐ éΓé┴é─é▌é▄é╡é╜üBüB
Iconé┼é═üA?10 é╞Åæé½é▄é╖é╞üA1ü`10ûÿé╠ùÉÉöé≡ö¡É╢é┼é½é▄é╖üB É│èmé╔é═
ùÉÉöù±é╠ì┼Åëé╠ÉöÄÜé≡ô╛éΘé▒é╞é¬é┼é½é▄é╖üB
ô»é╢ programôαé┼üAăé╔é▒é╠Ä« (?10) é≡ Ä└ìsé╖éΘé╞üAùÉÉöù±é╠éQö╘û┌é╠
ÉöÄÜé¬ô╛éτéΩé▄é╖üB
é┐é╚é▌üAò╢ÄÜù±é┼é═üA?"ABCDEFG" é╞Åæé¡é╞ "ABCDEFG"é⌐éτ randomé╔éPò╢
ÄÜ(1-byte character)ĵéΦÅoé╣é▄é╖üB
Iconé┼é═üAé▒é╠ùÉÉöù±é═ programé≡ë╜ôxÄ└ìsé╡é─éαô»é╢ùÉÉöù±é╞é╚éΦé▄é╖üB
êßéñùÉÉöù±é≡ô╛éΘé╜é▀é╔é═üAkeywordé╠ &randomé≡ò╧éªéΘé╞ë┬ö\é╛é╗éñé┼é╖üB
1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘ programé═ăé╠éµéñé╔é╚éΦ
é▄é╖üB
-----^ RANDOM01.ICN ( date:97-05-30 time:23:22 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# random01.icn 1997/05/30 windy Kazetsukai H.S.
# This file is in the public domain.
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö"
# command lineê°Éöé≡ ÉöÄÜé╔ò╧è╖é╡é─üAn(ì┼æσÆl),m(É╢ɼÉö)é╔âZâbâgüB
# ÉöÄÜé╔ò╧è╖é┼é½é╚é»éΩé╬üAUsageé≡ò\Īé╡é─ stop
{(n := numeric(args[1])) & (m := numeric(args[2]))} | stop(Usage)
#ü¬æOé╠ 2ìÇé╠é╟é┐éτé⌐
# Ä╕ösé╡é╜é╞é½
every writes(" ",rand(n) \m)
# ü¬generatoré╠É╢ɼÉöî└ÆΦ
write()
end
# 1 ü` nûÿé╠Éöé≡É╢ɼé╖éΘ generator(ÅçăüAÆlé≡ö¡É╢é╖éΘ procedure)
procedure rand(n)
repeat { suspend ?n }
#ü¬é¡éΦò╘é╡ #ü¬ #ü¬ ?né═üA1 ü` né╠ randomÉöé≡É╢ɼ
end #suspendé═üAgeneratoré╠ÅΩìçé╔Ägéñ return
-----$ RANDOM01.ICN ( lines:22 words:82 ) ------------------<cut here
random01 999 10 é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB ë╜ôxÄ└ìsé╡é─éαô»é╢Éöù±é¬Åoé─é½é▄é╖üB
üié╗éñéóéñÄdùlé┼é╖üBüj
-----^ RANDOM01 ( date:97-05-31 time:13:07 ) ---------------<cut here
212 413 316 510 422 306 80 737 51 717
-----$ RANDOM01 ( lines:1 words:10 ) -----------------------<cut here
É╢ɼé│éΩéΘÉöé╔ì┼Å¡Éöé≡É▌é»éΘ é╔é═üAÉ╢ɼé╡é╜Éöé¬é╗é╠ì┼šɺî└ÉöéµéΦżé│
é»éΩé╬û│Äïé╖éΘ é╞éóéñéΓéΦò√é¬ éáéΦé▄é╖üB é╗é╠éΓéΦò√é┼éΓéΦé▄é╖é╞üA
-----^ RANDOM02.ICN ( date:97-05-31 time:13:12 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÜ l ê╚Åπé╠Ælé╠éαé╠é╛é»é╞éóéñɺî└òté½
# random02.icn 1997/05/31 windy Kazetsukai H.S.
# This file is in the public domain.
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(l := numeric(args[3])) } | stop(Usage)
#ü¬æOé╠ 3ìÇé╠ éóé╕éΩé⌐é¬ Ä╕ösé╡é╜é╞é½
every writes(" ",(l <= rand(n)) \m)
#ü¬ a < b é═üAb é¬ aéµéΦæσé½é»éΩé╬ bé╠ÆlüAé│éαé╚é¡é╬Ä╕ös
write()
end
procedure rand(n)
repeat { suspend ?n }
end
-----$ RANDOM02.ICN ( lines:20 words:78 ) ------------------<cut here
random02 999 10 100é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB random01 999 10 100é╠îïë╩
é⌐éτüA100ûóû₧é╠ÉöÄÜé≡Å£éóé╜Éöù±é╔é╚é┴é─éóé▄é╖üB
-----^ RANDOM02 ( date:97-05-31 time:13:13 ) ---------------<cut here
212 413 316 510 422 306 737 717 138 336
-----$ RANDOM02 ( lines:1 words:10 ) -----------------------<cut here
É╢ɼé╖éΘÉöé╠ì┼Å¡Ælɺî└é╠ò╩é╠éΓéΦò√é┼é╖üB ɺî└é╠Ælé╛é»ì┼æσÆlé≡żé│éó
ö═ê═é┼É╢ɼé╡é─é¿éóé─üAîπé┼ɺî└é╠Ælé≡æ½é╖éΓéΦò√é┼é╖üB
-----^ RANDOM03.ICN ( date:97-05-31 time:13:14 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÜ ì┼żÆl l é╠ɺî└é╠Ädò√é≡üAé┐éσé┴é╞ò╧ìX
# random03.icn 1997/05/31 windy Kazetsukai H.S.
# This file is in the public domain.
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(l := numeric(args[3])) } | stop(Usage)
every writes(" ", rand(n,l) \m)
write()
end
# ì┼Å¡Ælé╠Ælé╛é»üAżé│é╚ö═ê═é╠ùÉÉöù±é≡ö¡É╢é│é╣é─üAîπé┼ì┼żÆlé≡æ½é╖üB
procedure rand(n,l)
repeat { suspend ?(n-l+1) +l-1 }
end
-----$ RANDOM03.ICN ( lines:19 words:69 ) ------------------<cut here
random03 999 10 100é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
-----^ RANDOM03 ( date:97-05-31 time:13:14 ) ---------------<cut here
290 471 384 559 479 375 171 763 145 745
-----$ RANDOM03 ( lines:1 words:10 ) -----------------------<cut here
é┐éσé┴é╞üAÆ╖é¡é╚éΦé▄é╡é╜é╠é┼üAæ▒é½é═ăé╓üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(pcv0531a.txt 1997/05/31 PCVAN SLABO)
üí Icon > Iconë±éΦô╣üiéQüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö òùé┬é⌐éó
æ▒é½é┼é╖üB ùÉÉöù± programÄ└ìsé╠ôxé╔üAô»é╢ùÉÉöù±é¬Åoé─é¡éΘé╠é┼é═üAé▄é╕éó
é╞é½é╔é═üAùÉÉöé╠Äφé≡ ùÉÉöé╔é╖éΘ procedureé¬ BIPL(Iconèεû{ library)é╔ ùLéΦ
é▄é╖é╠é┼üAé╗éΩé≡ linké╡é─üAùÉÉöù±ö¡É╢é╠æOé╔Ä└ìsé╡é▄é╖üB
-----^ RANDOM04.ICN ( date:97-05-31 time:14:41 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
# üÜ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
# random04.icn 1997/05/31 windy Kazetsukai H.S.
# This file is in the public domain.
link random # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(l := numeric(args[3])) } | stop(Usage)
randomize() # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
every writes(" ",(l <= rand(n)) \m)
write()
end
procedure rand(n)
repeat { suspend ?n }
end
-----$ RANDOM04.ICN ( lines:22 words:81 ) ------------------<cut here
random04 999 10 100 >> random04 é≡éRë±Ä└ìsé╡é╜Ä₧é╠îïë╩é┼é╖üB
-----^ RANDOM04 ( date:97-05-31 time:14:42 ) ---------------<cut here
915 779 671 354 132 841 951 141 188 431
991 377 762 412 594 935 972 385 197 257
719 544 516 449 344 185 504 279 790 634
-----$ RANDOM04 ( lines:3 words:30 ) -----------------------<cut here
é¿é┴é╞üAÅdòíé╡é╚éóÉöé╞éóéñÅ≡îÅéαéáéΦé▄é╡é╜é╦üB
é╖éΘé╞ É╢ɼé╡é╜Éöé≡èoéªé─é¿éóé─üAô»é╢Éöé¬Åoé─é½é╜éτû│Äïé╖éΘé╞éóéñÅêù¥é¬
òKùvé╔é╚éΦé▄é╖üB
ì\æóæ╠é╠ set (ÅWìç)é╔üAÉ╢ɼé╡é╜Åçé╔ôoÿ^é╡é─éóé¡éΓéΦò√é≡Ägéóé▄é╖é╞
ăé╠éµéñé╔é╚éΦé▄é╖üB
-----^ RANDOM05.ICN ( date:97-05-31 time:13:19 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
# üÖ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
# üÜ Ådòíé≡ö≡é»éΘüB
# random05.icn 1997/05/31 windy Kazetsukai H.S.
# This file is in the public domain.
link random # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(l := numeric(args[3])) } | stop(Usage)
randomize() # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
every writes(" ", uniq_rand(n,l) \m)
write()
end
# Ådòíé≡ö≡é»éΘ procedure
procedure uniq_rand(n,l)
static S
S := set()
every nn := rand(n,l) do {
if not member(S,nn) then {
insert(S,nn)
suspend nn
}
}
end
procedure rand(n,l)
suspend |(?(n-l+1) +l-1)
#ü¬ |é═üAÄ«é╠æOé╔òté¡é╞üAé¡éΦò╘é╡ generatoré╞é╚éΘüB
end
-----$ RANDOM05.ICN ( lines:36 words:111 ) -----------------<cut here
ùÉÉöù±é╠ö¡É╢é╠é╜é▀é╠é¡éΦò╘é╡Ä└ìsé╠òöò¬éαïCò¬é┼ò╧éªé─éóé▄é╖üB
repeaté╠æπéφéΦé╔ | é╞éóéñò\î╗é≡Ägé┴é─é▌é▄é╡é╜üB
é▒éΩé═Éöù±üEò╢ÄÜù±é╠é¡éΦò╘é╡ö¡É╢é≡ÄwÆΦé╖éΘÄ«é╔é╚éΦé▄é╖üB| é╞Éöù±üEò╢ÄÜù±
é≡ÄwÆΦé╖éΘÄ«é╠è╘é═ï≤é»é─é═éóé»é▄é╣é±üB
| é╞ăé╠Ä«é╠è╘é≡ï≤é»éΘé╞üA programé╠æOé╠ò√é╠ | stop(Usage) é╠éµéñé╔
alternation(ì╢æñé╠Ä«é¬Ä╕ösé╖éΘé╞ëEæñé╠Ä«é≡Ä└ìs)é╔é╚é┴é─é╡é▄éóé▄é╖üB
random05 999 10 100 é╞é╡é╜é╞é½é╠îïë╩é┼é╖üB
-----^ RANDOM05 ( date:97-05-31 time:13:18 ) ---------------<cut here
439 469 993 330 931 528 935 653 196 586
-----$ RANDOM05 ( lines:1 words:10 ) -----------------------<cut here
éáé┴üAÉöÄÜé≡żé│éóÅçé╔Åoé│é╚éóé╞éóé»é╚éóé±é┼é╡é╜é╦üB
é╖éΘé╞ sorté¬òKùvé╔é╚éΦé▄é╖üB æOé╠ programé┼ seté╔ÉöÄÜé≡ôoÿ^é╡é▄é╡é╜é╠é┼üA
é╗éΩé≡ sorté╡é─Åoù═é╡é▄é╖üB seté╓é╠ôoÿ^é═üAè∙é╔æOé╔ seté╔ôoÿ^é│éΩé─éóé─
éαû│Äïé│éΩé▄é╖üiÅπÅæé½é╚é╠é⌐üAôoÿ^é│éΩé╚éóé╠é⌐ò¬é⌐éΦé▄é╣é±üjé╠é┼üAé╗é╠
â`âFâbâNé═èOé╡é▄é╡é╜üB
-----^ RANDOM06.ICN ( date:97-05-31 time:01:28 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÖ l ê╚Åπé╠Ælé╠éαé╠é╛é» é╞éóéñɺî└òté½üB
# üÖ ö¡É╢é╖éΘÉöé≡ Ä└ìsé╖éΘôxé╔ ò╧éªéΘüB
# üÖ Ådòíé≡ö≡é»éΘüB
# üÜ sorté╡é─Åoù═
# random06.icn 1997/05/31 windy Kazetsukai H.S.
# This file is in the public domain.
link random # BIPLé╠ random.icné≡ linküBrandomizeé≡Ägùp
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(l := numeric(args[3])) } | stop(Usage)
randomize() # ü⌐ùÉÉöé╠Äφé≡ò╧éªéΘüB
every writes(" ", uniq_rand(n,m,l))
write()
end
# Ådòíé≡ö≡é»éΘ procedure
procedure uniq_rand(n,m,l)
static S
S := set()
while *S < m do insert(S,rand(n,l))
every suspend !sort(S)
end
procedure rand(n,l)
suspend |(?(n-l+1) +l-1)
end
-----$ RANDOM06.ICN ( lines:32 words:103 ) -----------------<cut here
random06 999 10 100 é╞é╡é╜é╞é½é╠îïë╩é┼é╖üB
-----^ RANDOM06 ( date:97-05-31 time:13:20 ) ---------------<cut here
241 292 388 400 495 711 896 904 937 969
-----$ RANDOM06 ( lines:1 words:10 ) -----------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(pcv0531b.txt 1997/05/31 PCVAN SLABO)
üí Icon > Iconë±éΦô╣üiéRüjÅdòíé╡é╚éóâëâôâ_âÇé╚ 10î┬é╠Éö òùé┬é⌐éó
éRîàé╠ÉöÄÜé╞éóéñÅ≡îÅé┼üAé╗é╠éαé╠âYâoâè ò╢ÄÜÉöé¬éRîà é╞éóéñéΓéΦò√é≡Åæé½ùÄé╞
é╡é▄é╡é╜üBé╗éñéóéñÅ≡îÅé╠ÅΩìçé═üAăé╠éµéñé╔é╚éΦé▄é╖üB
-----^ RANDOM07.ICN ( date:97-06-01 time:23:49 ) -----------<cut here
# Iconé┼ 1 ü` n é▄é┼é╠ randomé╚Éö é≡ mî┬ ö¡É╢é│é╣éΘâeâXâg
# üÜ dîàé╠Éöé╛é»é╞éóéñɺî└òté½
# random07.icn 1997/06/01 windy Kazetsukai H.S.
# This file is in the public domain.
procedure main(args)
Usage := "random01 ì┼æσÆl ö¡É╢Éö ì┼żÆl"
{(n := numeric(args[1])) & (m := numeric(args[2])) &
(d := numeric(args[3])) } | stop(Usage)
#ü¬æOé╠ 3ìÇé╠ éóé╕éΩé⌐é¬ Ä╕ösé╡é╜é╞é½
every writes(" ", 1(nn := rand(n), *nn = d) \m)
# ü¬ ü¬ *é═üAîàÉöüiò╢ÄÜÉöüjé≡ò\éφé╖üB
write() # übéQé┬é╠Ä«é╠éñé┐éPö╘û┌é╠Ä«é╠Ælé≡Ælé╞é╖éΘÄwÆΦüB
end
procedure rand(n)
repeat { suspend ?n }
end
-----$ RANDOM07.ICN ( lines:20 words:79 ) ------------------<cut here
rndom07 999 10 2 é╞é╡é╜ÅΩìçé╠îïë╩é┼é╖üB
-----^ RANDOM07.2 ( date:97-06-01 time:23:50 ) -------------<cut here
80 51 12 88 29 33 53 32 75 64
-----$ RANDOM07.2 ( lines:1 words:10 ) ---------------------<cut here
rndom07 999 10 3 é╞é╖éΩé╬üAé▒éñé╚éΦé▄é╖üB
-----^ RANDOM07.3 ( date:97-06-01 time:23:50 ) -------------<cut here
212 413 316 510 422 306 737 717 138 336
-----$ RANDOM07.3 ( lines:1 words:10 ) ---------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
(pcv0601a.txt 1997/06/01 PCVAN SLABO)
üí Icon > Iconë±éΦô╣üiéSüjUsageé¬üDüDüD òùé┬é⌐éó
éáéΩéΩüArandom02.icné⌐éτ random07.icné▄é┼üAæSòö Usageé╠âtâ@âCâïû╝é¬
random01é╠é▄é▄é┼é╖é╦üBéáé═é═üBéµé¡éΓéΦé▄é╖üB
ÉlÄΦé┼ÅCÉ│é╖éΘé╠é┼üAÿRéΩé¬é┼é▄é╖é╠é┼üAâvâìâOâëâÇÄ⌐Égé┼ì∞éτé╣éµéñé╞
é▒é±é╚ procedureé≡ì∞é┴é─é▌é▄é╡é╜üB
Iconé╔é═üAâvâìâOâëâÇû╝Å╠é≡Īé╖ keywordé¬éáéΦé▄é╖üB &prognameé┼é╖üB
&prognameé╔é═üAâfâBâîâNâgâèü[òté½é╠âtâ@âCâïû╝é¬ôⁿéΦé▄é╖üB
Usageé┼é═üAâfâBâîâNâgâèü[é╞ègÆúÄqé═üAÆ╩Åφ òsùvé┼é╖é╠é┼üAé╗éΩé≡ìφÅ£
é╡é─Ägéóé▄é╖üB
top_cut()é╞éóéñ procedureé┼üAâfâBâîâNâgâèü[é≡ìφÅ£é╡é─üA
top_get()é╞éóéñ procedureé┼üAègÆúÄqé≡Å£éóé─éóé▄é╖üB
üiÄQìlé╔ &prognameé╗é╠éαé╠éαò\Īé╖éΘéµéñé╔é╡é─éóé▄é╖üBüj
-----^ EXE_NAME.ICN ( date:97-06-02 time:19:06 ) -----------<cut here
# Usageé╠ fileû╝Æ∙É│ÿRéΩé≡ ûhé«é╜é▀é╠ fileû╝É╢ɼ procedure
# exe_name.icn 1997/06/02 windy Kazetsukai H.S.
# This file is in the public domain.
procedure exe_name()
write(&progname) # testùp
return top_get('.',top_cut('\\',&progname))
end
####################
# ò╢ÄÜù±é╠ ɵô¬é⌐éτô┴ÆΦò╢ÄÜé▄é┼é╠òöò¬ é≡ĵéΦïÄéΘüBì┼Æ╖òöò¬é≡ĵéΦïÄéΘüB
####################
# arg : cset
# value : string
# Usage : top_cut(c,s)
procedure top_cut(c,s)
/s := &subject # sé╠ÄwÆΦé¬é╚é»éΩé╬ &subject
/c := ' \t' # cé╠ÄwÆΦé¬é╚é»éΩé╬ spaceé⌐ tab
s ? { # sé≡æûì╕æ╬Å█é╞é╖éΘüB
while tab(upto(c)) do tab(many(c)) # cé¬î⌐é┬é⌐éΘî└éΦüAæûì╕ê╩Æué≡
# é╗é╠ò╢ÄÜé╠îπé╔ê┌ô«üB
return tab(0) # ÄcéΦé╠ò╢ÄÜù±é≡ò╘é╖üB
}
end
####################
# ò╢ÄÜù±é╠ ɵô¬é⌐éτô┴ÆΦò╢ÄÜé▄é┼é╠òöò¬ é≡ô╛éΘüBì┼ÆZòöò¬é≡ô╛éΘüB
####################
# arg : cset
# value : string
# Usage : top_get(c,s)
procedure top_get(c,s)
/s := &subject # sé╠ÄwÆΦé¬é╚é»éΩé╬ &subject
/c := ' \t' # cé╠ÄwÆΦé¬é╚é»éΩé╬ spaceé⌐ tab
s ? { # sé≡æûì╕æ╬Å█é╞é╖éΘüB
return tab(upto(c) | 0) # cé▄é┼æûì╕ê╩Æué≡ê┌ô«é╡é╗é╠è╘é╠
} # ò╢ÄÜù±é≡ò╘é╖üBcé¬é▌é┬é⌐éτé╚é»
# éΩé╬üAûûö÷é▄é┼ò╘é╖üB
end
-----$ EXE_NAME.ICN ( lines:40 words:132 ) -----------------<cut here
ÄgùpâTâôâvâïé┼é╖üB Usageé≡ò\Īé╖éΘé╛é»é╠âvâìâOâëâÇé┼é╖üB
-----^ NAME01.ICN ( date:97-06-02 time:01:46 ) -------------<cut here
# Usageé╠ fileû╝é╠Æ∙É│ÿRéΩé≡ûhé«é╜é▀é╠ fileû╝É╢ɼ procedure
# name01.icn 1997/06/02 windy Kazetsukai H.S.
# This file is in the public domain.
link exe_name
procedure main(args)
Usage := exe_name() || " é╚é±é╜éτé⌐é±é╜éτ é╟éñé╜éτé▒éñé╜éτ"
write(Usage)
end
-----$ NAME01.ICN ( lines:9 words:32 ) ---------------------<cut here
îïë╩é═é▒éñé╚éΦé▄é╖üBéPìsû┌é═üA&prognameé≡Īé╡é─éóé▄é╖üB
-----^ NAME01 ( date:97-06-02 time:19:08 ) -----------------<cut here
D:\ICON\LEC35\NAME01.EXE
NAME01 é╚é±é╜éτé⌐é±é╜éτ é╟éñé╜éτé▒éñé╜éτ
-----$ NAME01 ( lines:2 words:4 ) --------------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: é╗é╠é▄é▄é╠îNé┼éóé─ü^ë¬û{É^ûΘ
(pcv0601b.txt 1997/06/01 PCVAN SLABO)
üí Icon > Iconë±éΦô╣üiéTüja < b é¬Ælé≡éαé┬ òùé┬é⌐éó
üiIconé┼é═üAöΣèrÄ«é═ɼî≈é╖éΘé╞üAëEò╙é╠Ælé≡ĵéΦé▄é╖é¬üAé╗é╠Éαû╛é≡ PCVANé╠
SLABOé╠ë∩ïcÄ║é┼ é┐éσé┴é╞Éαû╛é╡é▄é╡é╜é╠é┼üAÄQìlé╔é╚éΘé⌐é╞üBüj
êΩö╩ôIé╔üAöΣèrÄ«é═üAɼùºé╖éΩé╬üAëEò╙é╠Ælé≡Ä¥é┐é▄é╖üB
ùßéªé╬üA
3 < 5 é╠Ælé═üA 5 é┼é╖üB
"A" << "B" é╠Ælé═üA "B" é┼é╖üB
é┼é╖é⌐éτüA
write(3 < 5) é═üA"5" é≡Åoù═é╡é▄é╖é╡üA
write("A" << "B") é═üA"B" é≡Åoù═é╡é▄é╖üB
üi < é═ÉöÄÜé╠öΣèrüB<< é═ò╢ÄÜù±é╠öΣèré┼é╖üB write()é═üAÉöÄÜé╠ÅΩìçé═
ò╢ÄÜé╔ò╧è╖é╡é─Åoù═é╡é▄é╖üBüj
Ä└ì█é╔é═üAëEò╙é≡ò╧Éöé╔é╡é─üAò╧Éöé¬öΣèrÅ≡îÅé╔êΩÆvé╖éΩé╬Åoù═é╖éΘ
é╞éóéñéµéñé╚ò\î╗é╔Ägéóé▄é╖üB
Iconé┼é═üAöΣèrÄ«é╔î└éτé╕üAæSé─é╠Ä«é¬Ælé≡Ä¥é┐é▄é╖üB é╗é▒é┼üA
write(if n < m then "NNN" else "MMM")
é╞éóéñéµéñé╚ò\î╗éαé┼é½é▄é╖üBé▒éΩé═üA
if n < m then write("NNN") else write("MMM")
é╞ô»é╢é▒é╞é╔é╚éΦé▄é╖üBé╢éßéáüAé▒é╠Ä«é╠Ælé═é╟éñé╚éΘé⌐é╞éóéñé╞üA
write()é═ê°Éöé╞ô»é╢Ælé≡Ä¥é┐é▄é╖é╠é┼üAÅoù═ò╢ÄÜé╞ô»é╢Ælé╔é╚éΦé▄é╖üB
write(if n < m then write("NNN") else write("MMM"))
é═üAô»é╢ò╢ÄÜé≡éQôxÅoù═é╡é▄é╖üB
é│é─üAÅ≡îÅé¬É¼ùºé╡é╚éóÅΩìçé┼é╖é¬üAé╗é╠ÅΩìçé═é╗é╠Ä«é═üyÄ╕ösüzé╡é▄é╖üB
üyÄ╕ösé╖éΘüzé╞éóéñé╠é═üAé╗é╠Ä«é¬û│éóé╠é╞ô»é╢é╞éóéñé▒é╞é╔é╚éΦé▄é╖üB
Ælé╞é╡é─é═ nullé╞é╚éΦé▄é╖üBé╞éóéñé⌐üAÆlé¬û│éóé╞éóéñî╛éóò√é¬ù╟éóé⌐éα
é╡éΩé▄é╣é±üB
Iconé╠è╓Éöé═üAnullé¬ê°Éöé┼é╖é╞üAÆ╩Åφé═üAé╗é╠è╓ÉöÄ⌐æ╠é¬Ä╕ösé╡é▄é╖üB
é▒é╠Ädùlé╠é╜é▀é╔üAò\î╗é≡ö±Åφé╔âRâôâpâNâgé╔é┼é½éΘé▒é╞éαæ╜éóé┼é╖üB
ô«ì∞âTâôâvâïé≡ăé¼é╔üB
-----^ A_B.ICN ( date:97-06-06 time:20:17 ) ----------------<cut here
# This file is public domain.
# Ä«é╠Ælé╠âTâôâvâï
procedure main()
write(3 < 5)
wriet(3 > 5) # é▒é╠Ä«é═Ä╕ösé╡é▄é╖üB
write("A" << "B")
n := 3
m := 5
write(if n < m then "NNN" else "MMM")
if n < m then write("NNNN") else write("MMMM")
write(if n < m then write("NNNNN") else write("MMMMM"))
end
-----$ A_B.ICN ( lines:12 words:52 ) -----------------------<cut here
command lineé⌐éτ a_b > a_b é╞é╡é╜Ä₧é╠îïë╩é┼é╖üB
-----^ A_B ( date:97-06-06 time:20:17 ) --------------------<cut here
5
B
NNN
NNNN
NNNNN
NNNNN
-----$ A_B ( lines:6 words:6 ) -----------------------------<cut here
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ë═éµéΦéαÆ╖é¡éΣéΘéΓé⌐é╔ü^Ä┬î┤öⁿûτÄq
(pcv0606a.txt 1997/06/06 PCVAN SLABO)
üí Icon > é┐éσé┴é╞ IconüiéTüjWicon beta8 òùé┬é⌐éó
Iconé╠ WindowsNT/95æ╬ë₧ö┼é≡ï▀é▓éδéóé╢é┴é─éóé▄é╖üB ô·û{îΩé═ûóé╛ëµû╩é╔
éñé▄é¡Åoé╣é╚éóé╠é┼é╖é¬üAé┐éσé┴é╞é▓Å╨ëεé╡é▄é╖üB
Iconé═üAArizonaæσèwé╠ Griswoldï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖é¬üA
WindowsNT/95æ╬ë₧é╠ Icon(Wicon)é═üAArizonaæσèwé╔éóé─üAé╗é╠îπ Texasæσèw
San AntonioìZ(UTSA)é╔ê┌é┴é╜ Jefferyï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖üB
î╗ì▌é═üAbetaö┼é┼ 8ö┼é╔é╚é┴é─éóé▄é╖üB ăé╠Åèé⌐éτôⁿÄΦé┼é½é▄é╖üB
<UTSA>
ftp://ringer.cs.utsa.edu/pub/icon/nt/graphics/
Index of /pub/icon/nt/graphics/
Name Last modified Size
docs.zip 26-Feb-97 16:47 38K
gprocs.zip 26-Feb-97 01:43 501K
iconhelp.zip 05-Mar-97 12:53 145K
keysyms.icn 08-Feb-96 00:00 3K
procs.zip 26-Feb-97 01:43 339K
READ.ME 06-Mar-97 00:53 4K
vdefns.icn 17-Jun-97 01:53 1K
vib.zip 26-Feb-97 02:31 122K
vibsrc.zip 26-Feb-97 01:43 261K
wi.bat 06-Mar-97 00:50 209K
wi.icn 06-Mar-97 00:50 14K
wi.zip 06-Mar-97 00:52 54K
wicon.zip 06-Mar-97 01:26 339K
<Arizona>
ftp://ftp.cs.arizona.edu/icon/beta/windows
Index of /icon/beta/windows
Name Last modified Size
docs.zip 06-Mar-97 20:12 38K
gprocs.zip 06-Mar-97 20:12 501K
iconhelp.zip 06-Mar-97 20:13 145K
keysyms.icn 06-Mar-97 20:23 3K
procs.zip 06-Mar-97 20:16 339K
READ.ME 06-Mar-97 20:21 4K
vib.zip 06-Mar-97 20:18 122K
vibsrc.zip 06-Mar-97 20:18 261K
wi.icn 06-Mar-97 20:23 14K
wi.zip 06-Mar-97 20:19 54K
wicon.zip 06-Mar-97 20:20 339K
UTSAé¬ originalé┼üAîπé┼ Arizonaæσèwé╓éαôoÿ^é│éΩé╜é▌é╜éóé┼é╖üB
MS-DOSö┼é╠ Iconé═üAô┴é╔ô·û{îΩæ╬ë₧ö┼é╞éóéñé╠é═éáéΦé▄é╣é±é¬üAò╢ÄÜù±
é≡ 1byteÆPê╩é┼üAæûì╕üEë┴ìHé╖éΘï@ö\é¬ö⌡éφé┴é─éóé▄é╖é╠é┼üAô·û{îΩæ╬ë₧é═
ô┴é╔üAIconÅêù¥îné≡éóé╢éτé╚é¡é─éαüAIcon Programmeræñé┼Åêù¥é┼é½é▄é╖üB
Windowsö┼éαüAô·û{îΩò╢ÄÜé¬ëµû╩é╔Åoé╣é│éªé╖éΩé╬üAîπé═ programmeræñé╞
é╡é─é═òsò╓é═û│éóé╞Ävé┴é─üAé╚é±é╞é⌐ô·û{îΩé¬ò\Īé┼é½é╚éóé⌐é╞ÉFüXÄÄé╡é─
éóé▄é╖üB
Windowsö┼é╠ Iconé═üAïNô«é╡é╜Å≤æ╘é┼üAéQé┬é╠ Windowé¬èJé½é▄é╖üB
éPé┬é═üAeditor-windowé┼üAéαéñéPé┬é═ console-windowé┼é╖üB
üEeditor-windowé┼é═üAô·û{îΩôⁿù═é═üAûΓæΦéáéΦé▄é╣é±üBò\Īéαénéjé╛é╡
ò█æ╢é╡é─ì─ôxô╟é▌é╛é╡é─éαæσÅΣòvé┼é╖üB
ìsûûé╠CRLFé¬üACRCRLFé╔é╚éΘéµéñé┼é╖é¬üAô«ì∞é═ûΓæΦéáéΦé▄é╣é±üB
üEconsole-windowé═üAòWÅÇÅoù═é≡ò\Īé╖éΘ windowé┼é╖é¬üAô·û{îΩé≡Åoù═
é╖éΘé╞ë╗é»é▄é╖üB
üEprogramé┼üAwindowé¬èJé»é▄é╖üBèJéóé╜ windowé╔é═üAâtâHâôâgÄwÆΦé¬
é┼é½é▄é╖üB ô·û{îΩé╠âtâHâôâgÄwÆΦéαùLî°é╚éαé╠é¬éáéΦé▄é╖üB
FixedSys é╞ System é═ÄwÆΦé╖éΘé╞ùLî°é▌é╜éóé┼é╖üB
é╡é⌐é╡üAô┴ÆΦâRü[âhé≡è▄é▐ò╢ÄÜé═éñé▄é¡ò\Īé┼é½é▄é╣é±üB
Shift-JISâRü[âhé≡Åoù═é╖éΘăé╠éµéñé╚ programé≡ì∞é┴é─ÄÄé╡é─é▌é▄é╡é╜üB
-----^ JCHAR02W.ICN ( date:97-07-05 time:21:53 ) -----------<cut here
# Show Japapense characters(Shift-JIS, output each character)
# This file is in the public domain.
# jchar02w.icn 1997/07/05 windy òùé┬é⌐éó H.S.
link hexcvt, convert, # BIPL èεû{ procedure library
wopen # GIPL WindowÄxëç procedure library
procedure main(args)
Usage := "jchar02w first_byte(hex) of the top char of char blocks. ex: 81"
if *args < 1 then stop(Usage) # ê°Éöû│é╡
jchar_out(inbase10(args[1],16)) # ê°Éöé≡ÉöÄÜé╔ò╧è╖
end
procedure jchar_out(n1)
# Shift-JISé╠ò╢ÄÜÅoù═ Åπê╩ n1üAë║ê╩ \x40-\x7E,\x80-\xFC é╠ò╢ÄÜé≡Åoù═
# arg : [1]:block_no
# window open
WOpen("size=550,250","bg=pale red",
"label=" || (s1 := hexstring(n1,2)) || "40-" || s1 ||
"FC : each character") | stop("can't open window")
Font("FixedSys") # fontÄwÆΦ
WWrite("dummy") # ì┼Åëé╠ò╢ÄÜé¬éñé▄é¡ò\Īé│éΩé╚éóîÅé╠æ╬ì⌠
WWrite(s1,"40 -> ",s1,"7E")
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>")
every n2 := 16r40 to 16r7E do { # Shift-JISò╢ÄÜÅoù═üiæOö╝üj
if ((16r40 < n2) % 32 = 0) then WWrite() # 32ò╢ÄÜé┼ëⁿìs
WWrites(char(n1) || char(n2)) # otuput each character(2 bytes)
}
WWrite()
WWrite()
WWrite(s1 := hexstring(n1,2),"80 -> ",s1,"FC")
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>")
every n2 := 16r80 to 16rFC do { # Shift-JISò╢ÄÜÅoù═üiîπö╝üj
if ((16r80 < n2) % 32 = 0) then WWrite()
WWrites(char(n1) || char(n2)) # output each character(2 bytes)
}
WWrite()
WDone() # q/QâLü[ôⁿù═æ╥é┐üiQé▄é╜é═qé≡ëƒé╖é╞ windowé≡ close)
return
end
-----$ JCHAR02W.ICN ( lines:41 words:245 ) -----------------<cut here
é▒éΩé≡üAê°Éö 91é┼ô«é⌐é╡é▄é╖é╞üA
9140 -> 917E
<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>
æ@æ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æ[æ\æ]æ^æ_
æ`æ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æ{æ|æ}æ~
9180 -> 91FC
<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>
æÇæüæéæâæäæà??æçæêæëæèæïæîæìæÄæÅæÉæææÆ??æö??æûæùæÿæÖ????æ£æ¥æ₧æƒ
æáæíæóæúæñæÑæªæºæ¿æ⌐æ¬æ½æ¼æ¡æ«æ»æ░æ▒æ▓æ│æ┤æ╡æ╢æ╖æ╕æ╣æ║æ╗æ╝æ╜æ╛æ┐
æ└?┴æ┬æ├æ─æ┼æ╞æ╟æ╚æ╔æ╩æ╦æ╠æ═æ╬?╧?╨æ╤æ╥æ╙æ╘æ╒?╓æ╫æ╪æ┘æ┌æ█æ▄æ▌æ▐?▀
æα????æπæΣæσæµæτæΦæΘæΩæδ??æφ??æ∩??????æ≤æ⌠æ⌡æ÷æ≈æ°????æ√æⁿ
é╞éóéñîïë╩é┼üA?é╠òöò¬é╠ò╢ÄÜé¬éñé▄é¡ò\Īé┼é½é▄é╣é±üB
üiMS-DOSé┼ô«é¡ô»é╢ programé╠Åoù═é╔üAWindowsö┼é╠ëµû╩é┼ë╗é»éΘòöò¬é╠
ÅCÉ│é≡ë┴éªé╜éαé╠é┼é╖üB ?é═ëµû╩Åπé═ÅcÆ╖üíò\Īé╔é╚é┴é─éóé▄é╖üBüj
î│üXëpîΩö┼é╠ WindowsNT/95ùpé╔èJö¡é│éΩé─éóé▄é╖é¬üAMS-DOSö┼é╠éµéñé╔üA
ô·û{îΩö┼é╠ WindowsÅπé┼ô«é⌐é╡é─üAô·û{îΩò╢ÄÜò\Īé¬üAé┘é┌ÄxÅßé╚éóéµéñé╔
é╚éΘé╞éóéóé╚é╞Ävé┴é─éóé▄é╖üB
é╞éóéñé▒é╞é┼üA Jefferyï│Ä÷é╔üAô·û{îΩö┼ Windows95é┼üAô«é⌐é╡é╜é╞é½é╠
âîâ|ü[âgé≡ æùé┴é─éóé▄é╖üB ô·û{îΩò\Īé≡îƒôóé╡é─é▌éµéñî╛é┴é─éóé╜é╛éóé─
éóé▄é╖é╠é┼üAô·û{îΩéαé┘é┌ÄxÅßé╚é¡ò\Īé┼é½éΘö┼é¬é┼é½éΘé⌐éαé╡éΩé▄é╣é±üB
é╚é╔é⌐ÄQìlÅæé¬û│éóé⌐é╞ò╖é⌐éΩé▄é╡é╜é╠é┼üAÄäéαô╟é±é┼éóé╚éóé╠é┼é╖é¬üA
"Developing International Software for Windows 95 and Windows NT"
é╞éóéñû{é≡Å╨ëεé╡é▄é╡é╜üBû≡é╔ùºé┬é╞ù╟éóé╠é┼é╖é¬üB
éáé┐éτé╔é═üAô·û{îΩö┼ Windows95éΓNTé═éáéΦé▄é╣é±é╠é┼üAâeâXâgö┼é≡ì∞é┴é─
éóé╜é╛éóé─üAé▒é┐éτé┼âeâXâgé╖éΘé▒é╞é╔é╚éΦé▄é╖üB
é┘é┌ô·û{îΩò\Īé╔ÄxÅßû│éóö┼é¬é┼é½é▄é╡é╜éτüAé▄é╜é¿Æméτé╣é╡é▄é╖üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
<Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
BGM: ïâé»é┐éßéñé┘é╟é╣é┬é╚éóé»éΩé╟ü^ë¬û{É^ûΘ
(pcv0705a.txt 1997/07/05 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
üí Icon > é┐éσé┴é╞ IconüiéUüjIcon Newsletter No.53 òùé┬é⌐éó
Iconé╠âTâ|ü[âgé═üAâAâèâ]âiæσèwé╠ Icon Project é┼ìsé┴é─éóé▄é╖é¬üAöNéQë±üA
Newsletteré≡ö¡ìsé╡é─éóé▄é╖üB
ê╚æOé═üAè≤û]Ä╥é╔ì√Äqé┼özòzé╡é─éóé▄é╡é╜é¬üAî╗ì▌é═ WEBé┼î⌐éΘé▒é╞é¬é┼é½
é▄é╖üB
No.53é¬î÷èJé│éΩé─éóé▄é╡é╜é╠é┼üAé▓ï╗ûíé╠éáéΘò√é═üAé╠é╝éóé─î⌐é─ë║é│éóüB
http://www.cs.arizona.edu/icon/newsletter/inl53/inl53.html
No. 53 -- August 1, 1997
Contents
Icon in Java
Icon Documentation in Japanese
Handbook of Programming Languages
Icon Analyst Promotional Offer
Programming Visualization Course
No.50ê╚ì~é═üAhttp://www.cs.arizona.edu/icon/newsletter/inl.html é⌐éτ
linké¬Æúé┴é─éáéΦé▄é╖üB û┌ăé≡é▓ÄQìlé╔üB
No. 52 -- April 1, 1997
Contents
Mail-Order Program Material
Teaching Icon
Web Links
Native Interface Components in Windows Icon 9.3
Programming Language Handbook
From Our Mail
Knowledge Explorer
No. 51 -- December 1, 1996
Contents
Third Edition of The Icon Programming Language
Graphics Programming Book
Version 9.3 of Icon
Version 9.3 of the Program Library
New MS-DOS Implementation
Icon in Java
Teaching Icon
Web Links
Chicon
No. 50 -- August 1, 1996
Contents
Third Edition of the Icon Book
New Implementations of Icon
Icon for Chinese Computing
Teaching Icon
Book Sale!
Web Links
From Our Mail
Å«üANo.44ê╚ì~é═üAăé╠Åèé╔ pdfî`Ä«é┼Æuéóé─éáéΦé▄é╖üB pdfî`Ä«âtâ@âCâïé╠ò\Ī
é╔é═ Acrobat Readeré¬òKùvé┼é╖é¬üAhttp://www.adobe.co.jp/ é⌐éτôⁿÄΦé┼é½é▄é╖üB
ftp://ftp.cs.arizona.edu/icon/doc
inl44.pdf 10-Aug-95 00:00 124K
inl45.pdf 10-Aug-95 00:00 187K
inl46.pdf 17-Oct-95 00:00 270K
inl47.pdf 25-Nov-95 00:00 268K
inl48.pdf 25-Nov-95 00:00 378K
inl49.pdf 17-Mar-96 00:00 550K
inl50.pdf 14-Jul-96 00:00 563K
inl51.pdf 05-Dec-96 00:00 508K
inl52.pdf 27-Mar-97 22:31 82K <-é▒éΩé═âTâCâYé¬é¿é⌐é╡éóé┼é╖é╦üB
ë≤éΩé─éóéΘé▌é╜éóüB
(î╗ì▌é═üAÉ│Åφé╚éαé╠é╔Æuè╖é│éΩé─
éóé▄é╖üB)
é¿é▄é»é╔üAIconè╓îWé╠ WEB LINKé≡éáé░é─é¿é½é▄é╖üB
http://www.cs.arizona.edu/icon/index.html
http://www.cs.utsa.edu/research/icon/icon.html
http://www.nmt.edu/tcc/help/lang/icon/homepage.html
http://www.eleves.ens.fr:8080/home/espie/icon/
http://www.crl.com/~spm/unicon/
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
<Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
(pcv0801a.txt 1997/08/01 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
üí Icon > é┐éσé┴é╞ IconüiéVüjIcon Ver9.3 (Windows95/NT) òùé┬é⌐éó
Iconé╠ Windows95/NTö┼é¬üAÉVé╡éóö┼é¬âèâèü[âXé│éΩé─é▄é╡é╜üB
ìíôxé╠ö┼é═üAâtâHâôâgé═î└ÆΦé│éΩé▄é╖é¬üAô·û{îΩéαëµû╩é╔Åoé╣é▄é╖üB
Iconé═üAArizonaæσèwé╠ Griswoldï│Ä÷üié╠âOâïü[âvüjé¬ èJö¡é╡é─éóé▄é╖é¬üA
WindowsNT/95æ╬ë₧é╠ Icon(Wicon)é═üAArizonaæσèwé╔éóé─üAé╗é╠îπ Texasæσèw
San AntonioìZ(UTSA) é╔ê┌é┴é╜ Jefferyï│Ä÷üié╠âOâïü[âvüjé¬èJö¡é╡é─éóé▄é╖üB
Windows95/NTö┼âtâ@âCâïé═üAăé╠é╞é▒éδé⌐éτôⁿÄΦé┼é½é▄é╖üB
ftp://ringer.cs.utsa.edu/pub/icon/nt/graphics/
README 4 Kb Fri Aug 08 16:13:00 1997
docs.zip 34 Kb Fri Aug 08 05:49:00 1997 Zip Compressed Data
iconhelp.zip 605 Kb Fri Aug 08 05:50:00 1997 Zip Compressed Data
ipl.zip 866 Kb Fri Aug 08 05:52:00 1997 Zip Compressed Data
keysyms.icn 3 Kb Thu Feb 08 00:00:00 1996
vib.zip 119 Kb Fri Aug 08 05:52:00 1997 Zip Compressed Data
vibsrc.zip 96 Kb Fri Aug 08 05:52:00 1997 Zip Compressed Data
wi.zip 53 Kb Fri Aug 08 05:52:00 1997 Zip Compressed Data
wicon.zip 631 Kb Fri Aug 08 05:53:00 1997 Zip Compressed Data
ÆåÉgé═üA
README : Éαû╛
docs.zip : Document
iconhelp.zip : Help file
ipl.zip : BIPL,GIPLé╠ Procedure
keysyms.icn : GIPL(èεû{âëâCâuâëâèü[üjé╔è▄é▄éΩéΘé¬ÅCÉ│é│éΩé─éóéΘé╞é╠é▒é╞üB
vib.zip : Visual Interface Builder üiIconé┼Åæé⌐éΩé╜âOâëâtâBâbâN
âCâôâ^ü[âtâFü[âXì∞ɼ âcü[âïé┼é╖üBüj
vibsrc.zip : ô»Åπé╠â\ü[âX
wi.zip : âëâôâ`ââü[
wicon.zip : âRâôâpâCâëüiâ\ü[âXé⌐éτÆåè╘î╛îΩÉ╢ɼüjé╞üiÆåè╘î╛îΩüjé╠
Ä└ìsë≡Ä▀Ä└ìs
é╞é╚é┴é─éóé▄é╖üB
Ä└ì█é╔ô«é⌐é╖é╔é═üAé▒é╠æ╝é╔ BIPLé¬òKùvé┼é╖üBé▄é╜üAGraphicé╠âTâôâvâïâvâìâOâëâÇ
é═üAGIPLüiâOâëâtâBâbâNâëâCâuâëâèü[üjé╔ôⁿé┴é─éóé▄é╖üB
ipl.zipé═üAGIPLé╠ôα procedureé≡ĵéΦÅoé╡é╜éαé╠é┼é╖üB
BIPLé╞ GIPLé═ăé╠Åèé╔éáéΦé▄é╖üB
ftp://ftp.cs.arizona.edu/icon/library/
README 1 Kb Sun Feb 16 13:08:00 1997
VQUEENS.NOTE 197 bytes Sun Jan 05 00:00:00 1997
bipl.lzh 1190 Kb Wed Nov 27 00:00:00 1996
bipl.sea.hqx 1652 Kb Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
bipl.tar.Z 1445 Kb Thu Nov 28 00:00:00 1996 Compressed Data
bipl.tar.gz 967 Kb Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
gipl.lzh 1092 Kb Wed Nov 27 00:00:00 1996
gipl.sea.hqx 1486 Kb Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
gipl.tar.Z 1821 Kb Thu Nov 28 00:00:00 1996 Compressed Data
gipl.tar.gz 1200 Kb Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
info.lzh 16 Kb Wed Nov 27 00:00:00 1996
info.sea.hqx 40 Kb Wed Nov 27 00:00:00 1996 Macintosh BinHex Archive
info.tar.Z 20 Kb Wed Nov 27 00:00:00 1996 Compressed Data
info.tar.gz 14 Kb Sun Feb 16 13:05:00 1997 GNU Zip Compressed Data
vqueens.icn 7 Kb Sun Jan 05 00:00:00 1997
âCâôâXâgü[âïé═é▒é±é╚è┤é╢é┼é╖üB
üyâfâBâXâNé╓é╠èiö[üz
D:\
+wicon
| |
| +wi.bat <--- wi.zipé⌐éτ
| +noop.bat <--- wicon.zipé⌐éτ
| +wicont.exe <--- wicon.zipé⌐éτ
| +wiconx.exe <--- wicon.zipé⌐éτ
| +xxxx.hlp <--- iconhelp.zipé⌐éτ
| |
|
+gipl
| +include
| | +aaa.icn <--- GIPLé╠ includeè╓îWâtâ@âCâïé≡é╗é╠é▄é▄ôⁿéΩéΘ
| +procs
| | +bbb.u1 <--- GIPLé╠ procedureé≡ Æåè╘î╛îΩé╔é╡é─ôⁿéΩé─é¿é¡
| | +bbb.u2
| +progs
| | +ccc.icn <--- GIPLé╠âvâìâOâëâÇ
| +my_procs
| | +ddd.u1 <--- Ä⌐ò¬é┼ì∞ɼé╡é╜ procedure
| | +ddd.u2
| +my_progs
| +fff.icn
|
+bipl
| +include
| | +hhh.icn <--- BIPLé╠ includeè╓îWâtâ@âCâïé≡é╗é╠é▄é▄ôⁿéΩéΘ
| +procs
| | +iii.u1 <--- BIPLé╠ procedureé≡ Æåè╘î╛îΩé╔é╡é─ôⁿéΩé─é¿é¡
| | +iii.u2
| |
| +progs
| | +jjj.icn <--- BIPLé╠ âvâìâOâëâÇ
| +my_procs
| | +kkk.u1 <--- Ä⌐ò¬é┼ì∞ɼé╡é╜ procedure
| | +kkk.u2
| +my_progs
| +lll.icn
|
é╞éóéñòùé╔âfâBâXâNé╔èiö[é╡é▄é╖üB
üyè┬ï½ò╧Éöé╠É▌ÆΦüz
ăé╠éSé┬é╠è┬ï½ò╧Éöé≡âZâbâgé╡é─é¿é½é▄é╖üB
IPATH=d:\gipl\procs d:\gipl\my_procs d:\bipl\procs d:\bipl\my_procs
LPATH=d:\gipl\include d:\bipl\include
ICONFONT=FixedSys
WICONLOG=d:\wicon\Wicon.log
IPATH é═Æåè╘î╛îΩî`Ä«é╔é╡é╜ Iconé╠ procedureé≡ôⁿéΩé─é¿é¡é╞üAæ╝é╠âvâìâOâëâÇ
é⌐éτé╠ linkÄwÆΦé┼üAé╗é╠ procedureé≡ê°ùpé┼é½éΘâfâBâîâNâgâèü[é╠ÄwÆΦé┼é╖üB
LPATH é═ â\ü[âXâvâìâOâëâÇé╠êΩòöé╞é╡é─üAæ╝é╠âvâìâOâëâÇé╠ $include ÄwÆΦé┼
é╗é╠ âvâìâOâëâÇé≡ê°ùpé┼é½éΘâfâBâîâNâgâèü[é╠ÄwÆΦé┼é╖üB
ICONFONT é═üAÄgùpâtâHâôâgé╠ÄwÆΦé┼é╖üBÄäé╠è┬ï½é┼é═üAFixedSysé╞ Systemé¬
ùLî°é▌é╜éóé┼é╖üB
WICONLOG é═üAô«ì∞âìâOé╠âtâ@âCâïÄwÆΦé▌é╜éóé┼é╖üBüiéµé¡ò¬é⌐éτé╚éóé╠é┼é╖é¬
ÄwÆΦé╡é╚éóé╞üAâRâôâpâCâïé╠ôxé╔ÄwÆΦé╡éδé╞âüâbâZü[âWé¬é┼éΘéαé╠é┼üBüj
üyïNô«üz
WI.BATé≡ïNô«é╖éΘé╞üAWiconé¬ïNô«é│éΩé─üAâGâfâBâ^ü[âEâBâôâhâEé¬èJé½é▄é╖üB
é╗é▒é⌐éτüAIconé╠â\ü[âXâvâìâOâëâÇé≡æIæ≡é╖éΘé⌐ÉVé╡éóâ\ü[âXâtâ@âCâïû╝é≡ôⁿù═
é╡é─üAâvâìâOâëâÇé≡ÅCÉ│ü^ì∞ɼé╡é─üAâRâôâpâCâïüimakeüjé╖éΩé╬üAÄ└ìsâéâWâàü[âï
é¬é┼é½é▄é╖üB é▒é╠ò╙é═üAÄ└ì█é╔ô«é⌐é╡é─î⌐é╜é┘éñé¬æüéóé┼é╡éσéñüB
üyâTâôâvâïüz
GIPLé╔âTâôâvâïé¬ôⁿé┴é─éóé▄é╖é╠é┼üAô«é⌐é╡é─é▌é─ë║é│éóüB
é╗é╠Æåé╠ GPXTEST.ICNé═üAGIPLé╠âTâôâvâïâvâìâOâëâÇé┼üAâOâëâtâBâbâNï@ö\é╠ô«ì∞
âeâXâgé╠âvâìâOâëâÇé┼é╖üBû╩öÆéóèGé¬é┼é─é½é▄é╖üB
Å«üAvqueens.icné═ÅCÉ│ö┼é¬éáéΦé▄é╖üBGIPLé╠Æåé╠éαé╠é═üAâtâ@âCâïòsæ½âGâëü[é¬é┼
é▄é╖üBÅCÉ│ö┼é¬ ftp://ftp.cs.arizona.edu/icon/library/vqueens.icn é╔éáéΦé▄é╖üB
üyâvâìâOâëâÇâ\ü[âXüz
âvâìâOâëâÇâ\ü[âXé═üA
ftp://ringer.cs.utsa.edu/pub/icon/nt/src/ é╔éáéΦé▄é╖üB
README 2 Kb Wed Aug 06 01:48:00 1997
c.zip 155 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
cmn.zip 72 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
h.zip 83 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
msvc50.zip 15 Kb Wed Aug 06 00:39:00 1997 Zip Compressed Data
p.zip 42 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
r.zip 364 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
rtl.zip 100 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
rtt.exe 275 Kb Fri Jan 26 00:00:00 1996 Binary Executable
t.zip 88 Kb Tue Aug 05 15:32:00 1997 Zip Compressed Data
wincap.zip 40 Kb Thu Feb 01 00:00:00 1996 Zip Compressed Data
üyô·û{îΩé╠ê╡éóüz
Iconé╠ò╢ÄÜù±Åêù¥é═üAéPâoâCâgÆPê╩é┼ìséóé▄é╖üBô·û{îΩé╠ò╢ÄÜé╠ïµÉ╪éΦé≡ê╙Ä»é╡
é╜âvâìâOâëâÇê╚èOé┼é═üAÄxÅßé═ïNé½é▄é╣é±üBô·û{îΩé╠ò╢ÄÜé╠ïµÉ╪éΦé≡ê╙Ä»é╖éΘé╠
é¬òKùvé╚éτé╗éñéóéñ procedureé≡ægé▀é╬ë┬ö\é┼é╖üB
é╡é⌐é╡üAëµû╩Åoù═é═é▄é╜ò╩ûΓæΦé┼é╖üBWindows95/NTè┬ï½é┼üAëµû╩é╠ò╢ÄÜé≡Åoù═é╖
éΘì█é╔é═üAî╗âoü[âWâçâôé┼é═ ăé╠ɺî└é¬éáéΦé▄é╖üB
üEâtâHâôâgé╠ɺî└
âtâHâôâgÄwÆΦé¬üAÄ⌐ùRé╔é═é┼é½é╚éóüBFixedSysé╞ Systemé╠ÄwÆΦé═ùLî°é▌é╜
éóé┼é╖üB
üEô·û{îΩÅoù═é╠éΓéΦò√
âRâôâ\ü[âïâEâBâôâhâEé╓é╠ô·û{îΩò╢ÄÜÅoù═éΓüAÉ╢ɼé╡é╜âEâBâôâhâEé╓é╠ô·û{
îΩò╢ÄÜÅoù═é┼é═üAâoâCâgÆPê╩é┼Åoù═é╖éΘé╞ò╢ÄÜé¬ë╗é»é▄é╖üBò╢ÄÜüiéQâoâCâgüj
ÆPê╩é┼Åoù═é╖éΩé╬æσÅΣòvé┼é╡é╜üB
é┼é╖é⌐éτüAò╢ÄÜù±é≡ò\Īé│é╣éΘé╔é═üAÄxÅßé═éáéΦé▄é╣é±üB
üié▄é╜üAâtâ@âCâïé╔Åoù═é╖éΘò¬é╔é═ûΓæΦéáéΦé▄é╣é±üj
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
<Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
(pcv0810a.txt 1997/08/10 PCVAN PIG,SLABO,niftyserve FPL,FGALTS)
üí Icon > IconÄUòαô╣ é▐é╖é╤ òùé┬é⌐éó
ÄUòαô╣é┼é═üAâeâLâXâgë≡É═é≡éΓéδéñé╞Ävé┴é─éóé╜é╠é┼é╖é¬üAûwé╟ ê╚æOé╠ìuì└
é╠â~âXÅCÉ│é╞ Ävéóé┬é½ programé╠ë≡Éαé╔é╚é┴é─é╡é▄éóé▄é╡é╜üB
ÄUòαô╣é┼ù\ÆΦé╡é─éóé▄é╡é╜ ÉöÄ«ë≡É═é╞é⌐é═ æSæR ÄΦé≡é┬é»é─éóé▄é╣é±é¬ ÅHéα
ÅIéφéΦé┼é╖é╠é┼üAé▒é╠ò╙é┼ IconÄUòαô╣ é≡ÅIéφéΘé▒é╞é╔é╡é▄é╖üB
é¿òté½ìçéóéóé╜é╛é½é▄é╡é─üAéáéΦé¬é╞éñé▓é┤éóé▄é╡é╜üB
é┼é═üAé▄é╜üAé¿ë∩éóé╖éΘô·é▄é┼üB
òùé┬é⌐éó (TRA11936@biglobe.ne.jp/PFF01531@niftyserve.or.jp)
< Iconé╠WWWé═üAhttp://www.cs.arizona.edu/icon/index.html>
(iconlec4.txt 1997/11/24)