struct foo {
char a;
int b;
char c;
};
ãã®ãšãã䞊ã¹ãããé ã« a,b,c ã§å²ãåœãŠãããã
a,c,b ãšããæ¹ããããŠãè©°ãç©ãå°ãªããšæãã®ã§ã
---
è€äºå®æ²
ãããèŠæ Œã ããããšããçããããããŸããã
>
> struct foo {
> char a;
> int b;
> char c;
> };
>
> ãã®ãšãã䞊ã¹ãããé ã« a,b,c ã§å²ãåœãŠãããã
> a,c,b ãšããæ¹ããããŠãè©°ãç©ãå°ãªããšæãã®ã§ã
ãªãã³ãä¿èšŒãããŠããªããšããã£ã¡ãå°ããŸããã©ãçè§£ã§ããŸããïŒ
ããšãCPUã«ãããŸãããè€æ°ãã€ãã®åæã¢ã¯ã»ã¹ãåäŒãæ°ã«ããªããŠã
è¯ããã®ããããŸããã§(intelç³»ãšã)ã³ã³ãã€ã©ã«ãã£ãŠã¯ãããã³ã°ãã
ããšããããŸãã
ãŸããèšèšãšããŠãäžèšã®ãããªããšããããªãã®ãåºæ¬ã§ãã
ïŒã£ãŠèšã£ãŠããã ãã©ãæè¿64bitã®ããã°ã©ã æžããŠãããšãã©ãããŠã
ïŒ32bitã®çã§ãããŸã«8byteããŠã³ããªãå¿ãã¡ããã:-PãŸããããŠãã¯æ°
--
___ ããã¯ãå±±å¹è²ã®ãããŠãŒãã倧奜ãã§ã®ã
[[o o]] ãµãã£ãµãã£ãµã
'J' æ£®äž ã代宿§ ïŒïœïŒ®ïŒïŒ¯ïŒ³ è±å€«ïŒ ã¹ãã©ã¯ã©ãã
PGP Finger = CD EA D5 A8 AD B2 FE 7D 02 74 87 52 7C B7 39 37
struct foo {
int a;
int b;
int c;
char s[1];
};
ã®ããã«æ§é äœã宣èšããŠãããŠãä»»æã®é·ãã®é åã
malloc()ããŠããstruct foo *ã«ãã£ã¹ãããŠäœ¿ããªã
ãŠããšããããã®ããã°ã©ã ã¯ãããã£ãŠãŸãããã€ãŸ
ãsã«ä»»æã®é·ãã®é åãå²ãåœãŠããããã§ãã
åŠçç³»ãã¡ã³ããŒã®å²ãåœãŠé åºãèªç±ã«å€æŽããŠãã
ããšã«ãªã£ããããã®æã®ããã°ã©ã ã¯åããªããªãå¯
èœæ§ããããŸããã
--
倪ç°çŽ(Junn Ohta) (æ ª)ãªã³ãŒ/æ°æšªæµäºæ¥æ
oh...@sdg.mdd.ricoh.co.jp
> > æ§é äœã®ã¡ã³ãã®èšæ¶åã¯äžŠã¹ãããé ã«å²ãåœãŠããããšãšãªã£ãŠããŸããã
> > ããã«ã¯äœãçç±ããããŸããã
>
> struct foo {
> int a;
> int b;
> int c;
> char s[1];
> };
>
> ã®ããã«æ§é äœã宣èšããŠãããŠãä»»æã®é·ãã®é åã
> malloc()ããŠããstruct foo *ã«ãã£ã¹ãããŠäœ¿ããªã
> ãŠããšããããã®ããã°ã©ã ã¯ãããã£ãŠãŸãããã€ãŸ
> ãsã«ä»»æã®é·ãã®é åãå²ãåœãŠããããã§ãã
æã©ãããâŠWindows ã§ã¯ããŸã ã«çŸåœ¹ã§ãã(ç¬)
ãšã¯ãã£ãŠããå¯å€é·ã®æ§é äœãšããã®ã¯ãããªäœ¿ãæ¹âãããã®ãæ®éã§ããã
HOGE *pHoge=malloc(sizeof HOGE);
pHoge->dwSize = sizeof HOGE;
result = GetSomething(pHoge);
if (result == NULL) // é åäžè¶³ãdwSize ã«å¿
èŠãµã€ãºãè¿ããã
{
pHoge = realloc(pHoge, pHoge->dwSize);
result = GetSomething(pHoge);
}
æ§é äœ HOGE ã®ãµã€ãºã Windows ã®ããŒãžã§ã³ã¢ãããšãšãã«å¢ããŠããã®ã§ã
å€ãã³ã³ãã€ã©ã§ã³ã³ãã€ã«ããã³ãŒããæ°ããããŒãžã§ã³ã® Windows ã§ãå
ãããã«ããããã«ãããããããªãã¯ã䜿ããŸãã
éã«ãSetSomething(pHoge) ãªããŠã³ãŒããæžããšãå
é ã® pHoge->dwSize ã
ã€ãã ããèªèãããŠããã®å
ã®é åïŒå€ãã³ã³ãã€ã©ã§ã¯é å確ä¿ãããŠããª
ãããããŽããå
¥ã£ãŠããïŒã¯ç¡èŠãããŸãã
========================================================================
é£¯å¶ æµ©å
/ ã§ããããã»ããã㟠http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp
âââã宣äŒ/ADVERTISEMENTãââââââââââââââââââââââ
fj.os.ms-windows.server2003 ãŸã㯠fj.os.ms-windows.server ã®æ°èšã®å¯åŠ
ãåãæç¥šã宿œäžã§ãã
fj.news.group.comp ããåç
§ã®ããããµãã£ãŠãæç¥šãã ããã
æç¥šæé㯠8/25(æ)ã§ãã
ââââââââââââââââââââââââââââââââââââ
In article <3F462AE0...@ht.sakura.ne.jp>, IIJIMA Hiromitsu <delm...@ht.sakura.ne.jp> writes
> pHoge = realloc(pHoge, pHoge->dwSize);
> result = GetSomething(pHoge);
ã§ãrealloc ã¯çµ¶å¯Ÿã«å€±æããªããšãããããããšãªã®ãã
> æ§é äœ HOGE ã®ãµã€ãºã Windows ã®ããŒãžã§ã³ã¢ãããšãšãã«å¢ããŠããã®ã§ã
> å€ãã³ã³ãã€ã©ã§ã³ã³ãã€ã«ããã³ãŒããæ°ããããŒãžã§ã³ã® Windows ã§ãå
> ãããã«ããããã«ãããããããªãã¯ã䜿ããŸãã
ãã ... binary ã¯ãªã³ã³ãã€ã«ãããªããš....
---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
æ²³éçæ²» @ çç倧åŠå·¥åŠéšæ
å ±å·¥åŠç§,
ç§åŠæè¡æ¯èäºæ¥å£ããããç ç©¶21(æ©èœãšæ§æ)
In article <871xve...@anago2.mas.chi.its.hiroshima-cu.ac.jp>
Fujii Hironori <fu...@chi.its.hiroshima-cu.ac.jp> writes:
> æ§é äœã®ã¡ã³ãã®èšæ¶åã¯äžŠã¹ãããé ã«å²ãåœãŠããããšãšãªã£ãŠããŸããã
> ããã«ã¯äœãçç±ããããŸããã
ã¯ããããŒããŠã§ã¢ã®ã¬ãžã¹ã¿ãå©ãæã«ãæžããéãã®é çªã§ãª
ããšå°ãããã§ããèšèªã¯ïŒ¯ïŒ³ã®ã«ãŒãã«ãèšè¿°ããããã«äœã
ããèšèªãªã®ã§ã
> struct foo {
> char a;
> int b;
> char c;
> };
> ãã®ãšãã䞊ã¹ãããé ã« a,b,c ã§å²ãåœãŠãããã
> a,c,b ãšããæ¹ããããŠãè©°ãç©ãå°ãªããšæãã®ã§ã
çµå±ãå
¥ãæ¿ãå¯èœã ã£ãå Žåã¯ãããã°ã©ãã«å
¥ãæ¿ããŠããã
ã°ãããšããã®ããèšèªã®ææ³ã§ãã
In article <squ7k56...@stellar.co.jp>
man...@stellar.co.jp (Hideo "Sir MaNMOS" Morishita) writes:
> > ãã®ãšãã䞊ã¹ãããé ã« a,b,c ã§å²ãåœãŠãããã
> > a,c,b ãšããæ¹ããããŠãè©°ãç©ãå°ãªããšæãã®ã§ã
> ãªãã³ãä¿èšŒãããŠããªããšããã£ã¡ãå°ããŸããã©ãçè§£ã§ããŸããïŒ
å¥ã«ãããã¡ããã¡ããã¯ãå°ããªãããããªãããªãããã£ãã
ãã質åãããŠãããŠããã®ã«ããªã«ããããŸã§èšããªããŠãã
æã§é åºãå
¥ãæ¿ããŠããœãŒã¹ãåã³ã³ãã€ã«ããŠåããããªãã
ã°ã©ã ã®å Žåãã³ã³ãã€ã©ã§èªåçã«å
¥ãæ¿ããŠãçµè«ã¯åãã§ãã
ãããªããã°ã©ã ãæžããŠããéãã¯ãå°ãããšã¯ãããŸããã
ä»ãšãªã£ãŠã¯ãæšæºã§ã³ã³ãã€ã©ã«æ§é äœã®é çªã®å
¥ãæ¿ããèš±ã
ããšã«ããæ¹ããæé©åãå¹ããŠãããã§ããããããã£ãã·ã¥ã®
é¢ä¿ã§ãé çªãå
¥ãæ¿ããããæå³çã«ç©Žããããããããšããã
ã°ã©ã ãéããªãããšããããŸãããã®æã®æé©åã¯ãã«äŸ
åããã®ã§ãæ¬æ¥ã¯ããã°ã©ããããä»äºã§ã¯ãããŸãããã³ã³ã
ã€ã©ã®ä»äºã§ãã
ïŒŒïŒŒãæ°åãéãïŒãããããããããïŒã
ãçæ³¢å€§åŠãé»åã»æ
å ±ããããããã
> ã¯ããããŒããŠã§ã¢ã®ã¬ãžã¹ã¿ãå©ãæã«ãæžããéãã®é çªã§ãª
> ããšå°ãããã§ããèšèªã¯ïŒ¯ïŒ³ã®ã«ãŒãã«ãèšè¿°ããããã«äœã
> ããèšèªãªã®ã§ã
粟ç¥ãšããŠã¯ããããããšã§ããããïŒã©ããããŒã¿ãã«ã«ã¯æžããªãéšåãª
ãã ãã©ïŒãªãã¹ãstructå®çŸ©ããã¡ã¢ãªå
ã§ã®ã¬ã€ã¢ãŠããäºæž¬ã§ãããã
ã«ããŠçœ®ãããïŒããéã®paddingã«é¢ããŠã¯ïŒå¢çã«æŽåããªããšåããªã
(å¹çãèœã¡ã)CPUãå€ããããããããªããã©ïŒæ¬åœã®æ°æã¡ãšããŠã¯ïŒã
ã®èŸºããã£ã¡ãèšè¿°ã§ããæ¹ããããã(ããããã£ãŒã«ãã)ïŒ
ä»ã®èŠæ Œã§ã¯ïŒåã«äžŠã³é ãä¿èšŒããã ãã§ïŒããéã¯å¶åŸ¡ã§ããªã(ã³ã³ã
ã€ã«ããŠè©ŠããŠã¿ããããªã)ã§ããã©ãïŒ
> ä»ãšãªã£ãŠã¯ãæšæºã§ã³ã³ãã€ã©ã«æ§é äœã®é çªã®å
¥ãæ¿ããèš±ã
> ããšã«ããæ¹ããæé©åãå¹ããŠãããã§ããããããã£ãã·ã¥ã®
> é¢ä¿ã§ãé çªãå
¥ãæ¿ããããæå³çã«ç©Žããããããããšããã
> ã°ã©ã ãéããªãããšããããŸãããã®æã®æé©åã¯ãã«äŸ
> åããã®ã§ãæ¬æ¥ã¯ããã°ã©ããããä»äºã§ã¯ãããŸãããã³ã³ã
> ã€ã©ã®ä»äºã§ãã
飯å¶ããã®äŸã«ããããŸãããïŒWindowsãX Windowã®ããã«ïŒCã§å€æ
ãã©ã
ãããããæã«ïŒå
é ã®å
±ééšåãåããªãã»ããã«å²ãä»ããããªããšå°ã
ãŸããã?
(C++ã䜿ããšïŒå é ã«vtbl_ptrãå ¥ã£ã¡ãã£ããâŠ)
åç°æŠåž
In article <m3bruhb...@maedapc.cc.tsukuba.ac.jp>
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> 飯å¶ããã®äŸã«ããããŸãããïŒWindowsãX Windowã®ããã«ïŒCã§å€æ
ãã©ã
> ãããããæã«ïŒå
é ã®å
±ééšåãåããªãã»ããã«å²ãä»ããããªããšå°ã
> ãŸããã?
倿 ãšæ¥ãŸãããããããã
ããããæã«ã¯ãXDR (SunRPCã®marshalingæ¹åŒ) ãäœãã䜿ã£ãŠã
ãã£ããã³ããŒãããšããããããªãã§ããããã
ã³ããŒãéãããšããããšãªãããã£ãŒãã¢ã¯ã»ã¹é¢æ°ã®ãããªã
ã®ãçæãããšããããšããããã®ã³ãŒãã«å¯ŸããŠ
specialization ããããŠé«éåããŸããåçŽãªã³ããŒãã¢ã¯ã»ã¹
颿°ã¯æ¶ããŠããŸãããããªãããªã
ãšããã
In article <m3bruhb...@maedapc.cc.tsukuba.ac.jp>, MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes
> 粟ç¥ãšããŠã¯ããããããšã§ããããïŒã©ããããŒã¿ãã«ã«ã¯æžããªãéšåãª
> ãã ãã©ïŒãªãã¹ãstructå®çŸ©ããã¡ã¢ãªå
ã§ã®ã¬ã€ã¢ãŠããäºæž¬ã§ãããã
> ã«ããŠçœ®ãããïŒããéã®paddingã«é¢ããŠã¯ïŒå¢çã«æŽåããªããšåããªã
> (å¹çãèœã¡ã)CPUãå€ããããããããªããã©ïŒæ¬åœã®æ°æã¡ãšããŠã¯ïŒã
> ã®èŸºããã£ã¡ãèšè¿°ã§ããæ¹ããããã(ããããã£ãŒã«ãã)ïŒ
ãã®ããããããããªããšãç°ãªãã³ã³ãã€ã©ã®éã®äºææ§ããªã
ãªããŸã... ã§å®éãäºææ§ããªãå Žåãããã¿ãããã²ã©ã...
pragma ã§æå®ãããšå€æŽã§ããã¿ãããªãã®ããããŸãããã
> 飯å¶ããã®äŸã«ããããŸãããïŒWindowsãX Windowã®ããã«ïŒCã§å€æ
ãã©ã
> ãããããæã«ïŒå
é ã®å
±ééšåãåããªãã»ããã«å²ãä»ããããªããšå°ã
> ãŸããã?
union ã§æžãã°ãããã§ããããã©... ç²ããŸãããã
ã¬ãžã¹ã¿ã¯çªå°ããããªããšæã£ãŠããã®ã§ããã
çªå°ã®ãªãã¬ãžã¹ã¿ã«é çªãã©ã圱é¿ããã®ãçè§£ã§ããŸããã
---
è€äºå®æ²
ã¡ã¢ãªãããã I/O ãšããããªãã§ãã,
ããš, ã¹ãã¿ã¯ãã¬ãŒã ãããæ.
ãã®ãããªå¯å€é·ã®æ§é äœã¯ã䞊ã¹ãããé ã«å²ãåœãŠããšå®ããèŠæ Œã
æ¡å€§è§£éããèŠæ Œã®ä¹±çšã ãšèª°ããèšã£ãŠãã®ã§ãã ... èŠã€ãããªãã
å€åããã®ãããªå¯å€é·ã®æ§é äœãæžãããã«ãã®ãããª
仿§ã«ããŠããã®ã§ã¯ãªãæ°ãããã
---
è€äºå®æ²
> > ã¬ãžã¹ã¿ã¯çªå°ããããªããšæã£ãŠããã®ã§ããã
> > çªå°ã®ãªãã¬ãžã¹ã¿ã«é çªãã©ã圱é¿ããã®ãçè§£ã§ããŸããã
>
> ã¡ã¢ãªãããã I/O ãšããããªãã§ãã,
> ããš, ã¹ãã¿ã¯ãã¬ãŒã ãããæ.
CPU ã«ãã£ãŠã¯ãè€æ°ã®ã¬ãžã¹ã¿ã®å
容ããŸãšããŠã¡ã¢ãªã«æžãåºãããããã
ã¬ãžã¹ã¿ã«æžãæ»ãããããåœä»€ããããŸãããããšãã° x86 ã® pusha/pushadã
> > pHoge = realloc(pHoge, pHoge->dwSize);
> > result = GetSomething(pHoge);
>
> ã§ãrealloc ã¯çµ¶å¯Ÿã«å€±æããªããšãããããããšãªã®ãã
ãããæ¬åœã¯ãã¡ããšãšã©ãŒåŠçããŸãã
ä»åã¯ãµã³ãã«ã³ãŒããªã®ã§çããã®ã§ããããã®æšæžãå¿ããŠãŸããã
> > æ§é äœ HOGE ã®ãµã€ãºã Windows ã®ããŒãžã§ã³ã¢ãããšãšãã«å¢ããŠããã®ã§ã
> > å€ãã³ã³ãã€ã©ã§ã³ã³ãã€ã«ããã³ãŒããæ°ããããŒãžã§ã³ã® Windows ã§ãå
> > ãããã«ããããã«ãããããããªãã¯ã䜿ããŸãã
>
> ãã
... binary ã¯ãªã³ã³ãã€ã«ãããªããš....
Windows ã®äžçã§ã¯ã³ã³ãã€ã©æã£ãŠã人ã®ã»ããå°æ°æŽŸã§ãããâŠ
ãã€ããªã ãã§æµéãããšãããããããœãŒã¹éå
¬éãšããããããã®ãæ
ïŒDOS ã®æä»£ïŒããåœããåã§ãããããã
ã§ãã¡ã³ããã倱螪ããŠãã€ããªã ãæŸçœ®ãããŠããäŸã¯æ°ç¥ããâŠ
> ä»ãšãªã£ãŠã¯ãæšæºã§ã³ã³ãã€ã©ã«æ§é äœã®é çªã®å
¥ãæ¿ããèš±ã
> ããšã«ããæ¹ããæé©åãå¹ããŠãããã§ããããããã£ãã·ã¥ã®
> é¢ä¿ã§ãé çªãå
¥ãæ¿ããããæå³çã«ç©Žããããããããšããã
> ã°ã©ã ãéããªãããšããããŸãããã®æã®æé©åã¯ãã«äŸ
> åããã®ã§ãæ¬æ¥ã¯ããã°ã©ããããä»äºã§ã¯ãããŸãããã³ã³ã
> ã€ã©ã®ä»äºã§ãã
埡æãã§ããæšæºã©ã€ãã©ãªãšãã·ã¹ãã ã³ãŒã«ãšãã§äœ¿ãæ§é äœã¯äœããã®åœ¢
ã§ãã³ã³ãã€ã«ãªãã·ã§ã³ã«é¢ä¿ãªãåãæ§é ã«ãªãããšããããšãä¿èšŒãããŠ
ããªããšãŸãããããªã-march=i386 ãš -march=pentium4 ã§äžŠã³é ãéã£ããã
libc ãšã®ãªã³ã¯ã®éã«å°ããŸãã
Windows ãªããã§ã¯ #pragma pack(1) ã®åµã§ããã©ãUNIX ç³»ã®äžçã§ãçµå±ã¯
#pragma ã§åŠçããããšã«ãªããã§ããããã
========================================================================
é£¯å¶ æµ©å
/ ã§ããããã»ããã㟠http://www.ht.sakura.ne.jp/~delmonta/
IIJIMA Hiromitsu, aka Delmonta mailto:delm...@ht.sakura.ne.jp
âââã宣äŒ/ADVERTISEMENTãââââââââââââââââââââââ
fj.os.ms-windows.server2003 ãŸã㯠fj.os.ms-windows.server ã®æ°èšã®å¯åŠ
ãåãæç¥šã宿œäžã§ãã
fj.news.group.comp ããåç
§ã®ããããµãã£ãŠãæç¥šãã ããã
æç¥šæé㯠8/25(æ)ã§ããæéãè¿ãã®ã§ãæ¥ããïŒ
ââââââââââââââââââââââââââââââââââââ
> In article <871xve...@anago2.mas.chi.its.hiroshima-cu.ac.jp>,
> Fujii Hironori <fu...@chi.its.hiroshima-cu.ac.jp> writes:
> > æ§é äœã®ã¡ã³ãã®èšæ¶åã¯äžŠã¹ãããé ã«å²ãåœãŠããããšãšãªã£ãŠããŸããã
> > ããã«ã¯äœãçç±ããããŸããã
>
> ãããèŠæ Œã ããããšããçããããããŸããã
ãªãèŠæ Œãããããã®ããã¡ãã£ãšäžæè°ã«æããã®ã§ãã
ã³ã³ãã€ã©ããªãããããã®ããç¥ãããã®ã§ã¯ãªãã§ãã
At Sat, 23 Aug 2003 14:08:43 +0900,
IIJIMA Hiromitsu wrote:
> > > ã¬ãžã¹ã¿ã¯çªå°ããããªããšæã£ãŠããã®ã§ããã
> > > çªå°ã®ãªãã¬ãžã¹ã¿ã«é çªãã©ã圱é¿ããã®ãçè§£ã§ããŸããã
> >
> > ã¡ã¢ãªãããã I/O ãšããããªãã§ãã,
> > ããš, ã¹ãã¿ã¯ãã¬ãŒã ãããæ.
>
> CPU ã«ãã£ãŠã¯ãè€æ°ã®ã¬ãžã¹ã¿ã®å
容ããŸãšããŠã¡ã¢ãªã«æžãåºãããããã
> ã¬ãžã¹ã¿ã«æžãæ»ãããããåœä»€ããããŸãããããšãã° x86 ã® pusha/pushadã
char ã int ã®ãµã€ãºãšè©°ãç©ã®ãããã«ã€ããŠãåŠçç³»äŸåãªã®ã«ã
䞊ã³ã ãæ±ºããŠãç§»æ€æ§ãèãããšäœ¿ããªããšæãã
---
è€äºå®æ²
ãããããæ§é äœã®æŽå²çèµ·æºã£ãŠCOBOLã®ãã®ã ãšæããã§ããã
ïŒãã以åãååšããããšã埡åç¥ã®æ¹ã¯åŸ¡æç€ºãã ããïŒ
COBOLã®æ§é äœã¯ããã¡ã€ã«å
¥åºåã®åäœããšããæ§æ Œã
æç¢ºã«äž»åŒµãã仿§ã«ãªã£ãŠããŸãã
ãããããCOBOLã¯ãç£æ°ããŒãäžã®ããŒã¿ãèªã¿èŸŒãã§ãå å·¥ããŠã
å¥ã®ç£æ°ããŒãã«æžãåºããåŠçãè¡ããšããçºæ³ã§èšèšãããŠããŠã
倿°ã¯å
¥åºåããã€ã¹ã«ãªã³ã¯ããŠããã®ãããããŒãã§ããã
ããã§ã¯ãªããäœæ¥çšäžæå€æ°ãã¯ç¶åæ±ãã§ãã
ãã®ãããªãæ§é äœã®ãèµ·æºçæçŸ©ããšããã®ã¯ã
èšèªãªã©ã®æ°ããèšèªã«ããããªãã®éšåãåŒç¶ãããŠãããšæããŸãã
æµç³ã«ãç£æ°ããŒãäžã®ãã¡ã€ã«ãã匷çã«æèããéšåã¯æ¶ããŠããŸããã
ãåœè©²ããã°ã©ã ãšããã®å€ã®äžçãšã®éãã§ããŒã¿ãé£ãåãããåäœ
ãšããçºæ³ãæ®ãããçšæ³ã¯ãçŸåšã§ãäž»æµã§ãããã
ãã£ã¹ã¯ãã¡ã€ã«ã¯ãã¡ããã
éä¿¡ã«çšãããã±ãããªã©ã®æ§é ã
æ§é äœã§èšè¿°ããŠãŸãšããŠåŒãæž¡ãã®ããããŒã ãã
åçš®ã©ã€ãã©ãªãã·ã¹ãã ã³ãŒã«ãªã©ãšã®éã§
æ§é äœã®æ§é æ
å ±ãå
±æãããããåæãšããŠ
æ§é äœã®åœ¢ã§ããŒã¿ãæåãããšããã®ã¯ããããŒã®ããšã§ãããã
äŸãã°ã
In article <bi586t$i2n$1...@ns.src.ricoh.co.jp> oh...@src.ricoh.co.jp writes:
>struct foo {
> int a;
> int b;
> int c;
> char s[1];
>};
>ã®ããã«æ§é äœã宣èšããŠãããŠãä»»æã®é·ãã®é åã
>malloc()ããŠããstruct foo *ã«ãã£ã¹ãããŠäœ¿ããªã
>ãŠããšããããã®ããã°ã©ã ã¯ãããã£ãŠãŸãããã€ãŸ
>ãsã«ä»»æã®é·ãã®é åãå²ãåœãŠããããã§ãã
ãšããã®ã«ããŠãã
å¯å€é·ã®ããŒã¿äºã
ã¯ãæ§é äœãçšããæ¬æ¥ã®ç®çã§ã¯ãããŸããã
æ§é äœãçšããçç±ã¯ãa, b, c, sããšãããäžçµã®ããŒã¿ãã
äžæã«æåããããšã§ãã
ããããå Žåã«ãæ§é äœã«å±ããããŒã¿ã
æãç°¡åãã€ç¢ºå®ã«åŒå¥ããææ®µã¯ã䞊ã³é ã«ããç
§åãã§ãã
äŸãã°ååã«ããåŒå¥ã§ã¯ãååã«é¢ããæ
å ±ãåŒãæž¡ã仿ããå¿
èŠã«ãªãã
ç¶æ³ã«ãã£ãŠã¯ããã®ããšãæ¬è³ªçãªé害ã«ãªã£ãŠ
å¿
èŠãªæ©èœãå®çŸã§ããªãããšãèããããŸãã
ãããŸã§è¡ããªãå Žåã§ãã確å®ã«ã¹ã«ãŒããããäœäžããŠããŸããŸãã
ã䞊ã³é ã«ããç
§åããåæã«èããã°ã
ã³ã³ãã€ã©ãåæã«é çªãå€ãããå°ãããšã¯èªæã§ãããã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
ãšãããã䞊ã³é ã ãã§ãä¿èšŒãããŠãããã
ããªããã»ããµãé§äœ¿ããŠã
è€æ°ã®åŠçç³»ã§æ§é äœã®å®è³ªçæ§é ãåäžã«ãªãããã«æžãããšãã§ããŸãã
ããã«ãåäžããã°ã©ã ãè€æ°ã®åŠçç³»ã§å
±æããã®ãå¯äžã®æ¹æ³ã§ã¯ãããŸããã
ä»ã®åŠçç³»ãåãåºãããã¡ã€ã«ãã
åŠçç³»ã®å·®ç°ãæèããããã°ã©ãã³ã°ã«ãã£ãŠã
æ£ããèªã¿åºããããã«ãããªããŠããè§£æ±ºæ¹æ³ãããã
ïŒãã¡ã€ã«ãèªãã åŸãæŽæ°ããŒã¿éšåã®äžäœãã€ããšäžäœãã€ãã亀æããŠâŠâŠ
ïŒãªããŠãé »ç¹ã«äœ¿ãåŠçãªãã ãã©ãª^_^;
äœãã«ããŠããããŒã¿ã®é åºãããã°ã©ããèªç±ã«å¶åŸ¡ã§ããŠããã
æãéãã«ããŒã¿ãæ±ããããã§ã
ãããã³ã³ãã€ã©ã奜ãåæã«å€ããŠããŸã£ããã
ã§ããããºã®ããšãã§ããªããªããŸãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
> ãããããæ§é äœã®æŽå²çèµ·æºã£ãŠCOBOLã®ãã®ã ãšæããã§ããã
[...]
ãªãã»ã©ãCOBOLãèµ·æºã§ãããã
é¢çœã話ãããããšãããããŸããã
ãŸãã²ãšã€ããªãã¢ãå¢ããŸããã
---
è€äºå®æ²
> 倿 ãšæ¥ãŸãããããããã
æ¢ã«ïŒãã£ã±ãååšããŸãããïŒ
ãã£ã¹ãã䜿ã
struct sockaddr_in inet_addr;
...
bind(fd, (struct sockaddr *)&inet_addr, ...);
ãšãïŒ
ãããã¯unionã䜿ã£ãXEventãšãïŒ
ã©ã£ã¡ããstructã®å
é ã§åã宣èšã®ä»æ¹ãããã°ïŒåãããã«ã¡ã³ããå²ã
ä»ããããããšä»®å®ããªããšåããªãã§ãããïŒ
åç°æŠåž
In article <m365kob...@maedapc.cc.tsukuba.ac.jp>
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> ãã£ã¹ãã䜿ã
> struct sockaddr_in inet_addr;
> ã©ã£ã¡ããstructã®å
é ã§åã宣èšã®ä»æ¹ãããã°ïŒåãããã«ã¡ã³ããå²ã
> ä»ããããããšä»®å®ããªããšåããªãã§ãããïŒ
ããããæã«ã¯ãæ§é äœã®å®çŸ©ã®æã«ãåŸããžã®è¿œå ãèš±ãããã«
ããŸããããšãã°ãããæžããŸãã
struct sockaddr_base {
sa_family_t sa_family ;
};
struct sockaddr_in : struct sockaddr_base {
in_port_t sin_port ;
struct in_addr sin_addr;
};
#define sin_family sa_family
ããšãïŒãç䌌ããŠããæžããšãã
struct sockaddr_in {
sa_family_t sin_family : offset(0) ;
in_port_t sin_port : offset(2) ;
struct in_addr sin_addr : offset(4) ;
};
ãããããåã®èšäºã«æžããããã«ãXDR ã䜿ã£ãŠãããã§ãããã
ãã¯ãŒã¯ã«æµãæã«ã¯ãã©ããäœãæšæºç³»ã«å€ããŠããã®ã§ãåã
ããšããã¢ãžã¥ãŒã«éã§ãã£ãŠãããã§ããããXEvent ããæåŸ
ã¯ãTCP/IP ã«ä¹ãããã ãããœãŒã¹ã³ãŒãããã£ãŠãè³¢ãã³ã³ã
ã€ã©ãéšåè©äŸ¡ç³»ãããã°ãXDR ã§æšæºç³»ã«ãããªãŒããããã¯ã³
ã³ãã€ã«æã«å
šéšæ¶ããŸãã
int ãããã€ãæ°ããããæ°ãæå®ã§ããããã«ããŠçœ®ãã°ããã£
ãã®ã«ããint[4] ãšããint[8] ãšãã
ãããããã§ã¯ãªãã®ã§ããã
K&R Cã®ãããããã€ãŸãèŠæ ŒãªããŠååšããªããŠãåŠ
çç³»ãèšèªãèŠå®ãããŠããããããããããããã°ã©
ã ãåºã䜿ãããŠããŠãããããããã°ã©ã ãç Žç¶»ããª
ãããã«èŠæ Œã決ããããã®ã§ã¯ãªããããšããã®ãåœ
æ¹ã®ããããã£ãããšã§ãã
ã ããã
> å€åããã®ãããªå¯å€é·ã®æ§é äœãæžãããã«ãã®ãããª
> 仿§ã«ããŠããã®ã§ã¯ãªãæ°ãããã
ããã¯å æé¢ä¿ãéã§ããã
ããããã®ãã¯ãã¢ã»ã³ãã©ã®ä»æ§ããããªã®ãšåãçç±ã§ã¯ ;)
> char ã int ã®ãµã€ãºãšè©°ãç©ã®ãããã«ã€ããŠãåŠçç³»äŸåãªã®ã«ã
> 䞊ã³ã ãæ±ºããŠãç§»æ€æ§ãèãããšäœ¿ããªããšæãã
ããã®æ§é äœã䜿ã£ãŠæžãããããŒã¿ãå¥ã®åŠçç³»ã§ããã®æ§é äœã§èªãã
ãããªäºææ§ã¯ãªãã§ããããããšããšã
ã§ããé çªã決ãŸã£ãŠãªããšãåè¿°ã®ãæåŸã®ã¡ã³ããŒã®é
åã®æ·»å
ãå€ãã«ã€ãã£ãŠå¯å€ã«ãã¿ãããªããšãã§ããªãããå°ãã£ãŠããšã§ã¯?
C++ã§ã¯ã§ããŸããã ;)
ããããã°ããŸã®Cã§ã¯
struct {
int len;
char a[];
};
ã¿ããã«é
åã®åæ°æžããªãã®ãOKãªãã ã£ã?
--
ã_ã ____________________________
ãã»ã» ã vo...@merope.pleiades.or.jp
( ° )ïœ æ¥äžéšéœäž
âŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸâŸ
oh...@src.ricoh.co.jp (Junn Ohta) writes:
> K&R Cã®ãããããã€ãŸãèŠæ ŒãªããŠååšããªããŠãåŠ
> çç³»ãèšèªãèŠå®ãããŠãããããã
äžå¿ãReference Manual ã¯ãããŸãããã宿
ã«è¿œãä»ããŠããªãã£
ãã§ããã
> ããããããã°ã©
> ã ãåºã䜿ãããŠããŠãããããããã°ã©ã ãç Žç¶»ããª
> ãããã«èŠæ Œã決ããããã®ã§ã¯ãªããããšããã®ãåœ
> æ¹ã®ããããã£ãããšã§ãã
K&R C ã§ã¯ããå
é éšåã®ã¡ã³ããŒã®äžŠã³æ¹ãåãæ§é äœã¯ããã®éšå
ãäºæã§ãããããšãä¿èšŒããŠããŸãããäŸãã°ã
struct A { int a; int *p; int i; };
struct B { int a; int *p; double d; };
ã®å Žåãa ãš p 㯠struct A ãš struct B ã§åããªãã»ãããæã€ã
ãšãä¿èšŒãããŠããŸãããUnix 7th Edition ãŸã§ã¯ãæ§é äœã¡ã³ãã®
åå空éã¯ãä»ã®ããã«åæ§é äœæ¯ã§ã¯ãªããæ§é äœã¡ã³ãå
šäœã§äžã€
ã®ç©ºéãšãªã£ãŠããŸããããã®ããããã®èŠå®ããªããšãa ã p ãå€
éå®çŸ©ã§ãšã©ãŒã«ãªããŸãã
ããã¯ããã£ã³ã°ã«é¢ããèŠå®ã§ãããã¡ã³ããŒã®äžŠã³é ã®èŠå®ãåæ
ãšãªã£ãŠããŸãã
--
çå±±ïŒ ïŒ°ïŒŠïŒµ
å®ã¯ãç§ã¯æBasicã§æžãããããŒã¿ãæ±ãã®ã«åœç¶Cã®æ§é äœã€ãã£ãŠã¢ã¯ã»
ã¹ããããã°ã©ã ãæžããŠãŸããã®ã§ãæ§é äœã®åœ¢ãäžå®ããªããšããã£ã¡ã
äžäŸ¿ããªã®ã§ãããŸããã
ïŒåãã³ã³ãã€ã©å士ã§ããŒã¿æ±ããªãããç¥ããã
> struct sockaddr_in : struct sockaddr_base {
> in_port_t sin_port ;
> struct in_addr sin_addr;
> };
ãã®æžãæ¹ã£ãŠãC89 ãããã£ãšé¡ã£ãŠ K&R æä»£ã«ã¯ãããŸããã£ãïŒ
C++ ãªãããã§ãããšããããŸãããC99 ã§è¿œå ãããŠããããããªãæ§æã§ã¯
ãããŸããâŠ
> int ãããã€ãæ°ããããæ°ãæå®ã§ããããã«ããŠçœ®ãã°ããã£
> ãã®ã«ããint[4] ãšããint[8] ãšãã
ããã¯ã1 ãã€ãã 8 ãããã§ã¯ãªãããã»ããµãžã®é
æ
®ã§ã¯ã
C99 ã§ã¯ stdint.h ãå°å
¥ãããŠãŸããã©ããŸã 察å¿ããŠããªãåŠçç³»å€ãã
> ããããã°ããŸã®Cã§ã¯
> struct {
> int len;
> char a[];
> };
> ã¿ããã«é
åã®åæ°æžããªãã®ãOKãªãã ã£ã?
OKã§ãïŒãã¡ããæåŸã®ã¡ã³ãã ãïŒ
struct s1 {
int len;
char a[];
};
ãšåãçšéã§ïŒãããã¯åæ°ãæžããªãããããªãã£ãã®ã§ïŒ
struct s2 {
int len;
char a[1];
};
ãšæžããããããšæããŸããïŒäžã®2ã€ã®æžãæ¹ã§aã®ãªãã»ãããåãã«ãªã
ããšãä¿èšŒãããŠããŸãïŒ(sizeof(struct s1)ãšoffsetof(struct s1, a)ãš
offsetof(struct s2, a)ã¯åãã«ãªãïŒ)
åç°æŠåž
ã¢ã»ã³ããªèšèªãªãå®å
šã«äžèŽããããããã§ããããã©ïŒäººéãæŽåãŸã§æ°
ã«ããã®ã¯é¢åããããïŒç§»æ€æ§ããªããªã£ã¡ããïŒ
1.ãåºæ¬çãªæ©èœã§ïŒCPUã®å¶éãã3ã¯å³å¯ã«ã¯ç¡çã«ãªã£ãïŒãã®çµæ2ã«
ã䜿ããªããªã£ãïŒ
ãã ïŒæžç°ãããææããŠããéãïŒãã³ã³ãã€ã©ãã©ãäžŠã¹æ¿ããŠãè¯ãã
ãšãã³ã³ãã€ã©ãé©å®paddingããŠãããã ãšïŒç§»æ€æ§ãé«ããããã«å¿
èŠãª
åŽåã倧å¹
ã«éããŸãïŒ
ããšãã°2ã®çšéã§ïŒnåã®ã¡ã³ããæã€æ§é äœãç°ãªãèšç®æ©ã§èªã¿æžããã
æã«ã¯n-1ç®æã®paddingã調ã¹ãã°è¯ãã®ã«å¯ŸããŠïŒäžŠã¹æ¿ããããŠããŸããš
ãæäžãã§ãïŒã©ãèšè¿°ããŠãåžæãã䞊ã³é ã«ã¯ãªããªãããç¥ããªãïŒ
2ã®çšéã¯ãããããŠXDRãªãèªåã§ãã€ãåäœã§èªã¿æžããããªãããã®ãïŒ
ç§»æ€æ§ãšãã芳ç¹ããã¯çã£åœãªãã§ãããïŒåãåŠçç³»ã§èªã¿æžãããäžæ
ãã¡ã€ã«ãªããã¯structã®é
åã®ãŸãŸread/writeãããã§ããã©ãïŒå¹çãè
ãããšïŒ
3.ã®çšé(倿
ã®äŸ)ã«é¢ããŠãããšïŒãªããžã§ã¯ããåæã«ã³ããŒããŠã¯åã
ãªãèš³ã§ïŒèšèªã倧å¹
ã«æ¡åŒµããªãéãã¯ïŒããçšåºŠã®èŠå®ããªããšå°ããšæ
ããŸãïŒ
å¯å€éšåãunionã«ããŠå®å
šã«ããŒã¿ãã«ã«ããããšãå¯èœã§ããããã©ïŒ
ã»structã®ãµã€ãºãšããŠïŒããšãããæå€§ã®ãµã€ãºããåãå¿
èŠãããïŒ
ã»ãåŸã§æ¡åŒµãããããšãã§ããªããªãïŒããšãã°ïŒsockaddrã®å®çŸ©äžã«
sockaddr_in, sockaddr_un, sockaddr_x25, ...ã®å®çŸ©ããããããå
šéš
å«ããªããã°ãããªããªãïŒ
ã®ã§ïŒçšéãéãããŠããŸããŸãïŒ
y...@is.tsukuba.ac.jp (Yasushi Shinjo) writes:
> > ã©ã£ã¡ããstructã®å
é ã§åã宣èšã®ä»æ¹ãããã°ïŒåãããã«ã¡ã³ããå²ã
> > ä»ããããããšä»®å®ããªããšåããªãã§ãããïŒ
>
> ããããæã«ã¯ãæ§é äœã®å®çŸ©ã®æã«ãåŸããžã®è¿œå ãèš±ãããã«
> ããŸããããšãã°ãããæžããŸãã
> struct sockaddr_in : struct sockaddr_base {
> in_port_t sin_port ;
> struct in_addr sin_addr;
> };
ãããããµãã«Cèšèªãæ¡åŒµããèš³ã§ããïŒ
Oberonã®extended recordã¿ããã§ããïŒ
type
sockaddr_base = RECORD ... END;
sockaddr_in = RECORD (sockaddr_base)
sin_port: in_port_type;
sin_addr: in_addr
END
ãããã¯Common Lispã®(defstruct ... (:include 芪struct) ...)ã¿ããïŒ
å¹çãè¯ããïŒäŸ¿å©ã§ããããïŒ
> ãããããåã®èšäºã«æžããããã«ãXDR ã䜿ã£ãŠãããã§ãããã
> ãã¯ãŒã¯ã«æµãæã«ã¯ãã©ããäœãæšæºç³»ã«å€ããŠããã®ã§ãåã
> ããšããã¢ãžã¥ãŒã«éã§ãã£ãŠãããã§ãããã
I/Oã«é¢ããŠã¯ããã§è¯ããšæããŸãïŒç¶æ¿(ãã©ã)ã«ã€ããŠä»ã®ææ®µããã
ãªãïŒã¡ã¢ãªäžã®é
眮ãã³ã³ãã€ã©ä»»ãã§è¯ãïŒ
Javaã¯ããããèãæ¹ã§ããïŒclassã®ã¡ã³ãã®äžŠã³ã¯ã©ãã§ãè¯ãïŒåæ¹å
ç
§ããŠãé¢ä¿ãªãïŒå®éïŒã¡ã¢ãªäžã®ã¬ã€ã¢ãŠãã¯å®£èšé ã§ãªãäžŠã¹æ¿ããåŠ
çç³»ãååšããŸã(åºæ¬åãšïŒGCãèŠãå¿
èŠã®ããåç
§åãåããŠé
眮ãã)ïŒ
ã¡ã³ãã®ã¡ã¢ãªäžã®äœçœ®ãããã°ã©ãã«èŠããããšã¯ç¡ãã®ã§ïŒããã§è¯ãã
ã§ããïŒã¬ã³ãŒããI/Oããæã¯marshaling (serialization)ããŸãïŒé
眮ã
決ããããã°ïŒèªåã§ãã€ãåäœã§èªã¿æžãããŸãïŒ
> XEvent ããæåŸ
> ã¯ãTCP/IP ã«ä¹ãããã ãããœãŒã¹ã³ãŒãããã£ãŠãè³¢ãã³ã³ã
> ã€ã©ãéšåè©äŸ¡ç³»ãããã°ãXDR ã§æšæºç³»ã«ãããªãŒããããã¯ã³
> ã³ãã€ã«æã«å
šéšæ¶ããŸãã
ããïŒå®éäžããã¯ã¡ãã£ãšâŠ
ã¢ãžã¥ãŒã«åãã§ããªããªã£ãŠããŸãïŒ
ã©ã€ãã©ãªããªã³ã¯ããéãå
šéšãœãŒã¹ããã³ã³ãã€ã«ãçŽããšããã®ã¯âŠ
çµå±ïŒç¹ã«3ã®çšéãèãããšïŒåãããã«èšè¿°ããã°äžŠã³é ãš(èŠæ Œã§ã¯ä¿èšŒ
ãããŠããªããã©)é
眮ãåãã«ããŠãããªããšåããªãããã°ã©ã ã倿°ã
ããšæããŸãïŒ
ïŒ ãããããšïŒã䞊ã³é ã ãä¿èšŒããããšããèŠæ Œã¯ç¢ºãã«äžéå端ã§ããïŒ
åç°æŠåž
> ãã£ã¹ãã䜿ã
> struct sockaddr_in inet_addr;
> ...
> bind(fd, (struct sockaddr *)&inet_addr, ...);
> ãšãïŒ
>
> ãããã¯unionã䜿ã£ãXEventãšãïŒ
>
> ã©ã£ã¡ããstructã®å
é ã§åã宣èšã®ä»æ¹ãããã°ïŒåãããã«ã¡ã³ããå²ã
> ä»ããããããšä»®å®ããªããšåããªãã§ãããïŒ
å ±çšäœã®ãªãã®æ§é äœã ãã¯ç¹å¥ã«ä¿èšŒãããããã§ãã
æ§é äœã®å
é ã«è©°ãç©ããããªãããšã«ãªã£ãŠããã®ã§ã
以äžã®ãããªç¶æ¿ãã§ãããã§ãã
struct object {
int id;
};
struct rect {
struct object object;
int width, height;
};
struct window {
struct rect rect;
int x, y;
};
struct window w;
((struct object*)&w)->id = WINDOW_ID;
---
è€äºå®æ²
ç§»æ€æ§ãªããŠé¢ä¿ãããŸããã
ãŸããç®ã®åã®ïŒã€ã®æ©çš®ã®èšç®æ©ã®ããŒããŠã§ã¢äŸåéšåã
é«çŽèšèªã§æžããããšããããå¿
èŠã§ãã
åããªãã³ãŒãã«ç§»æ€æ§ããã£ãŠãç¡æå³ã
ããŒããŠã§ã¢ãå¶åŸ¡ããã³ãŒããæžãããšãã§ããŠã次ã«ç§»æ€æ§
ãããã°ããè¯ããªããšãªãããã§ãUNIXã ã£ãŠãã³ã³ããã¹ã
ã¹ã€ããã®éšåãå²ã蟌ã¿ãã³ãã©ãªã©ã¯CPUæ¯ã«éããœãŒã¹ãã¡
ã€ã«ã«ãªã£ãŠãŸãã
ã¢ããªã±ãŒã·ã§ã³ããã°ã©ãã³ã°ãšåãæèŠã§ã·ã¹ãã ããã°ã©ãã³ã°
ããšãããŠã¯ãããŸãããæ¬è³ªçã«ç§»æ€æ§ãæãããããªããšããã
ããã®ã ãããããã¢ã»ã³ãã©ã§ã¯ãªãé«çŽèšèªã§èšè¿°ã§ãããš
ããã®ã¯æå³ã®ããããšã
ããã«ã
ç§»æ€æ§ãè¯ããšããã®ã¯ããç§»æ€äœæ¥ã楜ã ããšããããšã§
ãã£ãŠãããœãŒã¹ç¡å€æŽã§åã³ã³ãã€ã«ã ãã§æžãããšãã§ã¯
ãããŸãããã
éœè€æçŽãsai...@ist.osaka-u.ac.jp
to...@lbm.go.jp wrote:
> ãããããæ§é äœã®æŽå²çèµ·æºã£ãŠCOBOLã®ãã®ã ãšæããã§ããã
> ïŒãã以åãååšããããšã埡åç¥ã®æ¹ã¯åŸ¡æç€ºãã ããïŒ
Cã®structã¯ãPDP-11ã®ã¢ã»ã³ãã©ã®ãFRAMEç䌌åœä»€ã
èµ·æºã ãšæããŸããã
éœè€æçŽãsai...@ist.osaka-u.ac.jp
>>> struct foo {
>>> int a;
>>> int b;
>>> int c;
>>> char s[1];
>>> };
>>ãã®ãããªå¯å€é·ã®æ§é äœã¯ã䞊ã¹ãããé ã«å²ãåœãŠããšå®ããèŠæ Œã
>>æ¡å€§è§£éããèŠæ Œã®ä¹±çšã ãšèª°ããèšã£ãŠãã®ã§ãã ... èŠã€ãããªãã
ãã®ææ³ãDennis Ritchieã¯ãCã®å®è£
ãžã®æ ¹æ ã®ãªã銎ã銎ãããããš
åŒãã ããã§ãã(ããã®ããšã§ïŒ)
http://www.catnet.ne.jp/kouno/c_faq/c2.html#6
--
matu.
In article <bic3a2$nsg$2...@newsserv.ics.es.osaka-u.ac.jp> sai...@ist.osaka-u.ac.jp writes:
>> ãããããæ§é äœã®æŽå²çèµ·æºã£ãŠCOBOLã®ãã®ã ãšæããã§ããã
>> ïŒãã以åãååšããããšã埡åç¥ã®æ¹ã¯åŸ¡æç€ºãã ããïŒ
>Cã®structã¯ãPDP-11ã®ã¢ã»ã³ãã©ã®ãFRAMEç䌌åœä»€ã
>èµ·æºã ãšæããŸããã
çŽæ¥ã®èµ·æºãã¿ãŒã²ããæ©ã®ã¢ã»ã³ãã©ã«æ±ããŸããâŠâŠ
ãããèšèªããé«çŽã¢ã»ã³ãã©ãã ããã£ãŠã
ããã ããèµ·æºã ãšæå®ããã®ã¯ã©ãã§ããããã
ãŸããã¢ã»ã³ãã©ã«ããããç䌌åœä»€ãæºåãããšããã®ãã
éå»ã®é«çŽèšèªããã®çºæ³ãšããå¯èœæ§ãããããã§ããâŠâŠ
ç§ã®æççãªç¥èãããã£ãšãŸãšããŠã¿ãŸããã
(1)algolã«ã¯æ§é äœã«çžåœããæŠå¿µã¯ç¡ãã
FORTRANã®COMMONãããã¯ã¯ã
ãã€ããªã¬ãã«ã§ã¯å€éšæ§é äœïŒïŒ£èšèªã®extern structïŒãš
åçã«æ±ãããããšãå€ããšæãããããçºæ³ã¯éãããã
å³ã¡ã1950幎代ã«éçºãããé«çŽèšèªã®ã埡äžå®¶ãã§ã
æ§é äœã«çžåœããæŠå¿µãããã®ã¯COBOLã ãã§ããã
(2)ããããCOBOLã§ã¯ãæ§é äœïŒstructureïŒããšããçšèªã¯çšããŠããªãã
ãã®çšèªãèŠæ Œã¬ãã«ã§åºãŠããã®ã¯ãPL/IïŒ1964幎ïŒã§ã¯ãªãããš
æããããã確ããªèšŒæ ã¯ä»ã®ãšããåŸãããŠããªãã
(3)PascalïŒ1968幎ïŒã§ã¯æ§é äœã«çžåœãããã®ããrecordåããšåŒãã§ããã
ãã®åŒç§°ã¯ãCOBOLã®æ§é äœããã¡ã€ã«å
¥åºåã«ããããrecordãã®æŠå¿µãš
坿¥ã«çµã³ã€ããŠãããšããããæ¥ãŠããã®ã§ã¯ãªãããšã®æšæž¬ãæãç«ã€ãã
ãããŸã§æšæž¬ã«éããªãã
ã¡ãªã¿ã«ãèšèªã¯1972幎ã«éçºãããããšã«ãªã£ãŠããã
å身ãé¡ããšïŒ¢èšèªïŒ1970幎ïŒâBCPLïŒ1967幎ïŒâCPLïŒ1963幎ïŒãšãªãããã§ãã
ïŒCPLã®å身ã¯algolãŸã§è¡ãçããŠããŸãïŒ
COBOLã«ãããæ§é äœã®æŠå¿µããã¡ã€ã«å
¥åºåãšå¯æ¥ã«çµã³ã€ããŠãã
ãšããããšã¯ãåé»ã§ã
In article <bi73b2$u5m$1...@bluegill.lbm.go.jp> I write:
>COBOLã®æ§é äœã¯ããã¡ã€ã«å
¥åºåã®åäœããšããæ§æ Œã
>æç¢ºã«äž»åŒµãã仿§ã«ãªã£ãŠããŸãã
>ãããããCOBOLã¯ãç£æ°ããŒãäžã®ããŒã¿ãèªã¿èŸŒãã§ãå å·¥ããŠã
>å¥ã®ç£æ°ããŒãã«æžãåºããåŠçãè¡ããšããçºæ³ã§èšèšãããŠããŠã
>倿°ã¯å
¥åºåããã€ã¹ã«ãªã³ã¯ããŠããã®ãããããŒãã§ããã
>ããã§ã¯ãªããäœæ¥çšäžæå€æ°ãã¯ç¶åæ±ãã§ãã
ãšèª¬æããéãã§ãããããå°ã詳ãã説æããŠã¿ãŸãã
COBOL以å€ã®ã»ãšãã©ã®é«çŽèšèªã®ãã¡ã€ã«å
¥åºåã§ã¯ã
äŸãã°åºåã®å Žåã«ã¯ãããã°ã©ã äžã§èšè¿°ããã倿°é åã®ããŒã¿ãã
ããã°ã©ã ã§ã¯çŽæ¥èŠããªããå
¥åºåãããã¡ãé åã«è€åããŠ
ïŒæžåŒã€ãåºåã®å Žåã«ã¯ãæžåŒã«åŸã£ãå€æçµæããããã¡é åã«æžèŸŒãã§ïŒã
ãã®ïŒçŽæ¥èŠããªãïŒããŒã¿ãããã€ã¹ã«åŒãæž¡ããšããæé ã ãšæããŸãã
ãšããããCOBOLã§ã¯ãå
¥åºåãããã¡ãã®äžã«ã
åœè©²å
¥åºåããã€ã¹å°çšã®ïŒããã°ã©ã ããèŠããïŒå€æ°ã確ä¿ãã
ãšããçºæ³ã«ãªã£ãŠããŸãã
ïŒå®éã«ã¯ãããã€ã¹ãšã®éã«ã¯ã³ã¯ãã·ã§ã³çœ®ãå®è£
ãå€ããšæããããã
èšèªã®ç¿åŸã«éããŠã¯ããã®ããšãæèããªãæ¹ãè§£ããããïŒ
æžåŒã€ãåºåã«ããŠããåºåãããã¡å
ã®å€æ°ããžã®
代å
¥ã«éããŠæžåŒã«åŸã£ã倿ãè¡ããããšããçºæ³ã§ãã
ïŒã€ãŸããããã¡å
ã®å倿°ã®å±æ§ã®ïŒã€ãšããŠâæžåŒâãããïŒ
ãããããšãå
¥åºååäœã§ãããã¬ã³ãŒããã¯ã
ãå
容ã¯å€çš®å€æ§ã ããçµïŒåç°ããã®ããâtupleâïŒãšããŠ
ãŸãšãŸã£ãŠããããŒã¿çŸ€ãã«ãªããŸãããã
ãã®äžèº«ã¯èªãããæ§é äœã®æ§æ Œãæããããšã«ãªããŸãã
ãã®ãããCOBOLã§ã¯ä»ã®æ§é äœã®èŠçŽ ã§ã¯ãªããäžçªäžã®ã¬ãã«ã®ãæ§é äœãšã
å
¥åºååäœã§ãããã¬ã³ãŒãããå矩èªã«ãªããã§ããã
ãªãããäžçªäžã®ã¬ãã«ãã«éããªããäžéã¬ãã«ãå«ããæ§é äœã®ããšã¯ã
COBOLã§ã¯éå£é
ç®ïŒgroup itemïŒãšåŒãã§ããŸãã
FORTRANã ãšããã€ããªå
¥åºåã«ããå
¥åºå䞊ã³ãããã£ãŠã
ã¬ã³ãŒãã¯åã
ã®å
¥åºåæã®äžŠã³ã§ãïŒåããšã«å®çŸ©ãããã
ãå¶ã
ãã®å Žã«å±
åãããšããã ãã®éå£ããšããæèŠã§ããã
COBOLã§ã¯ããããæåžžçãªç€ŸäŒéå£(??)ãã§ããããšãèŠæ±ããŠããããã§ãã
ãã®ç¹ãPL/Iã§ã¯æžåŒãªãã®READ/WRITEïŒRECORDå
¥åºåïŒã§ã¯
ã䞊ã³ãã§ã¯ãªããïŒåã®å€æ°ïŒïŒæ§é äœãæ³å®ïŒããåŒæ°ãšããã®ã«å¯ŸããŠã
æžåŒã€ãã®GET/PUTïŒSTREAMå
¥åºåïŒã§ã¯åŒæ°ã¯ã䞊ã³ããšäœ¿ãåããããŠããŸãã
èšèªã§ãfread/fwriteã§å
¥åºåãããããŒã¿ã¯ãïŒåã®åŒæ°ããªã®ã«å¯ŸããŠã
fscanf/fprintfã§ã¯ãäžå®æ°ã®åŒæ°ãã«ãªããšããã®ã¯äŒŒããããªçºæ³ã§ããã
ãã ãPL/Iã«ããŠãèšèªã«ããŠãã
倿°ãèšèªä»æ§äžã¯ãåœè©²ããã€ã¹å°çšãã§ã¯ãªããšãããšãããã
COBOLãšç°ãªããŸãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
èšèªã®ãæ§é äœãã®èãæ¹ã®å
ã¯ãPL/1 ã ãšæããŸããæ£ç¢ºã«
ã¯ãPL/IãšãããPL/1 ã®ãµãã»ããã§ãMultics ã®èšè¿°ã«äœ¿ãã
ããã®ã
èšèªã® /**/ ã®ã³ã¡ã³ãããPL/1 ãšåãã§ãã
In article <bieihv$p5r$1...@bluegill.lbm.go.jp>
to...@lbm.go.jp writes:
> (2)ããããCOBOLã§ã¯ãæ§é äœïŒstructureïŒããšããçšèªã¯çšããŠããªãã
> ãã®çšèªãèŠæ Œã¬ãã«ã§åºãŠããã®ã¯ãPL/IïŒ1964幎ïŒã§ã¯ãªãããš
> æããããã確ããªèšŒæ ã¯ä»ã®ãšããåŸãããŠããªãã
PL/1 ã¯ãFortran ãš Cobol ãäŒãããŠïŒã€ã§èšè¿°ããããšããã
ãšã§äœãããèšèªãªã®ã§ãC ã®æ§é äœã®å
ã Cobol ãšããã®ã¯ã
ããæå³ã§ã¯æ£è§£ãªãã§ãããã
ãå
ã«å匷ããŠãã PL/1 ãèŠãæã«ã¯ãPL/1 ã¯ããã£ãæªã
æããããŸãããæ§é äœã®å®çŸ©ã§ããã¹ãã®ã¬ãã«ãçŸãã®ã«æ°å
ãæžããªããšãããªãã£ããšæããŸãã
æ
å ±ããããšãããããŸãã
ãšããã§ãSubject:ã«ã¯ãPL/Mããšããã®ã§ããã
æ¬æã®æ¹ãæžã誀ããšèããŠè¯ãã§ããããïŒ
ïŒPL/Iã®ãµãã»ããã®PL/Mãšããã®ã¯èãèŠããããã®ã§âŠâŠïŒ
>ãå
ã«å匷ããŠãã PL/1 ãèŠãæã«ã¯ãPL/1 ã¯ããã£ãæªã
>æããããŸãããæ§é äœã®å®çŸ©ã§ããã¹ãã®ã¬ãã«ãçŸãã®ã«æ°å
>ãæžããªããšãããªãã£ããšæããŸãã
ãã®ä»æ§ã¯ãCOBOLãã®ãŸããŸã§ãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
to...@lbm.go.jp wrote:
>>Cã®structã¯ãPDP-11ã®ã¢ã»ã³ãã©ã®ãFRAMEç䌌åœä»€ã
>>èµ·æºã ãšæããŸããã
> çŽæ¥ã®èµ·æºãã¿ãŒã²ããæ©ã®ã¢ã»ã³ãã©ã«æ±ããŸããâŠâŠ
> ãããèšèªããé«çŽã¢ã»ã³ãã©ãã ããã£ãŠã
> ããã ããèµ·æºã ãšæå®ããã®ã¯ã©ãã§ããããã
> ãŸããã¢ã»ã³ãã©ã«ããããç䌌åœä»€ãæºåãããšããã®ãã
> éå»ã®é«çŽèšèªããã®çºæ³ãšããå¯èœæ§ãããããã§ããâŠâŠ
æ§é äœ(ã®æŠå¿µ)ã®èµ·æºãFRAMEã ãšã¯ãã£ãŠãŸããããããŸã§ãCã®
structã®è©±ã§ãã
ä»ã®èšèªã«æ§é äœããã£ãããCã«ãstructæ©èœãã€ããããš
çºæ³ããã®ã§ã¯ãªããã¢ã»ã³ãã©ã§FRAMEæ©èœã䜿ã£ãŠããã®ã
容æã«ç§»è¡ã§ããããã«structãå°å
¥ããã®ã§ã¯ãªãã§ããã
ããã
éœè€æçŽãsai...@ist.osaka-u.ac.jp
<to...@lbm.go.jp> wrote in message news:bif0l6$u7v$1...@bluegill.lbm.go.jp...
> In article <YAS.03Au...@kirk.is.tsukuba.ac.jp> y...@is.tsukuba.ac.jp
writes:
> >èšèªã®ãæ§é äœãã®èãæ¹ã®å
ã¯ãPL/1 ã ãšæããŸããæ£ç¢ºã«
> >ã¯ãPL/IãšãããPL/1 ã®ãµãã»ããã§ãMultics ã®èšè¿°ã«äœ¿ãã
> >ããã®ã
>
> ãšããã§ãSubject:ã«ã¯ãPL/Mããšããã®ã§ããã
> æ¬æã®æ¹ãæžã誀ããšèããŠè¯ãã§ããããïŒ
> ïŒPL/Iã®ãµãã»ããã®PL/Mãšããã®ã¯èãèŠããããã®ã§âŠâŠïŒ
PL/1ãšPL/Iã¯åãã§ã¯ãªãã®ã§ãããããã¡ãã£ãšæ¢ããŠã¿ãŸãããïŒPL/Iã®äžäœã®
èšèªãèŠã€ãããŸããã§ãããPL/Iã®ãµãã»ããã§EPLãšããã®ã¯ïŒèŠã€ãããŸãã
ãã
ãšããã§ïŒãæ§é äœãã®èãæ¹ã®å
ãPL/Iãšããã®ã¯ïŒãã®éãããç¥ããŸãããã
ãšããã§
The Development of the C Languageã
Dennis M. Ritchie
Bell Labs/Lucent Technologies
Murray Hill, NJ 07974 USA
(http://www.cs.bell-labs.com/who/dmr/chist.html)
ã«ä»¥äžã®ãããªèšè¿°ããããŸããã
äžç¥
Embryonic C
äžç¥
These semantics represented an easy transition from B, and I experimented
with them for some months. Problems became evident whenãI tried to extend
the type notation, especially to add structured (record) types. Structures,
it seemed, should map in an intuitive way onto memory in the machine, but in
a structure containing an array, there was no good place to stash the
pointer containing the base of the array, nor anyãconvenient way to arrange
that it be initialized.
ãªãããŒã¯ïŒæ§é äœã®å®è£
ã«ããªãèŠåŽããããã§ããïŒãã®äžŠã³ã«ã€ããŠã¯çŽæç
ã«ã¡ã¢ãªã«å²ãä»ããã¹ããšèããŠããããã§ããïŒçŽæçãšã¯ïŒäžŠã³é ã«çŽ çŽã«å²
ãä»ãããšããæå³ã§ãããããïŒ
äžç¥
ãŸãïŒïŒ£ã«ãããåã®ãã¶ã€ã³ïŒæ§é äœãå«ãïŒã«ã€ããŠã¯ïŒ
The scheme of type composition adopted by C owes considerable debt to Algol
68, although it did not, perhaps, emerge in a form that Algol's adherents
would approve of. The central notion I captured from Algol was a type
structure based on atomic types (including structures), composed into
arrays, pointers (references), and functions (procedures). Algol 68's
concept of unions and casts also had an influence that appeared later.
Algol 68ã«è² ããšãããå€ããšèšã£ãŠããããã§ãã
--
******************************
keizi kounoike
******************************
> èšèªã® /**/ ã®ã³ã¡ã³ãããPL/1 ãšåãã§ãã
âŠã¯ã£ãããããã°ã
> PL/1 ã¯ãFortran ãš Cobol ãäŒãããŠïŒã€ã§èšè¿°ããããšããã
> ãšã§äœãããèšèªãªã®ã§ãC ã®æ§é äœã®å
ã Cobol ãšããã®ã¯ã
> ããæå³ã§ã¯æ£è§£ãªãã§ãããã
ãããå ±çšäœã¯REDEFINEïŒ
--
--
Akihito Nakamura( Chun )
> PL/1ãšPL/Iã¯åãã§ã¯ãªãã®ã§ãããããã¡ãã£ãšæ¢ããŠã¿ãŸãããïŒPL/Iã®äžäœã®
> èšèªãèŠã€ãããŸããã§ãããPL/Iã®ãµãã»ããã§EPLãšããã®ã¯ïŒèŠã€ãããŸãã
> ãã
http://www.net.intap.or.jp/oiia/cont1/p0302.html{0recid=10112.html
ã«ãããš
ããPL/I(åæã«ã¯PL/1ãšè¡šèšãããŠããããçŸåšã¯PL/Iãæ£ãã)
ããã§ãã
In article <bihokq$o3q$1...@nn-tk102.ocn.ad.jp>, "Akihito Nakamura" <ch...@bekkoame.ne.jp> writes
> ããPL/I(åæã«ã¯PL/1ãšè¡šèšãããŠããããçŸåšã¯PL/Iãæ£ãã)
> ããã§ãã
IBM 㯠PL/2 ãäœãããšã¯ããªãã£ããã§ããããã??/2 ãšãã
åæšãåããŸãã£ãææãããããããã§ãã...
---
Shinji KONO @ Information Engineering, University of the Ryukyus,
PRESTO, Japan Science and Technology Corporation
æ²³éçæ²» @ çç倧åŠå·¥åŠéšæ
å ±å·¥åŠç§,
ç§åŠæè¡æ¯èäºæ¥å£ããããç ç©¶21(æ©èœãšæ§æ)
In article <YAS.03Au...@kirk.is.tsukuba.ac.jp> y...@is.tsukuba.ac.jp wrote on Tue, 26 Aug 2003 06:00:42 GMT:
>PL/1 ã¯ãFortran ãš Cobol ãäŒãããŠïŒã€ã§èšè¿°ããããšããã
>ãšã§äœãããèšèªãªã®ã§ãC ã®æ§é äœã®å
ã Cobol ãšããã®ã¯ã
>ããæå³ã§ã¯æ£è§£ãªãã§ãããã
PL/Iã¯FORTRANãšCOBOLãšALGOLãäžã€ã«ãããšã©ããã§èãããããªã
åºæã¯ããæ¶ããŠããªãã
PL/Iã®ã³ã³ãã€ã©ã§FORTRANã®ãœãŒã¹+αãã³ã³ãã€ã«ã§ããã°ã
çµæ§å£²ããã ããã«ã
-----------------------------------------------------------------
é»åäžå€®ç ç©¶æ é»åã·ã¹ãã éš ç«¹äž æž
- kiyos - kiyos - kiyos - kiyos - kiyos - kiyos - kiyos - kiyos -
take...@criepi.denken.or.jp
In article <bif0l6$u7v$1...@bluegill.lbm.go.jp>
to...@lbm.go.jp writes:
> ãšããã§ãSubject:ã«ã¯ãPL/Mããšããã®ã§ããã
> æ¬æã®æ¹ãæžã誀ããšèããŠè¯ãã§ããããïŒ
ãã¿ãŸãããééããŸãããMultics ã ãã M ããªããšã
Subject: ãæžãæã«æã£ãŠããã®ã§ãããæ¬ææžãæã«ã¯ãPL/1
ã§ããããšæã£ãŠã
http://www.multicians.org/pl1-raf.html
------------------------------------------------------------
The language
The Multics PL/1 language is the language defined by the IBM
"PL/1 Language Specifications" dated March 1968. At the time
this paper was written most language features were
implemented by the compiler but the run time library did not
include support for input and output, as well as several
lesser features. Since the multi-tasking primitives provided
by the Multics operating system were not well suited to PL/1
tasking, PL/1 tasking was not implemented. Inter-process
communication (Multics tasking) may be performed through
calls to operating system facilities.
------------------------------------------------------------
> >ãå
ã«å匷ããŠãã PL/1 ãèŠãæã«ã¯ãPL/1 ã¯ããã£ãæªã
> >æããããŸãããæ§é äœã®å®çŸ©ã§ããã¹ãã®ã¬ãã«ãçŸãã®ã«æ°å
> >ãæžããªããšãããªãã£ããšæããŸãã
> ãã®ä»æ§ã¯ãCOBOLãã®ãŸããŸã§ãã
ããã§ããããCobol ã¯ãæžããããšããªãã®ã§ã
http://www.users.bigpond.com/robin_v/c2pli.htm ããæ§é äœã®
宣èšã®ä»æ¹ã®å¯Ÿæ¯ããã£ãã®ã§æãåºããŠãããŸãã
Cèšèª:
struct S {
int p;
float q;
};
PL/1:
DECLARE 1 S,
3 p FIXED BINARY,
3 q FLOAT DECIMAL;
Cèšèª(ããããã£ãŒã«ã)
struct T {
unsigned int u : 1;
unsigned int v : 2;
unsigned int w : 0;
};
Note that a zero field is filled out to a byte boundary as shown.
PL/1:
DECLARE 1 T,
3 u BIT (1) UNALIGNED,
3 v BIT (2) UNALIGNED,
3 w BIT (5) UNALIGNED;
éå»ã®è©±ããããã§ãããæªæ¥ã®è©±ããã£ãšãããã§ããã
çŸåšã®ïŒ£ã®èŠæ Œããæªæ¥æ°žå«å€ãããã§ããªããã
In article <m3wud3a...@maedapc.cc.tsukuba.ac.jp>
MAEDA Atusi <ma...@cc.tsukuba.ac.jp> writes:
> ãããïŒçµå±structã®å®£èšã¯ïŒ
> 1.ããã°ã©ãã³ã°ã§äœ¿ãçµ(tuple)ããŒã¿ãããçšåºŠæœè±¡çã«èšè¿°ãããã®
> 2.ãã¡ã€ã«I/Oãéä¿¡ã®éã®å
¥åºåã¬ã³ãŒããå
·äœçã«èšè¿°ãããã®
> 3.ã¡ã¢ãªäžã®ã¬ã€ã¢ãŠããå
·äœçã«èšè¿°ãããã®
> ã®3ã€ãïŒåœåã¯å
ŒããŠãããã©ïŒã ãã ãèŠãããªã£ãŠãããã§ããïŒ
ããšäœå¹Žããããæã¡ãŸãããã
ïŒã ãã§ãããªããã䜿ããªãšãã話ã¯ãããŸããæ§é äœã®ãã
ã§ã¯ãªããšæããŸãããããïœïœïœã®æ¹ããã£ãšé«ãçç£æ§ã
ããã人ãããŸããäž¡æ¹ã§ãã人ã¯ãããªã«çç£æ§ã¯å€ããªãã®ã
ããããªãããã©ãã ãšãã€ãŸã§ãã£ãŠãã§ããªãã®ã«ãïœïœïœ
ãªãããã°ã©ã ã宿ãããšããäŸã¯ãããŸãã
ã§ãJavaã§ã2., 3. ãæžãããšãããšãçµã£ãŠããŸããã§ãããã
> Javaã¯ããããèãæ¹ã§ããïŒclassã®ã¡ã³ãã®äžŠã³ã¯ã©ãã§ãè¯ãïŒåæ¹å
> ç
§ããŠãé¢ä¿ãªãïŒå®éïŒã¡ã¢ãªäžã®ã¬ã€ã¢ãŠãã¯å®£èšé ã§ãªãäžŠã¹æ¿ããåŠ
> çç³»ãååšããŸã(åºæ¬åãšïŒGCãèŠãå¿
èŠã®ããåç
§åãåããŠé
眮ãã)ïŒ
> ã¡ã³ãã®ã¡ã¢ãªäžã®äœçœ®ãããã°ã©ãã«èŠããããšã¯ç¡ãã®ã§ïŒããã§è¯ãã
> ã§ããïŒã¬ã³ãŒããI/Oããæã¯marshaling (serialization)ããŸãïŒé
眮ã
> 決ããããã°ïŒèªåã§ãã€ãåäœã§èªã¿æžãããŸãïŒ
å
·äœçã«ãJava ãã SunRPC (XDR) ã§æäŸãããŠãããµãŒãã¹ã
䜿ããããšæã£ãæã«ãå®éã©ã®çšåºŠã®é£ããã§ã§ããã®ã§ããããã
> å¯å€éšåãunionã«ããŠå®å
šã«ããŒã¿ãã«ã«ããããšãå¯èœã§ããããã©ïŒ
> ã»structã®ãµã€ãºãšããŠïŒããšãããæå€§ã®ãµã€ãºããåãå¿
èŠãããïŒ
> ã»ãåŸã§æ¡åŒµãããããšãã§ããªããªãïŒããšãã°ïŒsockaddrã®å®çŸ©äžã«
> sockaddr_in, sockaddr_un, sockaddr_x25, ...ã®å®çŸ©ããããããå
šéš
> å«ããªããã°ãããªããªãïŒ
> ã®ã§ïŒçšéãéãããŠããŸããŸãïŒ
Linux ã®ã«ãŒãã«ã§ãVFS å±€ã®inode ã®å®çŸ©ããããªæãã®å·šå€§ãª
union ã«ãªã£ãŠãããšæããŸããã
> ããïŒå®éäžããã¯ã¡ãã£ãšâŠ
> ã¢ãžã¥ãŒã«åãã§ããªããªã£ãŠããŸãïŒ
> ã©ã€ãã©ãªããªã³ã¯ããéãå
šéšãœãŒã¹ããã³ã³ãã€ã«ãçŽããšããã®ã¯âŠ
ãœãŒã¹ãããã°ãéãããã©ããœãŒã¹ããªããŠãæ®éã« XDR ãã
ãã°ããã®ã§ãRPC ãããšæãã°ãä»ã® CPU ã§åé¡ãªãé床ãåº
ããšæããŸãã
> ãªãããŒã¯ïŒæ§é äœã®å®è£
ã«ããªãèŠåŽããããã§ããïŒãã®äžŠã³ã«ã€ããŠã¯çŽæç
> ã«ã¡ã¢ãªã«å²ãä»ããã¹ããšèããŠããããã§ããïŒçŽæçãšã¯ïŒäžŠã³é ã«çŽ çŽã«å²
> ãä»ãããšããæå³ã§ãããããïŒ
ãã®ããäžã®ãã£ã¬ã¯ããªãšã³ããªããã¡ã€ã«ããèªãäŸã§ïŒ
I wanted the structure not merely to characterize an abstract object
but also to describe a collection of bits that might be read from a directory.
ãšãããšãããè峿·±ãã§ããïŒãã£ã±ãïŒåãªãæœè±¡çãªã¿ãã«ã®è¡šçŸã§ãª
ãïŒã¡ã¢ãªäžïŒãã¡ã€ã«äžã®ããããã¿ãŒã³ããã®ãŸãŸèšè¿°ã§ãããã®ã«ãã
ãã£ããã§ããïŒ
åç°æŠåž
> å
·äœçã«ãJava ãã SunRPC (XDR) ã§æäŸãããŠãããµãŒãã¹ã
> 䜿ããããšæã£ãæã«ãå®éã©ã®çšåºŠã®é£ããã§ã§ããã®ã§ããããã
éä¿¡ããŒã¿ã®åœ¢åŒãXDRã«åãããªããã°ãããªãå Žåã§ãã?
Pure Javaã ãšïŒrpcgenã䜿ããªãã§Cã§æžãããé¢åã§ãããïŒ
ByteArrayOutputStream data = new ByteArrayOutputStream();
dOut = new DataOutputStream(data);
...
dOut.writeInt(RPC_CALL);
dOut.writeInt(RPC_VERSION);
dOut.writeInt(RPC_PROG_NUM_NFS);
...
byte[] dataBytes = data.getBytes();
DatagramPacket packet =
new DatagramPacket(dataBytes, 0, dataBytes.length, inet_address, port);
ãšããããã§ãããã(ãŸãïŒããã¡ãã£ãšæœè±¡åããã§ããããã©)ïŒ
ããŒã¿åœ¢åŒãã©ãã§ãè¯ããŠïŒRMIã䜿ã£ãŠè¯ããªãïŒSunRPCãšåããããæ¥œ
ã§ãïŒ
> > ããïŒå®éäžããã¯ã¡ãã£ãšâŠ
> > ã¢ãžã¥ãŒã«åãã§ããªããªã£ãŠããŸãïŒ
> > ã©ã€ãã©ãªããªã³ã¯ããéãå
šéšãœãŒã¹ããã³ã³ãã€ã«ãçŽããšããã®ã¯âŠ
>
> ãœãŒã¹ãããã°ãéãããã©ããœãŒã¹ããªããŠãæ®éã« XDR ãã
> ãã°ããã®ã§ãRPC ãããšæãã°ãä»ã® CPU ã§åé¡ãªãé床ãåº
> ããšæããŸãã
XEventãšãã¯ããªããžã§ã¯ãæåã®ç¶æ¿ãã©ãããªãã§ããã©ïŒã¢ãžã¥ãŒã«é
ã§ããéä¿¡ããšã¿ãªããŠXDR圢åŒãžãã£ãã倿ãã(éšåè©äŸ¡ã§ããã°å€æã¯
çç¥ãã)ãšãããšïŒ
ã»ãã£ã¹ãã®ãã³ã«XDRçµç±ã§å€æããã®ã¯ïŒãããã«é
ããã§ã¯ïŒãŸãïŒ
XEventãããã ãšå€§äžå€«ããç¥ããã§ããã©ïŒäžè¬ã«ãç¶æ¿ãããXDRãžã®
倿ãã§å®è£
ãã¡ããã®ã¯é
ããïŒ
ã»è€æ°ã®ãã€ã³ã¿ããå
±æãããŠããæïŒå¥ã®ã¢ãã¬ã¹ã®XDR圢åŒããŒã¿ã«ã³
ããŒãã¡ãããšidentityãä¿ãŠãªããªãã®ã§ïŒåããªããªãã®ã§ã¯ïŒ(ã¡ãœã
ãåŒã³åºã/埩垰ã®ã¿ã€ãã³ã°ã§ãããããªãããªãïŒã©ã€ãããã¯ããã°
è¯ãã®ããªïŒ)
ç¶æ¿ãã©ãããããããšãïŒçŸç¶ã§ã¯ïŒè€äºãããã
<87wud2...@anago2.mas.chi.its.hiroshima-cu.ac.jp> ã§ãã©ããŒããã£
ãããã«ïŒèŠªstructãå
é ã«æžãããã«ããã®ãè¯ãããã§ããïŒèŠªã®åãžå€
æããéã«ã¯ãã£ã¹ãããäžèŠã ãïŒ
åç°æŠåž
Yasushi Shinjo wrote:
> æ°åïŒ çæ³¢å€§åŠæ å ±ã§ããããã«ã¡ã¯ã
>>ãããïŒçµå±structã®å®£èšã¯ïŒ
>>1.ããã°ã©ãã³ã°ã§äœ¿ãçµ(tuple)ããŒã¿ãããçšåºŠæœè±¡çã«èšè¿°ãããã®
>>2.ãã¡ã€ã«I/Oãéä¿¡ã®éã®å
¥åºåã¬ã³ãŒããå
·äœçã«èšè¿°ãããã®
>>3.ã¡ã¢ãªäžã®ã¬ã€ã¢ãŠããå
·äœçã«èšè¿°ãããã®
>>ã®3ã€ãïŒåœåã¯å
ŒããŠãããã©ïŒã ãã ãèŠãããªã£ãŠãããã§ããïŒ
> ïŒã ãã§ãããªããã䜿ããªãšãã話ã¯ãããŸãã
> ã ãšãã€ãŸã§ãã£ãŠãã§ããªãã®ã«ãïœïœïœ
> ãªãããã°ã©ã ã宿ãããšããäŸã¯ãããŸãã
> ã§ãJavaã§ã2., 3. ãæžãããšãããšãçµã£ãŠããŸããã§ãããã
ANSIC以éã®æµãã¯ãCãæ¹è¯ããã€ããã§åŒå°ãæž¡ããŠãã
ã®ã§ã¯ãªãããšããæ°ãããŠããŸããé«çŽã¢ã»ã³ãã©ã ãã
Cã¯æå³ãããã®ã«ããããã«å®çŸ©ããé«çŽèšèªãã€ãããã
ãã°ãCãã€ãããã«ãã£ãšä»ã®åªããèšèªã䜿ãã°ããããã§ã
ãã©ã€ã°ã©ãã¿ãããªæ¿æ²»ç劥åã®ç£ç©ãã¯ãã£ãŠæ¥ã¡ãããã
COBOLãFORTRANã¯ã©ããªãã§ãããïŒãããããæ§é åããã°ã©ãã³ã°
ãšãæåååŠçãšãåãå
¥ããããšããŠæ¹èšãéããããŠ
æ¥ãŠãããšæããŸãããæ¬åœã«ææ°èŠæ Œãåºã䜿ãããŠãããã§ãã
ããïŒããã¿ãŸãããFORTRANã¯ïŒïŒã§ç¥èãæ¢ãŸã£ãŠãŸãã
éœè€æçŽãsai...@ist.osaka-u.ac.jp
In article <bihokq$o3q$1...@nn-tk102.ocn.ad.jp> ch...@bekkoame.ne.jp writes:
>> PL/1ãšPL/Iã¯åãã§ã¯ãªãã®ã§ãããããã¡ãã£ãšæ¢ããŠã¿ãŸãããïŒPL/Iã®äžäœã®
>> èšèªãèŠã€ãããŸããã§ãããPL/Iã®ãµãã»ããã§EPLãšããã®ã¯ïŒèŠã€ãããŸãã
>> ãã
>http://www.net.intap.or.jp/oiia/cont1/p0302.html{0recid=10112.html
>ã«ãããš
>ããPL/I(åæã«ã¯PL/1ãšè¡šèšãããŠããããçŸåšã¯PL/Iãæ£ãã)
>ããã§ãã
ã§ããIãããoneããšèªããã§ãããã
ãIBMã®Iãã ãšãã話ããããã§ããã
èªã¿æ¹ãããããšãããŒãæ°åã®å£±ããªã®ããªãïŒ
ãIBM as No.1ãã£ãŠããšïŒ
In article <bihqr1$1ga$1...@dnknews.denken.or.jp> take...@criepi.denken.or.jp writes:
> >PL/1 ã¯ãFortran ãš Cobol ãäŒãããŠïŒã€ã§èšè¿°ããããšããã
> >ãšã§äœãããèšèªãªã®ã§ãC ã®æ§é äœã®å
ã Cobol ãšããã®ã¯ã
> >ããæå³ã§ã¯æ£è§£ãªãã§ãããã
>PL/Iã¯FORTRANãšCOBOLãšALGOLãäžã€ã«ãããšã©ããã§èãããããªã
>åºæã¯ããæ¶ããŠããªãã
æãè¡åäœã§ã¯ãªãã;ãã§åºåããšããçºæ³ã¯ãééãç¡ãalgolèµ·æºã§ããã
ãã ãalgolã®ã;ããåé¢èšå·ïŒdelimiterïŒãªã®ãã
PL/Iã§ã¯çµç«¯èšå·ïŒterminatorïŒã«å€ãã¡ãã£ãã
ã€ãã§ã«ãalgolã§ã¯ãæãšããåäœããè¶
è¶ããèšå·ãã ã£ã
ãbeginãããendããªã©ããFORTRANçãªçºæ³ã®ãå¶åŸ¡æãã«å€ãã¡ãããŸããã
ãBEGIN;ããEND;ããšãã;ããä»ããŠãããã§ïŒã€ã®ãæããªãã§ããã
ããã¯ãè¡ãšããåäœã«ææ³äžã®æå³ãããFORTRANãCOBOLãšã®
èŠªåæ§ãæ±ããçµæãªãã ãšæããŸãã
ïŒPL/Iã®ãBEGIN;ãã¯ã€ã³ã©ã€ã³ã®ãæç¶ãããšãèšãããããªåŒ·ãåºåããªã®ã§ã
ïŒalgolã®ãbeginãã¯ãDO;ãã«çžåœãããšèããæ¹ãæ£ç¢ºãããããŸããã
ã;ããçµç«¯èšå·ã§ãããšããç¹åŸŽã¯ïŒ£èšèªã«ãåãç¶ãããŠããŸããã
å®éãPascalãå匷ããŠãããšãã«ã€ã©ã€ã©ããããšãªãã§ããã
ãããã°ã©ã ã®å
¥ãåæ§é ãæ®µäžãã§è¡šçŸãããããããªã©ã
ïŒæ¬¡å
çãªåºããã®äžã§ããã°ã©ã ãçè§£ããŠèªã¿æžãããããšãããšã
ã;ããalgolåŒã«åé¢èšå·ã§ãããšããå®çŸ©ãšã¯çžå®¹ããªãã®ã§ãã
åé¢èšå·ã®ã;ãã¯ããããŸã§ããã°ã©ã ãïŒæ¬¡å
çã«çè§£ããããšã
åæã«ããæµåã ãšèšããïŒæ¬¡å
çã«ããã°ã©ã ãæžãçŸå®ã«ã¯
ããããªããã®ã ãšæã£ãŠããŸãã
ãã®ç¹ãèšèªã¯PL/Iã®ç¹åŸŽãè¯ãå
·åã«åãç¶ãã ãšèšãããšæããŸãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
In article <bii3h8$qh2$1...@newsserv.ics.es.osaka-u.ac.jp>, SAITOH akinori <sai...@ist.osaka-u.ac.jp> writes
> ANSIC以éã®æµãã¯ãCãæ¹è¯ããã€ããã§åŒå°ãæž¡ããŠãã
> ã®ã§ã¯ãªãããšããæ°ãããŠããŸããé«çŽã¢ã»ã³ãã©ã ãã
> Cã¯æå³ãããã®ã«ããããã«å®çŸ©ããé«çŽèšèªãã€ãããã
> ãã°ãCãã€ãããã«ãã£ãšä»ã®åªããèšèªã䜿ãã°ããããã§ã
ããèããŠãã人ã¯äœäººãããã¿ããã§ãC-- ãšããããŸãããå
ãäžã€èšèªãäœã£ããªã
> ãã©ã€ã°ã©ãã¿ãããªæ¿æ²»ç劥åã®ç£ç©ãã¯ãã£ãŠæ¥ã¡ãããã
ãããçããŠãããšæã£ãŠãã人ã¯ããªãããããªãããªã
> ããïŒããã¿ãŸãããFORTRANã¯ïŒïŒã§ç¥èãæ¢ãŸã£ãŠãŸãã
FORTRAN ã¯ãæ¯å¹Žæ¯å¹Žãå¥ç©.... ããããæã®ããã°ã©ã ã¯åã
ãšèšã...
> MAEDA Atusi wrote:
> > ã©ã£ã¡ããstructã®å
é ã§åã宣èšã®ä»æ¹ãããã°ïŒåãããã«ã¡ã³ããå²ã
> > ä»ããããããšä»®å®ããªããšåããªãã§ãããïŒ
>
> å
±çšäœã®ãªãã®æ§é äœã ãã¯ç¹å¥ã«ä¿èšŒãããããã§ãã
>
> æ§é äœã®å
é ã«è©°ãç©ããããªãããšã«ãªã£ãŠããã®ã§ã
> 以äžã®ãããªç¶æ¿ãã§ãããã§ãã
ã»ããšã ïŒã¡ãããšèŠæ Œã«ãããŸãã(ISO/IEC 9899:1999ã®ïŒãããã
6.5.2.3 #5ãšïŒ6.7.2.1 #13)ïŒ
ããŒãšïŒ
å
±çšäœã®ã¡ã³ããŒã®è€æ°ã®æ§é äœããå
±éã®å
é éšåããæã£ãŠãããšãïŒ
å
±çšäœã®å®å
šãªå®çŸ©ãå¯èŠã§ããå Žæãªãã°ïŒ(ä»ã©ã®æ§é äœãå
¥ã£ãŠãã
ãäžæã§ã)å
é éšåã«è§Šã£ãŠè¯ã(6.5.2.3 #5;倧æ)
ã©ã®æ§é äœãžã®ãã€ã³ã¿ãåã圢åŒã§ïŒalignment requirementsãåãã§ã
ã(6.2.5 #26)
å
±çšäœãžã®ãã€ã³ã¿ã¯(é©åã«å€æããã°)åã¡ã³ããæãïŒéããŸãçïŒ
(6.7.2.1 #14)
ã§ããããã§ãããïŒäŸãã°å ±éã®å é éšåãæã€æ§é äœ
struct s1 { int common; ... };
struct s2 { int common; ... };
ããããšãïŒãŠããšãŒãªå ±çšäœ
union u {
struct s1 s1;
struct s2 s2;
};
ããå¯èŠã§ããå Žæãªãã°ãïŒ
struct s1 *p1;
ãã
struct s2 *p2 = (struct s2 *)((union u *)p1);
ãšå€æã㊠s2->common ãèªã¿æžãããã®ã¯ããŸããªãããã§ããïŒ
ã§ïŒäžã®union uã®å®çŸ©ãªãã§
struct s2 *p2 = (struct s2 *)p1;
ãšãã£ãŠs2->commonãèªã¿æžãããã®ã¯èŠæ Œã§ã¯ãªããšããã¡ããªããã§ã
(6.5.2.3 EXAMPLE 3)ïŒ
ãããïŒunion uã®å®çŸ©ã®ãããªãã§struct s1ãs2ã®ã¡ã³ãã®ãªãã»ãããå€
ãããªããŠããåŸãªããšæããã©ãªã⊠union uã®å®çŸ©ãèŠãããã¡ã€ã«ã§ãïŒ
èŠããªããã¡ã€ã«ã§ãïŒåãstruct s1ã䜿ãããã ããïŒ
å®è³ª(union u *)ãªãã§ãåãã§ãããïŒããããã«ïŒsockaddr_inãXEventã§
ãã£ãŠãããšã¯OKãšïŒ
ïŒ ããïŒèª°ãããã¡ããšèšã£ã人ã¯ããªããšæããã§ãã...
åç°æŠåž
In article <bii43j$2m4$1...@bluegill.lbm.go.jp>, to...@lbm.go.jp writes
> PL/Mãšããã®ã¯CP/Mã®èšè¿°èšèªã§ãMulticsãšã¯é¢ä¿ç¡ãããã§ãã
> http://contest.thinkquest.gr.jp/tqj1999/20204/bbs/f/freetalk/10/
PL/M ã¯ã€ã³ãã«ã®ãã€ã¯ãããã»ããµçšã®èšèªã§ãã
CP/M 80ãPL/Mã§ããããŠããã£ãŠã®ã¯åã¯ä¿¡ããããªãã§ãã
CP/M ã¯ããã¶ããã¢ã»ã³ãã©ã§æžãããŠãããã ãããšæãã
CP/M 86 ãšã 68k ã¯éãããç¥ããŸãããã
äžåã ã䜿ã£ãããšãããã ãã©ããããèšèªã ãšæã£ãã
ååž°ãã ããšãã€ãŸããªãå¶çŽããã£ããããªæ°ããããã
> èªã¿æ¹ãããããšãããŒãæ°åã®å£±ããªã®ããªãïŒ
> ãIBM as No.1ãã£ãŠããšïŒ
Programming Language 1 ã§ãããã1 ã€ã§ããŸãããã£ãŠãã
æå³ã ã£ããããPL ã ãã§ã¯å°ãªããšæã£ããã ãããªã
> ãã ãalgolã®ã;ããåé¢èšå·ïŒdelimiterïŒãªã®ãã
> PL/Iã§ã¯çµç«¯èšå·ïŒterminatorïŒã«å€ãã¡ãã£ãã
declare ã de ãšãæžãã®ãæ®éã«ãªã£ãæç¹ã§çµã£ãããããªã
ããšæããŸãã
> ã;ããçµç«¯èšå·ã§ãããšããç¹åŸŽã¯ïŒ£èšèªã«ãåãç¶ãããŠããŸããã
> å®éãPascalãå匷ããŠãããšãã«ã€ã©ã€ã©ããããšãªãã§ããã
> ãããã°ã©ã ã®å
¥ãåæ§é ãæ®µäžãã§è¡šçŸãããããããªã©ã
> ïŒæ¬¡å
çãªåºããã®äžã§ããã°ã©ã ãçè§£ããŠèªã¿æžãããããšãããšã
> ã;ããalgolåŒã«åé¢èšå·ã§ãããšããå®çŸ©ãšã¯çžå®¹ããªãã®ã§ãã
C ã®å®çšçã§ãããã
ko...@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> In article <bii43j$2m4$1...@bluegill.lbm.go.jp>, to...@lbm.go.jp writes
>> PL/Mãšããã®ã¯CP/Mã®èšè¿°èšèªã§ãMulticsãšã¯é¢ä¿ç¡ãããã§ãã
>> http://contest.thinkquest.gr.jp/tqj1999/20204/bbs/f/freetalk/10/
>
> PL/M ã¯ã€ã³ãã«ã®ãã€ã¯ãããã»ããµçšã®èšèªã§ãã
>
> CP/M 80ãPL/Mã§ããããŠããã£ãŠã®ã¯åã¯ä¿¡ããããªãã§ãã
> CP/M ã¯ããã¶ããã¢ã»ã³ãã©ã§æžãããŠãããã ãããšæãã
CP/Mã®æ¬äœã§ããBDOSã¯èªãã éãæããã«ã¢ã»ã³ãã©ã§æžãããã³ãŒãã§ãã
ã³ãã³ãããã»ããµã®CCPãã¢ã»ã³ãã©ã
BIOSã®ãµã³ãã«ãã¢ã»ã³ãã©æäŸã
ãã©ã³ãžã§ã³ãã³ãã³ã(å€éšã³ãã³ã)ã®ããã€ããPL/Mã§æžãããŠããããã§ãã
SUBMITãšããã²ãšã€äœã(STATã ã£ãã)ãèªã¿ãŸããããã¬ãžã¹ã¿ãç¹åŸŽçãª
䜿ããæ¹ãããŠãããäœããã®ã³ã³ãã€ã©èšèª(ããããPL/M)ã§æžãããŠããããšã
èªã¿åããŸãã
XSUBã¯å€éšã³ãã³ãã§ãããåžžé§ãããããã¢ã»ã³ãã©ã§æžãããŠãŸããã
PL/Mãšã¯å¥ã«ãCP/Mçšã®PL/Iã³ã³ãã€ã©ã¯ãããŸããããã¬ãã«Fã ãGã ãã®
ãµãã»ãããšããããšã§ãããã
--
oo
In article <u7k4zm...@anet.ne.jp>, OOTANI TAKASHI <tks...@anet.ne.jp> writes
> CP/Mã®æ¬äœã§ããBDOSã¯èªãã éãæããã«ã¢ã»ã³ãã©ã§æžãããã³ãŒãã§ãã
> ã³ãã³ãããã»ããµã®CCPãã¢ã»ã³ãã©ã
> BIOSã®ãµã³ãã«ãã¢ã»ã³ãã©æäŸã
ããã ãããèšè¿°èšèªã£ãŠã®ã¯ããã£ãšCP/Mäžã§äœ¿çšã§ããèšèªã£
ãŠããæå³ãªãã ãããªã
> SUBMITãšããã²ãšã€äœã(STATã ã£ãã)ãèªã¿ãŸããããã¬ãžã¹ã¿ãç¹åŸŽçãª
> 䜿ããæ¹ãããŠãããäœããã®ã³ã³ãã€ã©èšèª(ããããPL/M)ã§æžãããŠããããšã
> èªã¿åããŸãã
SUBMITã¯ããããç¥ããªãã
> XSUBã¯å€éšã³ãã³ãã§ãããåžžé§ãããããã¢ã»ã³ãã©ã§æžãããŠãŸããã
(æããïœ ããã€ãäœããããç¥ã£ãŠãã人ã¯ãã©ãã ããããã ããã?)
> PL/Mãšã¯å¥ã«ãCP/Mçšã®PL/Iã³ã³ãã€ã©ã¯ãããŸããããã¬ãã«Fã ãGã ãã®
> ãµãã»ãããšããããšã§ãããã
åãæåã«è§Šã£ã C ã¯ãCP/M 80 äžã® White Smith C ã§ãã
ãªããšãprintf ããªããšãã!? Cã§ããªãã§ããä»ãã
èããŠã¿ããšãWhite Smith C ã®æ¹ãããããŠãããšæãã
次ããFlex 09 äžã® Micro C, Introl C ãããããCP/M 86 äžã®
Optimizing C ã§ããæ¬¡ã«ã4.1BSD ã® C ã ãªãVAX ã®åºåã³ãŒãã¯
ã»ãšãã©èªãŸãªãã£ããªãä»ããèãããšãã£ãããªãã£ãã
ããã¯ã¹ã©ãã·ã¥ãåèšå·ã«åãã¡ãããããªç°å¢ã®ã²ãšã¯
ã»ããšãã¯äœ¿ããªãããããªãã®ã§ã¯? ;)
èšèªã£ãŠãããã°ã©ã ã®æ§é ãèŠèŠçã«è¡šçŸããããšã培åºããã®ãã
ä»ã®algolç³»èšèªã«æ¯èŒããŠã®é¡èãªé·æã ãšæã£ãŠããã§ããã
ïŒäŸãã°ããbeginããendããå»ããŠã{ }ãã«ãããšãïŒ
ãã©ã€ã°ã©ãã£ãŠããã®ç¹é·ãèŠäºã«æ®ºãã¡ãã£ãŠããã§ãããã
FACOMïŒå¯å£«éïŒã®EBCDICæ©ã§äœ¿ãããŠãã
ïŒEBCDICæ©ã§ã¯ãããšäžè¬çã ã£ããããïŒ
Pascalçšã®ä»£æ¿è¡šçŸ
[ ] â (. .) ïŒé
åæ·»åããã³éååããŒã¿ïŒ
{ } â (* *) ïŒæ³šéïŒ
ã®æ¹ããèŠèªæ§ã®æå³ã§å§åçã«åªããŠãããšæãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
In article <bii43j$2m4$1...@bluegill.lbm.go.jp> I write:
>>PL/Iã¯FORTRANãšCOBOLãšALGOLãäžã€ã«ãããšã©ããã§èãããããªã
>>åºæã¯ããæ¶ããŠããªãã
>æãè¡åäœã§ã¯ãªãã;ãã§åºåããšããçºæ³ã¯ãééãç¡ãalgolèµ·æºã§ããã
>ãã ãalgolã®ã;ããåé¢èšå·ïŒdelimiterïŒãªã®ãã
>PL/Iã§ã¯çµç«¯èšå·ïŒterminatorïŒã«å€ãã¡ãã£ãã
>ã;ããçµç«¯èšå·ã§ãããšããç¹åŸŽã¯ïŒ£èšèªã«ãåãç¶ãããŠããŸããã
ãåé¢èšå·ãããdelimiterããšèš³ããŸãããã
ãseparatorãã®æ¹ãè¯ãããã§ããã
Pascalã®éçºè
ã§ããWirthãJensenãš1974幎ã«å
±èã§åºããæç§æž
ïŒåç°è³¢äžèš³ïŒå¹é¢šé€š1981ïŒã§ã¯ã
ã;ãã¯ãstatement separatorãã§ãããšããŠã
ãPL/Iã®ãããªstatement terminatorã§ã¯ãªãããšãŸã§å¿µæŒãããŠãããŸãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
to...@lbm.go.jpããã¯æžããŸããã
> ãšããããã
> http://www.lbm.go.jp/toda/comp/struct.html
> ã®ãããªåœ¢ã«ãŸãšããŠã¿ãŸããã
é¢çœãã§ããFRAMEç䌌åœä»€ãèµ·æºãšããã®ã¯ã¡ãã£ã𿵿ãããªãã
ã¡ãªã¿ã«ä»ã®ã¢ã»ã³ãã©ã§ãã¡ã¢ãªã¯å²ãåœãŠãã«ãªãã»ããæ¯ãã ã
ã®ç䌌åœä»€ã¯ãããŸãããã360ç³»ãšãã«ããã©ã£ã¡ããšãããšãåœæ
ã¢ã»ã³ããªèšèªã³ãŒãã§æ®éã«äœ¿ãããŠãããã€ã³ãã¯ã¹+ãªãã»ããã
ã¿ãããªã¢ãã¬ã·ã³ã°ã«ãã®ãŸãŸå¯Ÿå¿ã¥ãããããããªèšèªã¡ã«ããºã
ãšããŠãšãâŠ
ããããèšèªã¡ã«ããºã ãšãããªãCã®ç¥å
BCPLã芪æBLISSã調ã¹ã
å¿
èŠã¯ããããããªãã§ããããã
ãšããã€ã€èª¿ã¹ãŠããªãç§ã ä¹
é
In article <binp21$1...@utogw.gssm.otsuka.tsukuba.ac.jp> ku...@gssm.otsuka.tsukuba.ac.jp writes:
>> ãšããããã
>> http://www.lbm.go.jp/toda/comp/struct.html
>> ã®ãããªåœ¢ã«ãŸãšããŠã¿ãŸããã
> é¢çœãã§ããFRAMEç䌌åœä»€ãèµ·æºãšããã®ã¯ã¡ãã£ã𿵿ãããªãã
>ã¡ãªã¿ã«ä»ã®ã¢ã»ã³ãã©ã§ãã¡ã¢ãªã¯å²ãåœãŠãã«ãªãã»ããæ¯ãã ã
>ã®ç䌌åœä»€ã¯ãããŸãããã360ç³»ãšãã«ãã
ãªãã»ã©ã
ãšãããããæå®ãé¿ãã衚çŸã«æ¹ããŠã¿ãŸããã
ä»ã«ããèªåã§èªã¿çŽããŠã¿ãŠæ°ã«ãªã£ãéšåããã£ãšããã£ãŠãããŸãã
> ããããèšèªã¡ã«ããºã ãšãããªãCã®ç¥å
BCPLã芪æBLISSã調ã¹ã
>å¿
èŠã¯ããããããªãã§ããããã
ã§ããããããšãalgol 68ãèŠãŠãããããã ãã©ã
æç§æžæ¢ãããå§ããã°ãªããªãç¶æ³ã§ãã
ãŸããã®ãã¡äœãšãããŠããã¡ããšå匷ããæ©äŒãäœã£ãŠã
ããã«åºã¥ããŠèªåã®è²¬ä»»ã§æ¹èšããããšãç®æããŸããã
æ¢ã«åŸ¡åç¥ã®æ¹ãã埡ææãããã ããã°ã
ãšããããåœé¢ã®æ¹èšã¯ã§ããã®ã§ããããããé¡ãããŸãã
ïŒå°å·ç©ãšéã£ãŠãééç¡ãæ¹èšã§ããã^_^;
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
Pascalã®ãšããã«ããAlgol 60ã¯ãã®åйããšãããã§ããã
ãAlgol 68ã¯ãã®ééããããªããããã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
ãå
šãåäžããç¡ããŠãããã°ã©ã ãšããŠã¯ç䟡ã§ãããšããã®ã§ãããCOBOLãããã§ããã£ãïŒ
確ããåäžããæ£ãããªããšã³ã³ãã€ã«æã«ãšã©ãŒãè¿ã£ãŠãããããªèŠããâŠã
Aé åãšBé åã«å¶éããããŸããã
äžè¬çãªåäžãã¯ãã§ãã¯å¯Ÿè±¡ã§ã¯ãããŸããã
--
ãããããšãã¿ kash...@cup.com
ãããã£ãæå³ã§ã¯ãIBMã¡ã€ã³ãã¬ãŒã ã®PL/I(çŸçšã®PL/Iã£ãŠã¡ã€ã³ãã¬ãŒã
ã ãã§ãããã)ã§ã¯ãããã°ã©ã ã¯2ã«ã©ã ç®ãã72ã«ã©ã ç®ã®éã«æžããŸãã
1ã«ã©ã ç®ã¯ç¡èŠãããŸãã(ã³ã³ãã€ã«ãªãã·ã§ã³ã§å€æŽã§ããŸãã)
äœæ
æšæºã§1ã«ã©ã ç®ãç¡èŠããã®ãçç±ã¯ããããŸããããã³ã¡ã³ãã®éå§èšå·ãš
JCLã®ãªã³ãã¢ããã¥ã¡ã³ãã®çµç«¯èšå·ãã©ã¡ãã /* ãªã®ãé¢ä¿ããŠããã®ããã
unixé¢šã«æžããšãããªæãã§ãïŒ
pli <<'/*'
sample:proc options(main);
/* nanchara kanchara */
end sample;
/*
--
oo
to...@lbm.go.jp writes:
> In article <binuft$49p$1...@bluegill.lbm.go.jp> to...@lbm.go.jp writes:
>>> ããããèšèªã¡ã«ããºã ãšãããªãCã®ç¥å
BCPLã芪æBLISSã調ã¹ã
>>>å¿
èŠã¯ããããããªãã§ããããã
>>ã§ããããããšãalgol 68ãèŠãŠãããããã ãã©ã
>>æç§æžæ¢ãããå§ããã°ãªããªãç¶æ³ã§ãã
> ãšããããšã§ããšããããWebã§å°ãã¯å€ããªãããš
> ããããæ¢ããŠããã
algol68 struct union esac ã§ã°ã°ã£ãŠã
http://www.cs.virginia.edu/~evans/cs655-S00/Spring-1999/Slides/05a68_pasc.pdf
ã http://page.inf.fu-berlin.de/~wolff/Algol68-OCCL.html
ãšããã®ãèŠã€ããŸããã
20幎ã»ã©åã«è§£èª¬æžã1åèªãã ã®ã§ããããããèŠãŠå°ãæãåºããŠããŸããã
æžç°ããã®ãµã³ãã«ãalgol68ã§æžããšã
STRUCT (
INT maindata,
STRUCT (
INT subdata,
[0:3] CHAR subtext
) subsets,
[0:79] CHAR maintext
) datasets;
ã§ãããããäžçª C ãšäŒŒãŠãŸããã(algol68 ã®ããã°ã©ã ã®èšè¿°ã«ã¯2çš®é¡ã®æåã
å¿
èŠãªã®ã§ãšããããããŒã¯ãŒããååã倧æåã«ããŸãã)
union ããããŸããããã㯠C ãšããã¶ãéããC ã§ã¯ã©ã®åã®ããŒã¿ãå
¥ã£ãŠãã
ãã¯ããã°ã©ãã管çããŸãããalgol68 ã§ã¯åŠçç³»ã管çããŸãã
宣èšïŒ
UNION (INT,REAL) foo;
代å
¥ïŒ
foo := 1.5;
foo := 123;
åç
§ïŒ
CASE foo IN
(INT i): print(("integer=",i)),
(REAL f): print(("real=",f))
ESAC
代å
¥ããåãšéãåã§åç
§ãããã«ãæ¹æ³ãç¡ããi ã®æå¹ç¯å²ã¯ , ãŸã§ãªã®ã§
(REAL f)ã®åŸã®åŒã§ã¯äœ¿ããŸãããf ãéã«åãã
printæç¶ãã®åŒæ°ãä»»æã®åã®unionã§ããäžèšäŸã§ã¯ãSTRUCT(STRING,INT)åã
STRUCT(STRING,REAL)åã®è¡šèšã§ãã
ã¡ãªã¿ã« ; ã¯åºåãã§ãçµç«¯ã§ããªãæŒç®åã§ããC ã® , æŒç®åãšåæã
åŠçç³»ãããã£ãããšãç¡ãã ãã«æ§ãã®èšèªã§ããã
ãµãæåã®èšæ¶ã§æžããŠããã®ã§ééã£ãŠããããããªããã
--
oo
> ãšããããšã§ããšããããWebã§å°ãã¯å€ããªãããš
> ããããæ¢ããŠããã
> http://www.page.sannet.ne.jp/mnagai/msj/pgm_lang.htm
> ãªããŠããããŒãžãåºãŠããŸããã
> ãŸãããããšããã§ããŠãããªã
politically incorrectã§ã¯ãããŸããïŒ
# å®éïŒèªãã§ããŸãæ°åãè¯ããªãã§ãïŒ
> Pascalã®ãšããã«ããAlgol 60ã¯ãã®åйããšãããã§ããã
> ãAlgol 68ã¯ãã®ééããããªããããã
å§ã効ãsisterã ãã©ïŒå¹Žéœ¢ããèšãã°Algol 60ãå§ã§ããããïŒ
OOTANI TAKASHI <tks...@anet.ne.jp> writes:
> algol68 struct union esac ã§ã°ã°ã£ãŠã
> http://www.cs.virginia.edu/~evans/cs655-S00/Spring-1999/Slides/05a68_pasc.pdf
> ã http://page.inf.fu-berlin.de/~wolff/Algol68-OCCL.html
> ãšããã®ãèŠã€ããŸããã
http://dmoz.org/Computers/Programming/Languages/Algol_68/
ãšããããŒãžããããŸããïŒ Revised Reportããããããã©ã£ãŠèªããŸãïŒ
(æãããèªã¿ã«ãããâŠ)
> union ããããŸããããã㯠C ãšããã¶ãéããC ã§ã¯ã©ã®åã®ããŒã¿ãå
¥ã£ãŠãã
> ãã¯ããã°ã©ãã管çããŸãããalgol68 ã§ã¯åŠçç³»ã管çããŸãã
Pascalã®å Žåã¯ãå¯å€ã¬ã³ãŒããã§ãã(ãã¶ãïŒunionãšããäºçŽèªã1ã€
ã±ãã£ã?)ïŒ Algol68ãšã®å€§ããªéãã¯ïŒ
ã»ã©ã®åã®ããŒã¿ãå
¥ã£ãŠãããã衚ããã¿ã°ããéœã«æžãïŒ
type
nodetype = (interim, leaf);
node = record
case tag: nodetype of
interim: (left, right: ^node);
leaf: (value: integer);
end
ã»ãšãããïŒã¿ã°ãçç¥ããããšãåºæ¥ãã®ã ããã§ã(åã·ã¹ãã ã®æã穎)ïŒ
type
node = record
case boolean of
false: (left, right: ^node);
true: (value: integer);
end
ãã£ã¡(ã¿ã°ãªãã®å¯å€ã¬ã³ãŒã)ã¯ïŒCã®unionãšæ©èœçã«åçã§ãïŒ
> åŠçç³»ãããã£ãããšãç¡ãã ãã«æ§ãã®èšèªã§ããã
äžã®ããŒãžã«ã¯ïŒåŠçç³»ãããã€ãèŒã£ãŠããŸãïŒ
åç°æŠåž
>> Pascalã®ãšããã«ããAlgol 60ã¯ãã®åйããšãããã§ããã
>> ãAlgol 68ã¯ãã®ééããããªããããã
>å§ã効ãsisterã ãã©ïŒå¹Žéœ¢ããèšãã°Algol 60ãå§ã§ããããïŒ
ãšãããã
ç³»èçã«èšãã°ãPascalãšAlgol 68ãå§åйã§ã
å
±ã«Algol 60ã®åšãšããã®ã劥åœãªããããªããã
ãšããããšãªãã§ããã©ã
ïŒãã®çºæ³ã§è¡ããšãAlgol 60ã¯åããåæ²¢å±±ãã«ãªã£ãŠããŸãâŠâŠ
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
ããã°ã©ã ãæžããã«ã¯çšé ãç¶æ³ã§ããã
äœãšãªãalgol 68ã®é°å²æ°ãè§£ã£ãŠããã®ã§ã
http://www.lbm.go.jp/toda/comp/struct.html
ãæ¹èšããŠã¿ãŸããã
ãCOBOLããPL/Iãžãã®éšåã¯ãç¶æ³èšŒæ ãããªãæç¢ºãªãã§ããã
ãèšèªãžã®åœ±é¿ãã«ãªã£ãŠãããšããã©ã£ã¡ã®åœ±é¿ã匷ããã®ã
æç¢ºã§ç¡ããªã£ãŠããŸãããã¡ãã£ãšæ¯åãã®æªãæžãæ¹ã«ãªã£ãŠããŸããŸããã
>ã¡ãªã¿ã« ; ã¯åºåãã§ãçµç«¯ã§ããªãæŒç®åã§ããC ã® , æŒç®åãšåæã
algolç³»ã®ãåŒãšæãåºå¥ããªããçºæ³ã®å»¶é·ã§ããã
Pascalã¯ãã®çºæ³ãæšãŠãŠããã®ã§ã
FORTRANâBasicâPL/IâCOBOLâPascalâalgolâCãšããé ã§
åŠç¿ããŠãã身ãšããŠã¯ã
algolã®ãšããã§ã«ã«ãã£ãŒã·ã§ãã¯ãåããŸãã^_^;
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
to...@lbm.go.jp writes:
> In article <u7k4rg...@anet.ne.jp> tks...@anet.ne.jp writes:
> ãèšèªãžã®åœ±é¿ãã«ãªã£ãŠãããšããã©ã£ã¡ã®åœ±é¿ã匷ããã®ã
> æç¢ºã§ç¡ããªã£ãŠããŸãããã¡ãã£ãšæ¯åãã®æªãæžãæ¹ã«ãªã£ãŠããŸããŸããã
ã¡ãã£ãšãããŸããã
Cãšæ·±ãé¢ä¿ãæã£ãŠããunixã®ããã²ãšã€ã®äž»èŠèšèªã§ãã Bourne shell ã«ã¯
alogl68ã®åœ±é¿ã倧ããèŠãããŸããif/then/elif/else/fiãcase/in/esac ã¯åäžã
for/while/do/od ã¯odãdoneã«ããã£ãã ãã(odã³ãã³ããå
ã«ãã£ããããïŒ)
ããŒã¯ãŒãåã®äžèŽã ãã§ãªããBourne shell ã§ã
while read a,b
test a -gt 0
do foo bar $a $b
done < file
ã®ããã«æ¡ä»¶éšåã«è€æ°ã®æ/åŒããããããšãåãã§ããã
ãã¹ãŠã®ã³ãã³ãå®è¡ãå¥ã®é¢ããèŠããšæ¡ä»¶åŒã§ããã®ãåŒèšèªãæãããŸãã
program |
case "$opt" in
-format) pr ;;
*) cat ;;
esac | lpr
ã®ããã«æ§é æããã€ãã®äžã§äœ¿ããã®ãããããalgol68ã§ã¯å€ãæã€ããšãš
䌌ãŠãããããªæ°ãããŸãã
> http://www.lbm.go.jp/toda/comp/struct.html
> ãæ¹èšããŠã¿ãŸããã
ããããåŒçšïŒ
>COBOLã®åå空éã¯å
šäœã§ïŒã€ã§ãããã¡ã³ããŒå€æ°ã®ååãåã
ã®æ§é äœããšã«
>å€ããã°ãªããªãããããŠãæ§é äœå€æ°ã®ä»£å
¥ã¯åžžã«äžŠã³é ç
§åã§ããã
ããã¯ééã£ãŠãŸãã
>PL/Iã§ã¯ãç°ãªãæ§é äœã«åäžåã®ã¡ã³ããŒãå±ããããšã蚱容ã
>ïŒãããåäžæ§é ã®æ§é äœã«ã¯åäžã¡ã³ãåãçšããããšãæšå¥šãïŒã
>代å
¥ã«éããŠååã§ç
§åãããBY NAMEãæå®ãå°å
¥ããã
ãšæžããŠããPL/Iãšåãã§ããåãååã®èŠçŽ ã®åç
§ã¯ããèŠçŽ å OF 芪ã®åã
ã§åç
§ããŸããèŠçŽ åãããã°ã©ã äžã§ãŠããŒã¯ãªããOF 芪ã®åãã¯çç¥å¯ã
ååã§ç
§åããŠä»£å
¥ãèšç®ããã®ã¯ CORRESPONDING ã
>ã¡ãªã¿ã«ãCOBOLã§æ§é ã®ç°ãªãæ§é äœå€æ°ãžä»£å
¥ããå Žåã¯ãäžæŠãã€ãåã«
>åè§£ããŠé ãã倿°ã«åãçŽããšããæããã仿§ïŒãã¡ã€ã«å
¥åºåã®ãããã¡
>ãšããçºæ³ããããã°èªç¶ãïŒïŒã«ãªã£ãŠããã
ããã¯ã¡ãã£ãšæå³ãããããŸãããæ§é ã®ç°ãªãæ§é äœå€æ°ãžã®ä»£å
¥ã¯
ããæ®éã«èŠªã®ååã䜿ã£ãŠ MOVE ããã°ã§ããã®ã§ã¯ïŒ
COBOL,PL/Iã®ãªãã¡ã¬ã³ã¹ã¯ãhttp://www.jbooksrv.yamato.jp.ibm.com/ ãããã§ãã
--
oo
tks...@anet.ne.jpãã:
> Cãšæ·±ãé¢ä¿ãæã£ãŠããunixã®ããã²ãšã€ã®äž»èŠèšèªã§ãã Bourne shell ã«ã¯
> alogl68ã®åœ±é¿ã倧ããèŠãããŸããif/then/elif/else/fiãcase/in/esac ã¯åäžã
> for/while/do/od ã¯odãdoneã«ããã£ãã ãã(odã³ãã³ããå
ã«ãã£ããããïŒ)
ãªãã»ã©ãããã Bourne shellã¯Unix V7ããã ããCããã¯ããªïœãåŸ
ã®èšèªãšããå°è±¡ã§ããV6ãŸã§ã®shellã¯å
šç¶èšèªã£ãœããªãã
BCPLã¯ããããŒããŠãã人ãããªãã®ããªâŠ ä¹
é
In article <uu17rw...@anet.ne.jp> tks...@anet.ne.jp writes:
>> http://www.lbm.go.jp/toda/comp/struct.html
>> ãæ¹èšããŠã¿ãŸããã
>ããããåŒçšïŒ
>>COBOLã®åå空éã¯å
šäœã§ïŒã€ã§ãããã¡ã³ããŒå€æ°ã®ååãåã
ã®æ§é äœããšã«
>>å€ããã°ãªããªãããããŠãæ§é äœå€æ°ã®ä»£å
¥ã¯åžžã«äžŠã³é ç
§åã§ããã
>ããã¯ééã£ãŠãŸãã
æ å ±ããããšãããããŸãã
ãã ãç§ã®ç¥ãåŸãæ
å ±ãç·åããéãã§ã¯ã
ãééã£ãŠãããã®ã§ã¯ãªããæ
å ±ãå€ããã®ã§ã¯ãªãããšæãã®ã§ããã
åŠäœã§ããããïŒ
å®ã¯ç§ã®COBOLã«é¢ããç¥èã¯ãïŒæãããããšã«ïŒ1982幎ã§åãŸã£ãŠãããŸããŠã
åŸã£ãŠããç¬¬ïŒæ¬¡èŠæ ŒãïŒANSI 1985, ISO 1985, JIS 1988ïŒä»¥åãªã®ã§ãã
䜿ã£ãŠããæç§æžã«ãã
ãæ§é åããã°ã©ãã³ã°ãå°å
¥ããæ¹èšã®èŠæ Œåãé²ããããŠããããš
ã³ã©ã ã®äžã§è§ŠããããŠããŠã
æç¶ãéšã®æžãæ¹ã«é¢ããç°¡åãªäŸãæããããŠããã ãã§ã
詳现ãªå
容ã¯ãããŸããã
>>PL/Iã§ã¯ãç°ãªãæ§é äœã«åäžåã®ã¡ã³ããŒãå±ããããšã蚱容ã
>>ïŒãããåäžæ§é ã®æ§é äœã«ã¯åäžã¡ã³ãåãçšããããšãæšå¥šãïŒã
>>代å
¥ã«éããŠååã§ç
§åãããBY NAMEãæå®ãå°å
¥ããã
>ãšæžããŠããPL/Iãšåãã§ããåãååã®èŠçŽ ã®åç
§ã¯ããèŠçŽ å OF 芪ã®åã
>ã§åç
§ããŸããèŠçŽ åãããã°ã©ã äžã§ãŠããŒã¯ãªããOF 芪ã®åãã¯çç¥å¯ã
>ååã§ç
§åããŠä»£å
¥ãèšç®ããã®ã¯ CORRESPONDING ã
ãšããã®ããçºæ³çã«ã¯algolç³»ã®äžçããæã£ãŠãã
ïŒçŽæ¥ã«ã¯PL/Iããé茞å
¥ããïŒïŒãšèããããå
容ãªã®ã§ã
ç¬¬ïŒæ¬¡èŠæ Œã®éã«å°å
¥ãããã®ã§ã¯ãªãããšãã©ãã§ããã®ã§ããã
è£ä»ããæ
å ±ãå
šãåŸãããŠããŸããã
ã©ããã«ãç¬¬ïŒæ¬¡èŠæ Œã®éã®æ¹å®å
容ã®è©³çްã
ç°¡æœã«ãŸãšããããã¹ãã£ãŠç¡ãã§ããããïŒ
>>ã¡ãªã¿ã«ãCOBOLã§æ§é ã®ç°ãªãæ§é äœå€æ°ãžä»£å
¥ããå Žåã¯ãäžæŠãã€ãåã«
>>åè§£ããŠé ãã倿°ã«åãçŽããšããæããã仿§ïŒãã¡ã€ã«å
¥åºåã®ãããã¡
>>ãšããçºæ³ããããã°èªç¶ãïŒïŒã«ãªã£ãŠããã
>ããã¯ã¡ãã£ãšæå³ãããããŸãããæ§é ã®ç°ãªãæ§é äœå€æ°ãžã®ä»£å
¥ã¯
>ããæ®éã«èŠªã®ååã䜿ã£ãŠ MOVE ããã°ã§ããã®ã§ã¯ïŒ
ãåè§£ããšãããããå±éããšè¡šçŸããæ¹ãè¯ãã£ãããªïŒ
äŸãã°ã
01 ORGNSTRC.
10 ORGNTEXT1 PIC X(4).
10 ORGNTEXT2 PIC X(6).
ãš
01 DESTSTRC.
10 DESTTEXT1 PIC X(6).
10 DESTTEXT2 PIC X(4).
ããã£ãŠã
ORGNTEXT1ã®å
容ãã1234ããORGNTEXT2ã®å
容ããABCDEFãã ã£ããšãã«
MOVE ORGNSTRC TO DESTSTRC.
ãšãããšã
DESTTEXT1ã®å
容ã¯ã1234ABããDESTTEXT2ã®å
容ã¯ãCDEFãã«ãªã
ïŒã€ãŸããã¡ã³ã倿°éã®åºåããç¡èŠãããïŒãšããããšã§ãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
ãšãããããå ã®è©±é¡ã«é¢é£ãããšããã§ã¯ã
(1)ãæ§é äœããšããæŠå¿µã¯BCPLã«ã¯ç¡ã
ããŒã¿åãç¡ãïŒåŸè¿°ïŒã®ã§ã
çš®é¡ã®ç°ãªãããŒã¿ãïŒã€ã®é
åïŒãã¯ã¿ïŒã«æ··åšãããããšã¯ã§ããŸããã
èŠçŽ ããææšæ°å€ãã§ã¯ãªããååãã§èå¥ãããšãããã®ã¯ãããŸããã
ãªãã»ããå€ã宿°åïŒãããã§ã¹ã宿°ïŒãšããŠå®çŸ©ããããšã«ãã£ãŠã
å®è³ªçã«ãååã«ããèŠçŽ ã®èå¥ããè¡ãããšã¯ã§ããŸããã
æ§é äœã®ããã«ã³ã³ãã€ã©ãèªåçã«ãªãã»ããå€ãèšç®ããã®ã§ã¯ãªãã
ããã°ã©ãããªãã»ããå€ãèšç®ããŠããã°ã©ã ã«èšè¿°ããã°ãªããŸããã
(2)èšèªãPL/IããçŽæ¥åãç¶ãã ãšæãããç¹åŸŽã¯BCPLèµ·æºã§ã¯ãªã
泚éã«â/* */âãäœ¿ãæµåã§ã¯ãããŸããã
â//âããè¡æ«ãŸã§ã泚éã§ãâŠâŠã£ãŠã
æè¿ã®C++ãšãã«è¿œå ãããæ³šéã®æžæ³ãšåãã ^_^;
ãŸããâ;âã¯åé¢èšå·ã§ããäœããè¡æ«ãåé¢èšå·ã§ããããã¯ããã¯ãªã
æ£ç¢ºã«ã¯ãè¡ã®æåŸã®ããŒã¯ã³ãææ«ã«äœçœ®ãåŸããã®ã§ããã°åé¢èšå·ã§ã
ææ«ã«äœçœ®ãåŸãªãããŒã¯ã³ã§çµãã£ãŠãããæ¬¡è¡ã«ç¶ç¶ããŸãã
äœã¡ã
ãæãæ§ãªä»æ§ã âŠâŠ
ïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒïŒ
å
ã®è©±é¡ãšçŽæ¥é¢ä¿ãªãç¹ã§èå³ãåŒãããšãããšããŠã¯ã
(3)ããŒã¿åã®åºå¥ãç¡ã
CPLããBCPLãžã®æå€§ã®å€æŽç¹ã¯ããã®ç¹ãªãã ããã§ãã
åºå¥ãç¡ããšèšã£ãŠããAWKãPerlã®ããã«ã
"123"ãšããæååãæ°åŒã«çŸãããã123ããšããæ°å€ã«ãªã
ãšãããããªã人éå¯ããã®ãåºå¥ã®ç¡ããã§ã¯ãããŸããã
ããŒã¿ã¯èšèªã¬ãã«ã§ã¯å
éšè¡šçŸãšããŠã®ã¿æå³ãããã
ãã®å
éšè¡šçŸã«ã©ãããæå³ãæããããã¯ããã°ã©ã次第
ãšããæå³ã§ãæ©æ¢°å¯ããã®ãåºå¥ã®ç¡ããã§ãã
ãŸããã¢ã»ã³ããªããã°ã©ãã«ãšã£ãŠã¯çŽ çŽãªçºæ³ã§ããã
ãããããã®èãæ¹ãèšèªã«åŒãç¶ããã
ãããäœã§ãããããäžäŸ¿ã ãšããã®ã§
èšèªã§æºãæ»ããããšããããšãªãã§ããããã
ïŒïŒ¢èšèªã®è©³çްãç¥ããªãã®ã§ããã®éšåã¯æšæž¬ã§ãïŒ
ãšã¯ãããã·ã¹ãã èšè¿°ã®äžã§éèŠãª
ãæååããŒã¿ã¯ããã®å
éšè¡šçŸãå€ãšããæŽæ°åããŒã¿ã§ãããã
ãã¢ãã¬ã¹ããŒã¿ïŒãã€ã³ã¿ïŒã¯ã
ãã®å
éšè¡šçŸãå€ãšããæŽæ°åããŒã¿ãšçžäºã«å€æã§ããããšãããããª
ãããŒã¿ã®äºé¢æ§ãã¯ïŒ£èšèªã«ãŸã§åŒãç¶ãããããã§ãã
ã¡ãã£ãšæ°ã«ãªã£ãã®ãã
èšèªã®ãcharãšshort intãšlong intãã«çžåœããåºå¥ãç¡ãããšã
ã€ãŸãåŠäœãªãããŒã¿ãåäžéã®èšæ¶åãå æãããšããããšã§ãã
ãã®ä»æ§ã£ãŠCPUãéžãã§ããŸãããããªãã§ããããïŒ
ãªããæååã«é¢ããŠã¯ãïŒé
åèŠçŽ ã«äœæåãã詰蟌ãã§åæ±ã
ã©ã€ãã©ãªãæšæºã§æºåãããŠããŸãã
èšèªãPascalãšéã£ãŠã詰蟌ãŸããæååã«å¯Ÿããæäœã
é
åæäœãšåãæžåŒã§è¡ãããšã¯ã§ãããå°çšã®ã©ã€ãã©ãªãèŠããŸãã
(4)IFæ§é ã«çžåœãããã®ãELSEã®æç¡ã§åºå¥ãããŠãã
IFã«ã¯THENç¯ã®ã¿ã§ELSEç¯ããããŸããã
THENç¯ãšELSEç¯ãå
±åããå Žåã¯IFã«ä»£ããŠTESTã䜿ããŸãã
ããããèšèªã£ãŠåããŠèŠãŸããã
ã¡ãªã¿ã«ãUNLESSïœDOãšããã®ããã£ãŠã
ELSEç¯ã ããã£ãŠTHENç¯ãç¡ãç¶æ³ã«çžåœããŸãã
(5)FORã«ãŒãã®å¶åŸ¡å€æ°ã®ã¹ã³ãŒãã¯ããã®ã«ãŒãå
ïŒFORTRANãPL/Iã®DOã«ãŒãã«çžåœïŒ
ãã«ãŒããé£åºããæã®å€ãåç
§ãããææ³ã䜿ããªããšããããšã§ãã
ãã®ãããå¶åŸ¡å€æ°ã®å€ãéäžã§å€ããŠããŸã£ãŠã
ç¹°ãè¿ãåæ°ã«åœ±é¿ãäžããããšã¯èªããããŠããŸããå€ãªã®ã
å¶åŸ¡å€æ°ã¯FORã«ãŒãã®åœ¢åŒã«èšè¿°ããããšã«ãã£ãŠå®£èšããã
æ¹ããŠå€æ°ã宣èšããå¿
èŠã¯ç¡ã
âŠâŠãšãããããæ¹ããŠå®£èšããŠã¯ãªããªãããšã«ãªã£ãŠããŸãã
(6)âA < B < Câãšããæ¡ä»¶åŒãèªç¶èšèªã®æ°åŒãšåãæå³ãæãã
ã€ãŸãããA < BãANDãB < Cããšããæå³ã«ãªããŸãã
ãããåããŠèŠãâŠâŠ
(7)é
åïŒãã¯ã¿ïŒã宣èšãããšãååã®åçŽå€æ°ãåæã«ç¢ºä¿ããã
åœè©²é
åãžã®ãã€ã³ã¿ã§åæåããã
ããã®ããããç¡é§ãªä»æ§ã§ããã
åœè©²é
åãžã®ãã€ã³ã¿ãå€ãšãã宿°åãšããã®ãçŽ çŽãªãã§ããã©ã
ïŒïŒ£èšèªã¯ããŸãã«ããïŒ
(8)ã€ã³ã©ã€ã³ã®æç¶ããã芪æç¶ãã®å±æå€æ°ã«ã¢ã¯ã»ã¹ã§ããªã
ã¢ã¯ã»ã¹ãå¿
èŠãªå Žåã¯ã°ããŒãã«å€æ°ã䜿ãããšã«ãªããŸããã
芪æç¶ãã®äžã§å®çŸ©ããã°ã芪æç¶ãã®å€ã§ã¯èŠããªãã®ã§ã
ã¹ã³ãŒãçã«ã¯çŽ çŽã«èŠªåã§ã®å€æ°å
±æã«ãªããŸãã
ãããã倿°ã®ã¡ã¢ãªç®¡çïŒå¯¿åœãªã©ïŒã¯ããããŸã§ã°ããŒãã«ã§ãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
to...@lbm.go.jp wrote:
> M.Richards and C.Whitby-StrevensïŒåç°è±äžèš³ïŒ
> BCPLèšèªãšãã®ã³ã³ãã€ã©ïŒå
±ç«åºç1985ïŒISBN4-320-02245-9
> (3)ããŒã¿åã®åºå¥ãç¡ã
ãBCPLã¯åç¡ãèšèªã§ããããšããã®ã¯æåã§ãããã
> ããŒã¿ã¯èšèªã¬ãã«ã§ã¯å
éšè¡šçŸãšããŠã®ã¿æå³ãããã
> ãã®å
éšè¡šçŸã«ã©ãããæå³ãæããããã¯ããã°ã©ã次第
> ãšããæå³ã§ãæ©æ¢°å¯ããã®ãåºå¥ã®ç¡ããã§ãã
èŠã¯ãwordãã§ãããã
> ã¡ãã£ãšæ°ã«ãªã£ãã®ãã
> èšèªã®ãcharãšshort intãšlong intãã«çžåœããåºå¥ãç¡ãããšã
> ã€ãŸãåŠäœãªãããŒã¿ãåäžéã®èšæ¶åãå æãããšããããšã§ãã
> ãã®ä»æ§ã£ãŠCPUãéžãã§ããŸãããããªãã§ããããïŒ
PDP-11ãªã©ã§ã¯å°ããŸããã
å€ãã®ã¡ã€ã³ãã¬ãŒã ã®ãããªã¯ãŒããã·ã³ã§ã¯å°ããªãã£ãã®
ã ãšããããŸãã
> (7)é
åïŒãã¯ã¿ïŒã宣èšãããšãååã®åçŽå€æ°ãåæã«ç¢ºä¿ããã
> åœè©²é
åãžã®ãã€ã³ã¿ã§åæåããã
>
> ããã®ããããç¡é§ãªä»æ§ã§ããã
> åœè©²é
åãžã®ãã€ã³ã¿ãå€ãšãã宿°åãšããã®ãçŽ çŽãªãã§ããã©ã
> ïŒïŒ£èšèªã¯ããŸãã«ããïŒ
宿°ãªãã©ã³ãã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããã¢ãã¬ãã·ã³ã°ã¢ãŒãããªã
èšç®æ©ãæ³å®ããŠããã®ã§ã¯ïŒïŒæ£ç¢ºã«ã¯ãã¢ãã¬ã¹ç©ºéå
šäœã¯
ã¢ã¯ã»ã¹ã§ããªãïŒãæè¿ã§ã¯CASLãããã§ãããããªã®ã¯ã
ããããCPUã§ã®ã¢ã»ã³ãã©ã®ãäœæ³ã«åŒãããããã
(ãã¿ãŸãããæãã€ãã§ã)
éœè€æçŽ sai...@ist.osaka-u.ac.jp
SAITOH akinori <sai...@ist.osaka-u.ac.jp> writes:
> to...@lbm.go.jp wrote:
> > (7)é
åïŒãã¯ã¿ïŒã宣èšãããšãååã®åçŽå€æ°ãåæã«ç¢ºä¿ããã
> > åœè©²é
åãžã®ãã€ã³ã¿ã§åæåããã
> >
> > ããã®ããããç¡é§ãªä»æ§ã§ããã
> > åœè©²é
åãžã®ãã€ã³ã¿ãå€ãšãã宿°åãšããã®ãçŽ çŽãªãã§ããã©ã
> > ïŒïŒ£èšèªã¯ããŸãã«ããïŒ
>
> 宿°ãªãã©ã³ãã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããã¢ãã¬ãã·ã³ã°ã¢ãŒãããªã
> èšç®æ©ãæ³å®ããŠããã®ã§ã¯ïŒïŒæ£ç¢ºã«ã¯ãã¢ãã¬ã¹ç©ºéå
šäœã¯
> ã¢ã¯ã»ã¹ã§ããªãïŒãæè¿ã§ã¯CASLãããã§ãããããªã®ã¯ã
> ããããCPUã§ã®ã¢ã»ã³ãã©ã®ãäœæ³ã«åŒãããããã
> (ãã¿ãŸãããæãã€ãã§ã)
ããã¯ã
> > ããŒã¿ã¯èšèªã¬ãã«ã§ã¯å
éšè¡šçŸãšããŠã®ã¿æå³ãããã
> > ãã®å
éšè¡šçŸã«ã©ãããæå³ãæããããã¯ããã°ã©ã次第
> > ãšããæå³ã§ãæ©æ¢°å¯ããã®ãåºå¥ã®ç¡ããã§ãã
>
> èŠã¯ãwordãã§ãããã
ãã£ã¡ãšé¢ä¿ãããã®ã§ã¯ãªãããšæããŸãã
é
å宣èšã§ãã®é
åãžã®ãã€ã³ã¿ãçšæããŠããããšã§ãé
åãšããããŒ
ã¿åãã³ã³ãã€ã©ãèŠããŠããå¿
èŠãç¡ããªããŸãã
æ° KB çšåºŠã®ã¡ã¢ãªã§åäœããã³ã³ãã€ã©ã®å ŽåãããŒã¿åãâwordâ
ã ãã§æžãïŒïŒããŒã¿åãåºå¥ããå¿
èŠãç¡ãïŒã®ãšããã§ãªãã®ãšã§
ã¯ãã³ã³ãã€ã©ã®ãµã€ãºãçžåœå€ãã£ãŠããŸãã
ããèŠãã§ãããÎŒPLAN ãåæ§ãªä»æ§ã ã£ããšæããŸãã
--
çå±±ïŒ ïŒ°ïŒŠïŒµ
ããŒã¿åãç¡ãããšãé€ãã°ãèšèªã«ãœãã¯ãªã§ããã
algolç³»ã®ãâ=âã¯æ¯èŒã代å
¥ã¯â:=âããšãã
äŒçµ±ïŒBCPLãç¶æ¿ããŠããïŒã«éãã£ãŠã
ãâ=âã¯ä»£å
¥ãæ¯èŒã¯â==âããšããŠããã®ãåãã§ãã
代å
¥æŒç®åãéé ïŒâ+=âã§ã¯ãªãâ=+âïŒãšãã
ãããããšè«çãšïŒå€è«çã®åºå¥ãç¡ããšããã£ããããã¯ã
æç§æžé¡ã«ãåæã®ïŒ£èšèªã¯ããã ã£ãããšæžããŠãããã®ãŸããŸã
泚éãã/* */ãã§è¡šèšããããšãã
â;âãåé¢èšå·ã§ã¯ãªãçµç«¯èšå·ãšããŠçšããããšãã
èšèªçµç±ã§PL/Iããèšèªã«ç¶æ¿ãããããã§ãã
In article <qkpoexs...@dash.tokyo.pfu.co.jp> ka...@pfu.fujitsu.com writes:
>> > (7)é
åïŒãã¯ã¿ïŒã宣èšãããšãååã®åçŽå€æ°ãåæã«ç¢ºä¿ããã
>> > åœè©²é
åãžã®ãã€ã³ã¿ã§åæåããã
>> > ããã®ããããç¡é§ãªä»æ§ã§ããã
>> > åœè©²é
åãžã®ãã€ã³ã¿ãå€ãšãã宿°åãšããã®ãçŽ çŽãªãã§ããã©ã
>> 宿°ãªãã©ã³ãã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããã¢ãã¬ãã·ã³ã°ã¢ãŒãããªã
>> èšç®æ©ãæ³å®ããŠããã®ã§ã¯ïŒ
ã ããã£ãŠãã倿°ããšããŠã¢ã¯ã»ã¹å¯èœã«ããå¿
èŠã¯ç¡ãã§ãããã
倿°ãšåãã¡ã¢ãªé åã«å€ãä¿æãããšããŠãããç¡åã®å€æ°ãã«ããŠ
ããã°ã©ã ããã¯ã¢ã¯ã»ã¹ã§ããªãããæ¹ãçŽ çŽã ãšæããŸãã
å³å€å®æ°ãæåå宿°ã®å€ããCPUã®éœåã§ã
倿°ãšåãã¡ã¢ãªé åã«ä¿æããã®ãšåãããšã§ãã
>ããã¯ã
>> > ããŒã¿ã¯èšèªã¬ãã«ã§ã¯å
éšè¡šçŸãšããŠã®ã¿æå³ãããã
>> > ãã®å
éšè¡šçŸã«ã©ãããæå³ãæããããã¯ããã°ã©ã次第
>> > ãšããæå³ã§ãæ©æ¢°å¯ããã®ãåºå¥ã®ç¡ããã§ãã
>> èŠã¯ãwordãã§ãããã
>ãã£ã¡ãšé¢ä¿ãããã®ã§ã¯ãªãããšæããŸãã
>é
å宣èšã§ãã®é
åãžã®ãã€ã³ã¿ãçšæããŠããããšã§ãé
åãšããããŒ
>ã¿åãã³ã³ãã€ã©ãèŠããŠããå¿
èŠãç¡ããªããŸãã
ããè§£ããŸããâŠâŠ
é
åã¯ãããŒã¿åãã§ã¯ãããŸããããã
ã³ã³ãã€ã©ã«ãšã£ãŠã¯ã
ã宣èšãããã ãã®èšæ¶åãã·ã¹ãã ã確ä¿ããããšããã®ã
é
åãšãããªããžã§ã¯ãã®æ¬è³ªã§ãã
ïŒãã®ã確ä¿ããã·ã¹ãã ã«ãšã£ãŠäžçªã®è² æ
ã§ãããïŒã
ããã¯ã察å¿ãããã€ã³ã¿å€æ°ã確ä¿ãããã©ããã«é¢ä¿ãããŸããã
ãããŠããããã«ããŠãé
ååã¯
ã確ä¿ãããèšæ¶åã®ã¢ãã¬ã¹ãšããæå³ãæããwordåã®ããŒã¿ãã§ããã
ä»åé¡ã«ãªã£ãŠããã®ã¯ã
ãããã宿°ããªã®ãã倿°ããªã®ããšããéãã«éããŸããã
ã¡ãªã¿ã«ãèšèªã«ã¯ããã®åŠãªä»æ§ã¯ç¶æ¿ãããŠããªãããã§ãã
ïŒïŒ¢èšèªã®åŠçç³»ã¯ããã€ãã£ãã³ãŒããåãã³ã³ãã€ã©ãèšè¿°ã§ããªããããª
貧匱ãªç°å¢ã®ããã«éçºãããŠããïŒ
ãã¯ããå¿
ç¶æ§ã®ç¡ã仿§ãªã®ã§ã¯ãªãã§ããããïŒ
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
<bjpl36$gfg$1...@bluegill.lbm.go.jp>ã®èšäºã«ãããŠ
to...@lbm.go.jpããã¯æžããŸããã
toda> In article <qkpoexs...@dash.tokyo.pfu.co.jp> ka...@pfu.fujitsu.com writes:
toda> >> > (7)é
åïŒãã¯ã¿ïŒã宣èšãããšãååã®åçŽå€æ°ãåæã«ç¢ºä¿ããã
toda> >> > åœè©²é
åãžã®ãã€ã³ã¿ã§åæåããã
toda> >> > ããã®ããããç¡é§ãªä»æ§ã§ããã
toda> >> > åœè©²é
åãžã®ãã€ã³ã¿ãå€ãšãã宿°åãšããã®ãçŽ çŽãªãã§ããã©ã
toda> >> 宿°ãªãã©ã³ãã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããã¢ãã¬ãã·ã³ã°ã¢ãŒãããªã
toda> >> èšç®æ©ãæ³å®ããŠããã®ã§ã¯ïŒ
toda> ã ããã£ãŠãã倿°ããšããŠã¢ã¯ã»ã¹å¯èœã«ããå¿
èŠã¯ç¡ãã§ãããã
toda> 倿°ãšåãã¡ã¢ãªé åã«å€ãä¿æãããšããŠãããç¡åã®å€æ°ãã«ããŠ
toda> ããã°ã©ã ããã¯ã¢ã¯ã»ã¹ã§ããªãããæ¹ãçŽ çŽã ãšæããŸãã
BCPL ã®éœåäž a!i ãšæžããã a ã«ã¢ã¯ã»ã¹ããŠããŸãã®ã§,
# BCPL ã®ããŒãžã§ã³ã«ããé
åã®èŠçŽ åç
§ã¯ãããããªæ§æãããã®ã§
# ãã, ããã§ã¯ a!i ã䜿ããŸã.
ãç¡åã®å€æ°ãã®æå³ã¯ãªãã§ããã (é
ååããã®å€æ°ã®ååã«ããŠ
ããŸãã°ããããã§). ãŸã, ã倿°ãã§ããå¿
èŠã¯ããããããŸããã
(ã宿°ãã§ãããã®ã§).
toda> >ããã¯ã
toda> >> > ããŒã¿ã¯èšèªã¬ãã«ã§ã¯å
éšè¡šçŸãšããŠã®ã¿æå³ãããã
toda> >> > ãã®å
éšè¡šçŸã«ã©ãããæå³ãæããããã¯ããã°ã©ã次第
toda> >> > ãšããæå³ã§ãæ©æ¢°å¯ããã®ãåºå¥ã®ç¡ããã§ãã
toda> >> èŠã¯ãwordãã§ãããã
toda> >ãã£ã¡ãšé¢ä¿ãããã®ã§ã¯ãªãããšæããŸãã
toda> >é
å宣èšã§ãã®é
åãžã®ãã€ã³ã¿ãçšæããŠããããšã§ãé
åãšããããŒ
toda> >ã¿åãã³ã³ãã€ã©ãèŠããŠããå¿
èŠãç¡ããªããŸãã
toda> ããè§£ããŸããâŠâŠ
toda> é
åã¯ãããŒã¿åãã§ã¯ãããŸããããã
toda> ã³ã³ãã€ã©ã«ãšã£ãŠã¯ã
toda> ã宣èšãããã ãã®èšæ¶åãã·ã¹ãã ã確ä¿ããããšããã®ã
toda> é
åãšãããªããžã§ã¯ãã®æ¬è³ªã§ãã
toda> ïŒãã®ã確ä¿ããã·ã¹ãã ã«ãšã£ãŠäžçªã®è² æ
ã§ãããïŒã
toda> ããã¯ã察å¿ãããã€ã³ã¿å€æ°ã確ä¿ãããã©ããã«é¢ä¿ãããŸããã
ãã , 察å¿ãããã€ã³ã¿å€æ°ã確ä¿ããããšã«ãã£ãŠãã³ã³ãã€ã©ãé
åã®å€§ãããæèããªããŠããããšããããšã¯èšãããšæããŸã.
ãã㯠2次å
以äžã®é
åã«ãªããšåœ±é¿ããŠãããã§ãã, C ã§ a[M][N]
ãšããé
å (M, N ã¯å®æ°) ã確ä¿ãããšãã« a[i][j] ãã¢ã¯ã»ã¹ãã
ããšãããš, å®è³ªçã« *(a[0] + i*N + j) ãšããèšç®ãããããšã«ãªã,
ãã®ãã N ãèšæ¶ããŠããå¿
èŠããããŸã (å Žåã«ãã£ãŠã¯ i*N ãšã
ãä¹ç®ãå¿
èŠ). ãšããã, BCPL ã§ã¯åãé
åã«å¯Ÿã㊠a ã®åã«å ããŠ
a!0ïœa!(M-1) ã®åã確ä¿ããŸã (a ã®å
容㯠a!0 ã®ã¢ãã¬ã¹, a!i ã®
å
容㯠a!i!0 ã®ã¢ãã¬ã¹). ãããããš a!i!j ã®ã¢ã¯ã»ã¹ã«å¿
èŠãªåŠç
㯠C ã§æžããš *(*(a + i) + j) ãšãªã, N ã®å€ãèšæ¶ããå¿
èŠã¯ãªã
ãªããŸã (ãããä¹ç®ãäžèŠ).
toda> ãããŠããããã«ããŠãé
ååã¯
toda> ã確ä¿ãããèšæ¶åã®ã¢ãã¬ã¹ãšããæå³ãæããwordåã®ããŒã¿ãã§ããã
toda> ä»åé¡ã«ãªã£ãŠããã®ã¯ã
toda> ãããã宿°ããªã®ãã倿°ããªã®ããšããéãã«éããŸããã
BCPL ã«ãšã£ãŠã¯ã倿°ããã宿°ããã¯ã©ãã§ãããã£ãŠ, åã«ãã¡ã¢
ãªäžã«ååšããã°ããããšããããšã§ã.
toda> ãã¯ããå¿
ç¶æ§ã®ç¡ã仿§ãªã®ã§ã¯ãªãã§ããããïŒ
ã倿°ãã§ããå¿
ç¶æ§ã¯ãªãã§ãã.
ã§ã, ãã¡ã¢ãªäžã«ãã€ã³ã¿ãšããŠååšããããšããã®ã¯äŸ¿å©ã ãšæã
ãŸãã. å®é, C ã ã£ãŠãŸãšãã« 2次å
é
åãæ±ã (ex. è¡åæŒç®) ã©
ã€ãã©ãªãäœãããšæã£ããåæ§ã®æ¹æ³ãæ¡ããããªãããã§ãã.
--
åå€å±å€§åŠå€§åŠé¢ æ
å ±ç§åŠç ç©¶ç§ èšç®æ©æ°çç§åŠå°æ»
å°é åç·
ããããã¢ã¯ã»ã¹æ³ãå¿
èŠã ãšããã°ã©ãã倿ããå Žåã«ã
æç€ºçã«ããã°ã©ãã³ã°ã«ãã£ãŠç¢ºä¿ãããšããæ¹ãã
BCPLã®å²åŠã«ãåã£ãŠãããããªæ°ãããŸãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
Dennis M. Ritchie, The Development of the C Language,
http://www.cs.bell-labs.com/who/dmr/chist.html
ã§ã¯ã
èšèªã§åã®æŠå¿µãåå°å
¥ããïŒã€ã®åæ©ã®ãã¡ïŒã€ãã
ãã®åé¡ã«é¢é£ãããã®ã ãšè¿°ã¹ãŠããŸããã
ïŒæ®ãã®ïŒã€ã¯æµ®åå°æ°ç¹é¢é£ïŒ
ãã€ãå¢çã§æåã䞊ãã æååãåæ±ãéã
æ©æ¢°èªã®ãã€ãã¢ãã¬ãã·ã³ã°ãçŽæ¥äœ¿ãã°çŽ çŽã«åæ±ããã®ã«ã
ããããã¯ãŒãå¢çã«unpackããŠåæ±ããšãã
銬鹿ããäœæ¥ãå¿
èŠã«ãªããšããã®ãïŒã€ã
ããã°ã©ã äžã§ã¯ã¢ãã¬ã¹ãã¯ãŒãåäœã§åæ±ãã
ããããã€ã³ã¿ãšããŠçšããæ®µéã§
éäžãã€ãåäœã«æç®ããã°ãªããªããšããã®ãïŒã€ã§ãã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
>> (2)èšèªãPL/IããçŽæ¥åãç¶ãã ãšæãããç¹åŸŽã¯BCPLèµ·æºã§ã¯ãªã
>>
>> 泚éã«â/* */âãäœ¿ãæµåã§ã¯ãããŸããã
>> â//âããè¡æ«ãŸã§ã泚éã§ãâŠâŠã£ãŠã
æå ã®è³æã§ã¯
BCPL /*...*/
BCPL |*...*|
BCPL \*...*\
BCPL //...
BCPL ||...
BCPL \\...
ãªãã§ãããããã¬ã»ãã¿ã ã£ããã§ããããïŒ
ïŒBCPLã«ãããŒãžã§ã³ããã£ãããããããŸããã
--
kabe
<ka...@sra-tohoku.co.jp>ããã®<750211200...@sra-tohoku.co.jp.msgid>ãã
http://web.cs.mun.ca/~ulf/pld/surface.html
ã«ã¯ããã¹ããã®æžãããã®ãèŒã£ãŠãŸããã
--
R4000 2.2 mailto:ta...@kc5.so-net.ne.jp
>ïŒBCPLã«ãããŒãžã§ã³ããã£ãããããããŸããã
æ¹èšïŒç¬èªæ¡åŒµïŒã倿°ãã£ãããã§ããã
ç§ãåç
§ããBCPLã®æç§æžã«ããæµ®åå°æ°ç¹å¯Ÿå¿ãšã
ã©ã€ãã©ãªåç
§ã«çµ¡ãã æ¡åŒµã«è§ŠããéšåããããŸãããã
æžç° åïŒ æ»è³çç«çµç¶æ¹åç©é€š
to...@lbm.go.jp
ééã£ãŠç·šéåã«åºããŠããŸããŸããã
SAITOH akinori wrote:
>
> to...@lbm.go.jp wrote:
>>>>宿°ãªãã©ã³ãã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ããã¢ãã¬ãã·ã³ã°ã¢ãŒãããªã
>>>>èšç®æ©ãæ³å®ããŠããã®ã§ã¯ïŒ
>>ã ããã£ãŠãã倿°ããšããŠã¢ã¯ã»ã¹å¯èœã«ããå¿
èŠã¯ç¡ãã§ãããã
>>倿°ãšåãã¡ã¢ãªé åã«å€ãä¿æãããšããŠãããç¡åã®å€æ°ãã«ããŠ
>>ããã°ã©ã ããã¯ã¢ã¯ã»ã¹ã§ããªãããæ¹ãçŽ çŽã ãšæããŸãã
>>å³å€å®æ°ãæåå宿°ã®å€ããCPUã®éœåã§ã
>>倿°ãšåãã¡ã¢ãªé åã«ä¿æããã®ãšåãããšã§ãã
å¿
èŠã¯ãªãã§ãããã³ã³ãã€ã©ã楜ã«ãªããŸããã
identifierãé
ååã ã£ãå Žåã®åŠçãçç¥ã§ããã
BCPLã®äœè
ã®ã¡ã³ã¿ãªãã£ãæžç°ãããšç°ãªã£ãŠããŠãç°ãªã
ãã·ãžã§ã³ããããšããã ãã ãšããããŸããã
éœè€æçŽãsai...@ist.osaka-u.ac.jp