[BACK]Return to README CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

Diff for /OpenXM/src/ox_toolkit/README between version 1.7 and 1.11

version 1.7, 2000/01/14 10:23:34 version 1.11, 2000/10/10 05:23:19
Line 1 
Line 1 
 # Author: ¾®¸¶¸ùǤ @ ¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼  # Author: ¾®¸¶¸ùǤ @ ¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼
 # URI:    http://omega.s.kanazawa-u.ac.jp/ohara/  # URI:    http://omega.s.kanazawa-u.ac.jp/ohara/
 # $OpenXM: OpenXM/src/ox_toolkit/README,v 1.6 1999/12/22 11:29:15 ohara Exp $  # $OpenXM: OpenXM/src/ox_toolkit/README,v 1.10 2000/03/10 12:24:38 ohara Exp $
   
 /*&ja ox_toolkit ¥æ¡¼¥¶¥¬¥¤¥É  /*&ja ox_toolkit ¥æ¡¼¥¶¥¬¥¤¥É
   
Line 25  In order to use libox.a, you need to include the follo
Line 25  In order to use libox.a, you need to include the follo
 */  */
 /*&common  /*&common
   
 #include <oxtag.h>  #include <ox_toolkit.h>
 #include <ox.h>  
 #include <parse.h>  
   
 */  */
 /*&ja  /*&ja
Line 42  In order to use libox.a, you need to include the follo
Line 40  In order to use libox.a, you need to include the follo
 1. Types  1. Types
   
 1.1 CMO (Common Math Object)  1.1 CMO (Common Math Object)
 The following structures are defined in ox.h:  The following structures are defined in ox_toolkit.h:
 */  */
 /*&common  /*&common
   
Line 82  class.
Line 80  class.
 */  */
 /*&en  /*&en
 1.2 OX objects  1.2 OX objects
 The following structures are defined in ox.h:  The following structures are defined in ox_toolkit.h:
 */  */
 /*&common  /*&common
   
Line 131  new_cmo_error2(cmo* ob);
Line 129  new_cmo_error2(cmo* ob);
   
 */  */
 /*&ja  /*&ja
 3. ¹â¿å½à API  2.5 ¥³¥Í¥¯¥·¥ç¥ó
   
   OXFILE ¤Ï OpenXM ¤Ç¤ÎÄÌ¿®Ï©¤òɽ¸½¤¹¤ë¥¯¥é¥¹¤Ç¤¢¤ë¡£¤³¤Î¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§
   ¥¯¥È¤òÌÀ¼¨Åª¤Ë¤ÏÀ¸À®¤·¤Ê¤¤¤³¤È¡£É¬¤º¥³¥ó¥¹¥È¥é¥¯¥¿¤òÍøÍѤ·¤Ê¤±¤ì¤Ð¤Ê¤é
   ¤Ê¤¤¡£¤³¤ì¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÇÀܳ»þ¤Î¼ê½ç¤¬°Û¤Ê¤ë¤³¤È¤ËͳÍ褹¤ë¡£
   ¥Ð¥¤¥È¥ª¡¼¥À¤Ë´ØÏ¢¤·¤¿½èÍý¤Ï¤³¤Î¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤Ç¼Â¸½¤µ¤ì¤ë¡£¤³¤Î¥¯¥é
   ¥¹¤Î¥á¥½¥Ã¥É¤È¤·¤Æ¼¡¤Î¤â¤Î¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£
   
   2.5.1 ¥³¥ó¥¹¥È¥é¥¯¥¿
   OXFILE *oxf_connect_active(char *hostname, short port);
   OXFILE *oxf_connect_passive(int listened);
   OXFILE *oxf_open(int fd);
   
   2.5.2 ǧ¾Ú¤Ë´ØÏ¢¤·¤¿¥á¥½¥Ã¥É
   int  oxf_confirm_client(OXFILE *oxfp, char *passwd);
   int  oxf_confirm_server(OXFILE *oxfp, char *passwd);
   void oxf_determine_byteorder_client(OXFILE *oxfp);
   void oxf_determine_byteorder_server(OXFILE *oxfp);
   void oxf_setopt(OXFILE *oxfp, int mode);
   
   2.5.3 ¤½¤Î¾¤Î¥á¥½¥Ã¥É
   int oxf_read(void *buffer, size_t size, size_t num, OXFILE *oxfp);
   int oxf_write(void *buffer, size_t size, size_t num, OXFILE *oxfp);
   void oxf_flush(OXFILE *oxfp);
   void oxf_close(OXFILE *oxfp);
   
   */
   /*&ja
   3. ¹â¿å½à API(¤³¤Îµ­½Ò¤Ï¸Å¤¤¤Î¤Ç»È¤ï¤Ê¤¤¤³¤È)
   
 ¹â¿å½à API ¤Ï¡ÖOpenXM ¥¯¥é¥¤¥¢¥ó¥È¡×¤«¤éÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£  ¹â¿å½à API ¤Ï¡ÖOpenXM ¥¯¥é¥¤¥¢¥ó¥È¡×¤«¤éÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤ËÀ߷פµ¤ì¤Æ¤¤¤ë¡£
   
 3.1 ÄÌ¿®¤Î³«»Ï  3.1 ÄÌ¿®¤Î³«»Ï
Line 151  ox_start() or to call ox_start_insecure_nonreverse().
Line 177  ox_start() or to call ox_start_insecure_nonreverse().
 */  */
 /*&common  /*&common
   
 ox_file_t ox_start(char* host, char* prog1, char* prog2);  OXFILE *ox_start(char* host, char* prog1, char* prog2);
 ox_file_t ox_start_insecure_nonreverse(char* host, short portControl, short portStream);  OXFILE *ox_start_insecure_nonreverse(char* host, short portControl, short portStream);
   
 */  */
 /*&ja  /*&ja
Line 195  ox_close() or to call ox_shutdown().
Line 221  ox_close() or to call ox_shutdown().
   
 */  */
 /*&common  /*&common
 void ox_close(ox_file_t sv);  void ox_close(OXFILE *sv);
 void ox_shutdown(ox_file_t sv);  void ox_shutdown(OXFILE *sv);
   
 */  */
 /*&ja  /*&ja
Line 213  void ox_shutdown(ox_file_t sv);
Line 239  void ox_shutdown(ox_file_t sv);
 */  */
 /*&common  /*&common
   
 void  ox_push_cmd(ox_file_t sv, int sm_code);  void  ox_push_cmd(OXFILE *sv, int sm_code);
   
 */  */
 /*&ja  /*&ja
Line 222  void  ox_push_cmd(ox_file_t sv, int sm_code);
Line 248  void  ox_push_cmd(ox_file_t sv, int sm_code);
 */  */
 /*&en  /*&en
 ox_push_cmd() sends an operation code to an OpenXM stack machine.  ox_push_cmd() sends an operation code to an OpenXM stack machine.
 See OpenXM/src/ox_toolkit/oxtag.h for a list of operation codes.  See OpenXM/include/ox_toolkit_tags.h for a list of operation codes.
   
 */  */
 /*&ja  /*&ja
Line 233  See OpenXM/src/ox_toolkit/oxtag.h for a list of operat
Line 259  See OpenXM/src/ox_toolkit/oxtag.h for a list of operat
 */  */
 /*&common  /*&common
   
 void  ox_push_cmo(ox_file_t sv, cmo *c);  void  ox_push_cmo(OXFILE *sv, cmo *c);
 cmo*  ox_pop_cmo(ox_file_t sv);  cmo*  ox_pop_cmo(OXFILE *sv);
 char* ox_popString(ox_file_t sv);  char* ox_popString(OXFILE *sv);
   
 */  */
 /*&ja  /*&ja
Line 251  ox_push_cmo ¤Ï cmo ¤òÁ÷¿®¡¢ox_pop_cmo ¤Ï cmo ¤ò¼õ¿®¤¹¤
Line 277  ox_push_cmo ¤Ï cmo ¤òÁ÷¿®¡¢ox_pop_cmo ¤Ï cmo ¤ò¼õ¿®¤¹¤
 */  */
 /*&common  /*&common
   
 int ox_pops(ox_file_t sv, int num);  int ox_pops(OXFILE *sv, int num);
   
 */  */
 /*&ja  /*&ja
Line 263  int ox_pops(ox_file_t sv, int num);
Line 289  int ox_pops(ox_file_t sv, int num);
 */  */
 /*&common  /*&common
   
 int ox_flush(ox_file_t sv);  int ox_flush(OXFILE *sv);
   
 */  */
 /*&ja  /*&ja
Line 275  int ox_flush(ox_file_t sv);
Line 301  int ox_flush(ox_file_t sv);
 */  */
 /*&common  /*&common
   
 void ox_reset(ox_file_t sv);  void ox_reset(OXFILE *sv);
   
 */  */
 /*&ja  /*&ja
Line 287  void ox_reset(ox_file_t sv);
Line 313  void ox_reset(ox_file_t sv);
 */  */
 /*&common  /*&common
   
 void ox_execute_string(ox_file_t sv, char* str);  void ox_execute_string(OXFILE *sv, char* str);
   
 */  */
 /*&ja  /*&ja
Line 299  void ox_execute_string(ox_file_t sv, char* str);
Line 325  void ox_execute_string(ox_file_t sv, char* str);
 */  */
 /*&common  /*&common
   
 int ox_cmo_rpc(ox_file_t sv, char *function, int argc, cmo *argv[]);  int ox_cmo_rpc(OXFILE *sv, char *function, int argc, cmo *argv[]);
   
 */  */
 /*&ja  /*&ja
Line 311  function(argv[1], ...) ¤ò·×»»¤·¡¢·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà¡
Line 337  function(argv[1], ...) ¤ò·×»»¤·¡¢·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà¡
   
 */  */
 /*&common  /*&common
 cmo_mathcap* ox_mathcap(ox_file_t sv);  cmo_mathcap* ox_mathcap(OXFILE *sv);
   
 */  */
 /*&ja  /*&ja
Line 424  receive_ox_tag() reads a tag and a serial number of an
Line 450  receive_ox_tag() reads a tag and a serial number of an
 */  */
 /*&common  /*&common
   
 4.6  4.6 Sending OX messages.
   
 */  */
 /*&common  /*&common
Line 434  void send_ox_command(int fd, int sm_command);
Line 460  void send_ox_command(int fd, int sm_command);
   
 */  */
 /*&ja  /*&ja
 ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£  OX ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£
 */  */
   
 /*&ja  /*&ja
Line 442  ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£
Line 468  ox ¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë¡£
 5. OX expression ¥Ñ¡¼¥µ  5. OX expression ¥Ñ¡¼¥µ
   
 */  */
   /*&en
   
   5. Parser for OX expressions
   
   */
 /*&ja  /*&ja
 OpenXM C library ¤Ë¤Ï ʸ»úÎóɽ¸½¤µ¤ì¤¿  OpenXM C library ¤Ë¤Ï ʸ»úÎóɽ¸½¤µ¤ì¤¿ OX expression ¤ª¤è¤Ó CMO
 OX expression ¤ª¤è¤Ó CMO expression ¤«¤é¡¢  expression ¤«¤é¡¢ox ¹½Â¤ÂΤޤ¿¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¤¿¤á¤Î¥Ñ¡¼¥µ¤¬ÉÕ
 ox ¹½Â¤ÂΤޤ¿¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¤¿¤á¤Î¥Ñ¡¼¥µ¤¬ÉÕ°¤·¤Æ¤¤¤ë¡£  Â°¤·¤Æ¤¤¤ë¡£¤³¤³¤Ç¤Ï¤³¤Î¥Ñ¡¼¥µ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£
   */
   /*&en
   We have a parser which generate an OX object or a CMO from a string
   encoded OX/CMO expression.  In this section, we explain the parser.
   */
   /*&en
   
 ¤³¤³¤Ç¤Ï¤³¤Î¥Ñ¡¼¥µ¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£  5.1 Setting an option
   */
   /*&ja
   
   5.1 ¥ª¥×¥·¥ç¥ó
 */  */
 /*&common  /*&common
   
 int setflag_parse(int flag);  int setflag_parse(int flag);
   
 */  */
 /*&ja  /*&ja
 setflag_parse(PFLAG_ADDREV) ¤Ë¤è¤Ã¤Æ¡¢CMO ¤Îû½Ìɽ¸½¤òµö¤¹¡£  setflag_parse(PFLAG_ADDREV) ¤Ë¤è¤Ã¤Æ¡¢CMO ¤Îû½Ìɽ¸½¤òµö¤¹¡£
   */
   /*&en
   We set an option for the parser.  If we call
   setflag_parse(PFLAG_ADDREV), then the parser admits external
   expressios.
   */
   /*&en
   
   5.2 Initializing
 */  */
   /*&ja
   
   5.2 ½é´ü²½
   */
 /*&common  /*&common
   
 int init_parser(char *str);  int init_parser(char *str);
   
 */  */
 /*&ja  /*&ja
 ¥Ñ¡¼¥µ¤¬½èÍý¤¹¤Ù¤­Ê¸»úÎó¤ò¥»¥Ã¥È¤¹¤ë¡£  ¥Ñ¡¼¥µ¤¬½èÍý¤¹¤Ù¤­Ê¸»úÎó¤ò¥»¥Ã¥È¤¹¤ë¡£
   */
   /*&en
   We give the parser an OX/CMO expression, that is, a Lisp style string.
   */
   /*&en
   
   5.3 Getting an object
 */  */
   /*&ja
   
   5.3 ·ë²Ì¤òÆÀ¤ë
   */
 /*&common  /*&common
   
 cmo *parse();  cmo *parse();
   
 */  */
Line 474  cmo *parse();
Line 539  cmo *parse();
 Lisp ɽ¸½¤Ë¤è¤ë OX expression, CMO expression ¤Î¹½Ê¸²òÀÏ´ï¡£¤¢¤é¤«¤¸¤á  Lisp ɽ¸½¤Ë¤è¤ë OX expression, CMO expression ¤Î¹½Ê¸²òÀÏ´ï¡£¤¢¤é¤«¤¸¤á
 ÀßÄꤵ¤ì¤¿Ê¸»úÎó¤ò²òÀϤ·¤Æ ox ¹½Â¤ÂΡ¢¤¢¤ë¤¤¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¡£  ÀßÄꤵ¤ì¤¿Ê¸»úÎó¤ò²òÀϤ·¤Æ ox ¹½Â¤ÂΡ¢¤¢¤ë¤¤¤Ï cmo ¹½Â¤ÂΤòÀ¸À®¤¹¤ë¡£
 */  */
   /*&en
   The parser returns an OX/CMO object.  If the given string is illegal,
   then the parser returns NULL.
   */
 /*&ja  /*&ja
   
 7. ÉÕ°¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ  7. ÉÕ°¥×¥í¥°¥é¥à¤Ë¤Ä¤¤¤Æ
Line 512  bconv
Line 581  bconv
 A byte code encoder.  It shows a byte stream which corresponds to an  A byte code encoder.  It shows a byte stream which corresponds to an
 OX expression.  OX expression.
   
   */
 /*&common  /*&common
 ox_Xsample  ox_Xsample
   
Line 520  ox_Xsample
Line 590  ox_Xsample
 GUI ɽ¼¨¤¹¤ë OpenXM ¥µ¡¼¥Ð¤Î¥µ¥ó¥×¥ë¡£  GUI ɽ¼¨¤¹¤ë OpenXM ¥µ¡¼¥Ð¤Î¥µ¥ó¥×¥ë¡£
   
 */  */
   /*&ja
   8. ÉÕÏ¿
   
   8.1 ox.c ¤Ë¤ª¤±¤ë´Ø¿ô¤Î̿̾µ¬Â§
   
   (1) receive_cmo ´Ø¿ô¤ÏCMO¥¿¥°¤È¥Ç¡¼¥¿ËÜÂΤò¼õ¿®¤¹¤ë. ¤³¤Î´Ø¿ô¤Ï CMO¥¿
   ¥°¤ÎÃͤ¬»öÁ°¤Ëʬ¤«¤é¤Ê¤¤¤È¤­¤Ë»ÈÍѤ¹¤ë. ÊÖ¤êÃͤȤ·¤Æ¡¢cmo ¤Ø¤Î¥Ý¥¤¥ó¥¿
   ¤òÊÖ¤¹.
   (2) receive_cmo_X ´Ø¿ô¤Ï, CMO¥¿¥°¤ò¿Æ¤Î´Ø¿ô¤Ç¼õ¿®¤·¤Æ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë
   ´Ø¿ô¤Ç¡¢¥Ç¡¼¥¿ËÜÂΤΤߤò¼õ¿®¤·¡¢cmo_X ¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÖ¤¹.  ¤·¤«¤â¡¢´Ø
   ¿ôÆâÉô¤Ç new_cmo_X ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹.
   (3) send_cmo ´Ø¿ô¤ÏCMO¥¿¥°¤È¥Ç¡¼¥¿ËÜÂΤòÁ÷¿®¤¹¤ë.
   (4) send_cmo_X ´Ø¿ô¤ÏCMO¥¿¥°¤ò¿Æ¤Î´Ø¿ô¤ÇÁ÷¿®¤·¤Æ¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë´Ø¿ô¤Ç¡¢
   ¥Ç¡¼¥¿ËÜÂΤΤߤòÁ÷¿®¤¹¤ë.
   (5) ¤¿¤À¤· receive_ox_tag ¤ò½ü¤¤¤Æ, receive_ox_X ´Ø¿ô¤Ïºî¤é¤Ê¤¤.
   receive_cmo ¤òÍøÍѤ¹¤ë.
   (6) send_ox_X ´Ø¿ô¤Ï OX ¥¿¥°¤ò´Þ¤á¤ÆÁ÷¿®¤¹¤ë.
   (7) ox_X ´Ø¿ô¤Ï°ìÏ¢¤ÎÁ÷¼õ¿®¤ò´Þ¤à¤è¤êÃê¾ÝŪ¤ÊÁàºî¤òɽ¸½¤¹¤ë.  ox_X ´Ø
   ¿ô¤Ï¡¢Âè°ì°ú¿ô¤È¤·¤Æ¡¢ox_file_t·¿¤ÎÊÑ¿ô sv ¤ò¤È¤ë.
   (8) Y_cmo ´Ø¿ô¤È Y_cmo_X ´Ø¿ô¤Î´Ø·¸¤Ï¼¡¤ÎÄ̤ê:
   ¤Þ¤º Y_cmo ´Ø¿ô¤Ç cmo ¤Î¥¿¥°¤ò½èÍý¤·¡¢¥¿¥°¤ò½ü¤¤¤¿»Ä¤ê¤ÎÉôʬ¤òY_cmo_X
   ´Ø¿ô¤¬½èÍý¤¹¤ë.  cmo ¤ÎÆâÉô¤Ë cmo_Z ¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢¤½¤Î¼ï
   Îà¤Ë¤è¤é¤º¤Ë Y_cmo ´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹.
   
   */
   

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>