=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/README,v retrieving revision 1.4 retrieving revision 1.6 diff -u -p -r1.4 -r1.6 --- OpenXM/src/ox_toolkit/README 1999/12/15 08:04:50 1.4 +++ OpenXM/src/ox_toolkit/README 1999/12/22 11:29:15 1.6 @@ -1,11 +1,11 @@ # Author: ¾®¸¶¸ùǤ @ ¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼ # URI: http://omega.s.kanazawa-u.ac.jp/ohara/ -# $OpenXM: OpenXM/src/ox_toolkit/README,v 1.3 1999/12/15 02:44:12 ohara Exp $ +# $OpenXM: OpenXM/src/ox_toolkit/README,v 1.5 1999/12/15 09:24:46 ohara Exp $ /*&ja ox_toolkit ¥æ¡¼¥¶¥¬¥¤¥É */ -/*&en A user's guide for ox_toolkit. +/*&en A user's guide for OpenXM C library. */ /*&ja @@ -14,7 +14,7 @@ libox.a ¤òÍøÍѤ¹¤ë¤Ë¤Ï¼¡¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥¯¥ë¡¼¥É /*&en How to use OpenXM C library? -The OpenXM C libraiy has header files: +In order to use libox.a, you need to include the following header files: */ /*&common @@ -35,7 +35,7 @@ The OpenXM C libraiy has header files: 1. Types 1.1 CMO (Common Math Object) -The following structures is defined in ox.h: +The following structures are defined in ox.h: */ /*&common @@ -65,7 +65,7 @@ cmo_error2 */ /*&en -The cmo above is similer to abstract base class; +The cmo above is abstract base class; you never make an object of cmo class. */ @@ -75,7 +75,7 @@ you never make an object of cmo class. */ /*&en 1.2 OX objects -The following structures is defined in ox.h: +The following structures are defined in ox.h: */ /*&common @@ -101,7 +101,8 @@ The ox above is abstract base class. /*&en 2. How to make CMObjects? -You may use new functions which generate an object and return its pointer. +Use the following functions to generate an object. +It returns a pointer to the object. */ /*&common @@ -136,11 +137,12 @@ new_cmo_error2(cmo* ob); /*&en 3. High-level API -High-level API is prepared for implementation of your OpenXM clients. +High-level API is prepared to help an implementation of OpenXM clients. -3.1 How to make connection to OpenXM server? +3.1 How to make connections to OpenXM servers? -You may call ox_start or ox_start_insecure_nonreverse. +In order to open a connection to an OpenXM server, +you need to call ox_start() or to call ox_start_insecure_nonreverse(). */ /*&common @@ -172,9 +174,10 @@ portStream ¤Ï·×»»¥µ¡¼¥Ð¤È¤ÎÄÌ¿®¤Î¤¿¤á¤Î¥Ý¡¼¥ÈÈÖ¹æ¤Ç¤¢¤ */ /*&en -3.2 How to close connection to OpenXM server? +3.2 How to close connections to OpenXM servers? -You may call ox_close or ox_shutdown. +In order to close a connection to an OpenXM server, +you need to call ox_close() or to call ox_shutdown(). */ /*&common @@ -190,25 +193,24 @@ void ox_shutdown(ox_file_t sv); /* /*&ja 3.3 SM ¥³¥Þ¥ó¥É¤ÎÁ÷¿® - */ /*&en -3.3 How to command to OpenXM stack machine? - +3.3 How to command to OpenXM stack machines? */ /*&common + void ox_push_cmd(ox_file_t sv, int sm_code); */ /*&ja ¥µ¡¼¥Ð¤Ë¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¥³¥Þ¥ó¥É¤òÁ÷¤ë¡£¥³¥Þ¥ó¥É¤Ï¥³¥Þ¥ó¥ÉÈÖ¹æ¤ÇÍ¿¤¨¤ë¡£ - */ /*&en -This function send operation code to an OpenXM stack machine. -Table of opecode is defined in oxtag.h. +ox_push_cmd() sends an operation code to an OpenXM stack machine. +See oxtag.h. */ /*&ja + 3.4 CMO ¤ÎÁ÷¼õ¿® void ox_push_cmo(ox_file_t sv, cmo *c); @@ -245,7 +247,7 @@ void ox_execute_string(ox_file_t sv, char* str); 3.9 -int ox_cmo_rpc(ox_file_t sv, char *function, int argc, cmo *argv[]); +int ox_cmo_rpc(ox_file_t sv, char *function, int argc, cmo *argv[]); function(argv[1], ...) ¤ò·×»»¤·¡¢·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ @@ -255,23 +257,25 @@ cmo_mathcap* ox_mathcap(ox_file_t sv); Mathcap ¤ò¼õ¤±¼è¤ë¡£¸½ºß¤Ï Mathcap ¤Î½èÍý¤Ï¥æ¡¼¥¶¥×¥í¥°¥é¥à¤ËǤ¤µ¤ì¤Æ¤¤¤ë¡£ ¤¤¤º¤ì¤³¤Î´Ø¿ô¤ÏÇѻߤµ¤ì¤ëͽÄê¡£ - */ /*&ja + 4. Äã¿å½à API Äã¿å½à API ¤Ï¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òľÀÜÍøÍѤ¹¤ë¡£ 4.1 ÄÌ¿®¤Ë»È¤ï¤ì¤ë¥Ð¥¤¥È¥ª¡¼¥À¤Î·èÄê - */ /*&en + 4. Low-level API. -4.1 How to decide a byte order of integers? +In this section, ``fd'' is an identifier of an OpenXM connection. +4.1 How to decide a byte order of integers? */ /*&common + int decideByteOrderServer(int fd, int order); */ @@ -281,59 +285,76 @@ int decideByteOrderServer(int fd, int order); ¤¤¤ë¡£¾Ü¤·¤¯¤Ï¡¢¹â»³-ÌîϤ, "OpenXM ¤ÎÀ߷פȼÂÁõ" ¤ò»²¾È¤»¤è¡£ (Ãí°Õ) ¥¯¥é¥¤¥¢¥ó¥È¦¤Ç¤Î¥Ð¥¤¥È¥ª¡¼¥À¤ÎÀßÄê¤Ï¡¢¹â¿å½à API ¤Ç¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤ë¡£ - */ +/*&en +You need to call it when your OpenXM server is initialized. +This function always choose the network byte order +as an expression for integers. +*/ /*&common + 4.2 int send_int32(int fd, int integer); - -*/ -/*&ja -fd ¤Ë 32bit À°¿ô¤ò½ñ¤­¹þ¤à¡£ - -*/ -/*&common int receive_int32(int fd); */ /*&ja +fd ¤Ë 32bit À°¿ô¤ò½ñ¤­¹þ¤à¡£ fd ¤«¤é 32bit À°¿ô¤òÆɤ߹þ¤à¡£ - */ +/*&en +send_int32() writes 32bits integer to an OpenXM connection. +receive_int32() reads 32bits integer from an OpenXM connection. +*/ /*&common + 4.3 int send_cmo(int fd, cmo* m); +cmo* receive_cmo(int fd); */ /*&ja fd ¤Ë cmo ¤ò½ñ¤­¹þ¤à¡£ - +fd ¤«¤é cmo ¤òÆɤ߹þ¤à¡£ */ +/*&en +send_cmo() writes an CMObject to an OpenXM connection. +receive_cmo() reads an CMObject from an OpenXM connection. +*/ /*&common -cmo* receive_cmo(int fd); -*/ -/*&ja -fd ¤«¤é cmo ¤òÆɤ߹þ¤à¡£ - 4.4 int next_serial(); +*/ +/*&ja ¥·¥ê¥¢¥ë¥Ê¥ó¥Ð¤òÀ¸À®¤¹¤ë¡£ +*/ +/*&en +next_serial() generates a serial number for ox message. +*/ +/*&common 4.5 int send_ox_tag(int fd, int tag); - -fd ¤Ë OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+id)¤ò½ñ¤­¹þ¤à¡£ -¥·¥ê¥¢¥ëÈÖ¹æ¤Ï¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£ - int receive_ox_tag(int fd); -fd ¤«¤é OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+id)¤òÆɤ߹þ¤à¡£ +*/ +/*&ja +fd ¤Ë OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+serial#)¤ò½ñ¤­¹þ¤à¡£¥·¥ê¥¢¥ëÈÖ¹æ¤Ï +¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤ë¡£ +fd ¤«¤é OX ¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À(tag+serial#)¤òÆɤ߹þ¤à¡£ +*/ +/*&en +send_ox_tag() writes a tag and an automatically generated serial number +of an ox message to an OpenXM conection. +receive_ox_tag() reads a tag and a serial number of an ox message. +*/ +/*&common 4.6 @@ -341,5 +362,51 @@ int send_ox(int fd, ox* m); int send_ox_cmo(int fd, cmo* m); void send_ox_command(int fd, int sm_command); +*/ +/*&ja ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£ -*/ \ No newline at end of file +*/ + +/*&ja + +5. OX expression ¥Ñ¡¼¥µ + +OpenXM C library ¤Ë¤Ï ʸ»úÎóɽ¸½¤µ¤ì¤¿ +OX expression ¤ª¤è¤Ó CMO expression ¤«¤é¡¢ +ox ¹½Â¤ÂΤޤ¿¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¤¿¤á¤Î¥Ñ¡¼¥µ¤¬ÉÕ°¤·¤Æ¤¤¤ë¡£ + +¤³¤³¤Ç¤Ï¤³¤Î¥Ñ¡¼¥µ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ + +int setflag_parse(int flag); + +setflag_parse(PFLAG_ADDREV) ¤Ë¤è¤Ã¤Æ¡¢CMO ¤Îû½Ìɽ¸½¤òµö¤¹¡£ + +int init_parser(char *str); + +¥Ñ¡¼¥µ¤¬½èÍý¤¹¤Ù¤­Ê¸»úÎó¤ò¥»¥Ã¥È¤¹¤ë¡£ + +cmo *parse(); + +Lisp ɽ¸½¤Ë¤è¤ë OX expression, CMO expression ¤Î¹½Ê¸²òÀÏ´ï¡£¤¢¤é¤«¤¸¤á +ÀßÄꤵ¤ì¤¿Ê¸»úÎó¤ò²òÀϤ·¤Æ ox ¹½Â¤ÂΡ¢¤¢¤ë¤¤¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¡£ +*/ +/*&ja + +7. ÉÕ°¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ + +testclient + +¥Æ¥¹¥ÈÍѤµ¤Ê OpenXM ¥¯¥é¥¤¥¢¥ó¥È¡£OX expression ¤òÆþÎϤ·¤ÆÁ÷¿®¤¹¤ë +¤³¤È¤Î¤ß²Äǽ¡£SM_popCMO, SM_popString ¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤·¤¿¾ì¹ç¤Ë +¤Ï¡¢¥µ¡¼¥Ð¤«¤éÁ÷¤é¤ì¤Æ¤¯¤ë¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë¡£ + +bconv + +¥Ð¥¤¥È¥³¡¼¥É¥¨¥ó¥³¡¼¥À¡£OX expression ¤¢¤ë¤¤¤Ï CMO expression ¤òÆþÎϤ¹ +¤ë¤È¡¢Âбþ¤¹¤ë¥Ð¥¤¥ÈÎó¤òɽ¼¨¤¹¤ë¡£ + +ox_Xsample + +GUI ɽ¼¨¤¹¤ë OpenXM ¥µ¡¼¥Ð¤Î¥µ¥ó¥×¥ë¡£ + +*/