[BACK]Return to xm CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2018 / lib

Annotation of OpenXM_contrib2/asir2018/lib/xm, Revision 1.1

1.1     ! noro        1: /*
        !             2:  * Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
        !             3:  * All rights reserved.
        !             4:  *
        !             5:  * FUJITSU LABORATORIES LIMITED ("FLL") hereby grants you a limited,
        !             6:  * non-exclusive and royalty-free license to use, copy, modify and
        !             7:  * redistribute, solely for non-commercial and non-profit purposes, the
        !             8:  * computer program, "Risa/Asir" ("SOFTWARE"), subject to the terms and
        !             9:  * conditions of this Agreement. For the avoidance of doubt, you acquire
        !            10:  * only a limited right to use the SOFTWARE hereunder, and FLL or any
        !            11:  * third party developer retains all rights, including but not limited to
        !            12:  * copyrights, in and to the SOFTWARE.
        !            13:  *
        !            14:  * (1) FLL does not grant you a license in any way for commercial
        !            15:  * purposes. You may use the SOFTWARE only for non-commercial and
        !            16:  * non-profit purposes only, such as academic, research and internal
        !            17:  * business use.
        !            18:  * (2) The SOFTWARE is protected by the Copyright Law of Japan and
        !            19:  * international copyright treaties. If you make copies of the SOFTWARE,
        !            20:  * with or without modification, as permitted hereunder, you shall affix
        !            21:  * to all such copies of the SOFTWARE the above copyright notice.
        !            22:  * (3) An explicit reference to this SOFTWARE and its copyright owner
        !            23:  * shall be made on your publication or presentation in any form of the
        !            24:  * results obtained by use of the SOFTWARE.
        !            25:  * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
        !            26:  * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
        !            27:  * for such modification or the source code of the modified part of the
        !            28:  * SOFTWARE.
        !            29:  *
        !            30:  * THE SOFTWARE IS PROVIDED AS IS WITHOUT ANY WARRANTY OF ANY KIND. FLL
        !            31:  * MAKES ABSOLUTELY NO WARRANTIES, EXPRESSED, IMPLIED OR STATUTORY, AND
        !            32:  * EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS
        !            33:  * FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF THIRD PARTIES'
        !            34:  * RIGHTS. NO FLL DEALER, AGENT, EMPLOYEES IS AUTHORIZED TO MAKE ANY
        !            35:  * MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY.
        !            36:  * UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT,
        !            37:  * OR OTHERWISE, SHALL FLL BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
        !            38:  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
        !            39:  * DAMAGES OF ANY CHARACTER, INCLUDING, WITHOUT LIMITATION, DAMAGES
        !            40:  * ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS AGREEMENT, DAMAGES
        !            41:  * FOR LOSS OF GOODWILL, WORK STOPPAGE, OR LOSS OF DATA, OR FOR ANY
        !            42:  * DAMAGES, EVEN IF FLL SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
        !            43:  * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. EVEN IF A PART
        !            44:  * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
        !            45:  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
        !            46:  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
        !            47:  *
        !            48:  * $OpenXM$
        !            49: */
        !            50: /**  xm  **/
        !            51: Xm_noX = 0$
        !            52: /* 1 : using X-window system. 0 : not using X-window system. */
        !            53: /* TODO: db.restore should be called after sm1 error and interruption.
        !            54:          cf. var.sm1,  debugMode
        !            55: */
        !            56: Xm_use_timer_to_start_server = 1$
        !            57: XM_debug=1$
        !            58: Xm_debug_on_win_1=0$
        !            59:
        !            60: /* Utilities: it is also defined in names.rr */
        !            61: def ox_getenv(S) {
        !            62:   A = getenv(S);
        !            63:   if (A == 0) {
        !            64:     if (type(S) != 7) S=rtostr(S);
        !            65:     S2 = ox_toupper(S);
        !            66:     A = getenv(S2);
        !            67:   }
        !            68:   return A;
        !            69: }
        !            70: def ox_toupper(S) {
        !            71:   R = [];  A = strtoascii(S);
        !            72:   for (I=0; I<length(A); I++) R=cons((A[I]>=97 && A[I]<=122?A[I]-32:A[I]),R);
        !            73:   return asciitostr(reverse(R));
        !            74: }
        !            75:
        !            76: /*&C-texi
        !            77: @c DO NOT EDIT THIS FILE   oxxm.texi
        !            78: */
        !            79: /*&jp-texi
        !            80: @node OpenXM-Contrib $B0lHLH!?t(B,,, Top
        !            81: @chapter OpenXM-Contrib $B0lHLH!?t(B
        !            82: */
        !            83: /*&eg-texi
        !            84: @node OpenXM-Contrib General Functions,,, Top
        !            85: @chapter OpenXM-Contrib General Functions
        !            86: */
        !            87: /*&jp-texi
        !            88: @section $BH!?t0lMw(B
        !            89: */
        !            90: /*&eg-texi
        !            91: @section Functions
        !            92: */
        !            93:
        !            94:
        !            95: Sm1_lib = ox_getenv("OpenXM_HOME")$
        !            96: if (Sm1_lib == 0) {
        !            97:   Sm1_lib = "/usr/local/lib/sm1"$
        !            98: } else {
        !            99:   Sm1_lib = Sm1_lib+"/lib/sm1"$
        !           100: }
        !           101: ToAsir_Debug = 0$
        !           102:
        !           103: def ox_help(A) {
        !           104:   if (type(A) == 0) {
        !           105:     shell("ls "+ox_getenv("OpenXM_HOME")+"/lib/asir/help/xm.help");
        !           106:   }else{
        !           107:     help("xm.help/"+A)$
        !           108:   }
        !           109: }
        !           110:
        !           111:
        !           112: def ox_get_errors(P) {
        !           113:   ox_push_cmd(P,276);
        !           114:   return(ox_pop_cmo(P));
        !           115: }
        !           116: def ox_check_errors(P) {
        !           117:   E = ox_get_errors(P);
        !           118:   if (E == [ ]) return(P);
        !           119:   else {
        !           120:     print("Error during the initialization : double check binary ox-files, library files and environmental variables.");
        !           121:     print(E);
        !           122:     debug;
        !           123:   }
        !           124:   return(P);
        !           125: }
        !           126:
        !           127: /*&eg-texi
        !           128: @menu
        !           129: * ox_check_errors2::
        !           130: @end menu
        !           131: @node ox_check_errors2,,, Top
        !           132: @subsection @code{ox_check_errors2}
        !           133: @findex ox_check_errors2
        !           134: @table @t
        !           135: @item ox_check_errors2(@var{p})
        !           136: ::  get a list of error objects on the statck of the server @var{p}.
        !           137: @end table
        !           138:
        !           139: @table @var
        !           140: @item return
        !           141: List
        !           142: @item p
        !           143: Number
        !           144: @end table
        !           145:
        !           146: @itemize @bullet
        !           147: @item It gets a list of error objects on the server stack.
        !           148: @item It does not pop the error objects.
        !           149: @end itemize
        !           150: */
        !           151: /*&jp-texi
        !           152: @menu
        !           153: * ox_check_errors2::
        !           154: @end menu
        !           155: @node ox_check_errors2,,, Top
        !           156: @subsection @code{ox_check_errors2}
        !           157: @findex ox_check_errors2
        !           158: @table @t
        !           159: @item ox_check_errors2(@var{p})
        !           160: ::  $B<1JLHV9f(B @var{p} $B$N%5!<%P$N%9%?%C%/>e$K$"$k%(%i!<%*%V%8%'%/%H$r%j%9%H$GLa$9(B.
        !           161: @end table
        !           162:
        !           163: @table @var
        !           164: @item return
        !           165: $B%j%9%H(B
        !           166: @item p
        !           167: $B?t(B
        !           168: @end table
        !           169:
        !           170: @itemize @bullet
        !           171: @item   $B<1JLHV9f(B @var{p} $B$N%5!<%P$N%9%?%C%/>e$K$"$k%(%i!<%*%V%8%'%/%H$r%j%9%H$GLa$9(B.
        !           172: @item $B%(%i!<%*%V%8%'%/%H$N%]%C%W$O$7$J$$(B.
        !           173: @end itemize
        !           174: */
        !           175: /*&C-texi
        !           176: @example
        !           177: [219] P=sm1_start();
        !           178: 0
        !           179: [220] sm1(P," 0 get ");
        !           180: 0
        !           181: [221] ox_check_errors2(P);
        !           182: [error([7,4294967295,executeString: Usage:get])]
        !           183: Error on the server of the process number = 1
        !           184: To clean the stack of the ox server,
        !           185: type in ox_pops(P,N) (P: process number, N: the number of data you need to pop)
        !           186: out of the debug mode.
        !           187: If you like to automatically clean data on the server stack,
        !           188: set XM_debug=0;
        !           189:
        !           190: @end example
        !           191: */
        !           192: def ox_check_errors2(P) {
        !           193:   extern XM_debug;
        !           194:   E = ox_get_errors(P);
        !           195:   if (E == [ ]) return(P);
        !           196:   else {
        !           197:     print(E);
        !           198:     print("Error on the server of the process number = ",0)$
        !           199:     print(P);
        !           200:     if (XM_debug == 0) {
        !           201:        print("Automatically cleaning the stack (pop 100 data)....",0)$
        !           202:        ox_pops(P,100)$
        !           203:        print("done.")$
        !           204:        print("If you want to do it by hand, set XM_debug = 1.");
        !           205:     }else{
        !           206:        print("To clean the stack of the ox server,");
        !           207:        print("type in ox_pops(P,N) (P: process number, N: the number of data you need to pop) out of the debug mode");
        !           208:        print("If you like to automatically clean data on the server stack,");
        !           209:        print("set XM_debug=0;");
        !           210:        debug;
        !           211:     }
        !           212:   }
        !           213:   return(P);
        !           214: }
        !           215:
        !           216: def first(A) {return(A[0]);}
        !           217:
        !           218:
        !           219: def ox_grep(A) {
        !           220:   if (type(A) == 2) {
        !           221:     A = rtostr(A);
        !           222:   }else if (type(A) != 7) {
        !           223:     return("Usage: ox_grep(keyword)");
        !           224:   }
        !           225:
        !           226:   if (ox_getenv("LANG") == "ja_JP.EUC") {
        !           227:     F = get_rootdir()+"/help-ja/";
        !           228:   }else{
        !           229:     F = get_rootdir()+"/help-en/";
        !           230:   }
        !           231:   Pager = ox_getenv("PAGER");
        !           232:   if (Pager == 0) Pager="more";
        !           233:   OF = F+"xm.help";
        !           234:
        !           235:   print("---------- Result of grep  (ox_grep) ---------------------")$
        !           236:   shell("(cd " + F + " ; " + " grep "+A+" * xm.help/* | "+Pager+" )");
        !           237:
        !           238:   print("---------- Possible help keyword  for help -------------")$
        !           239:   shell("ls "+F+" | grep "+A);
        !           240:   print("---------- Possible help keyword  for ox_help ----------")$
        !           241:   shell("ls "+OF+" | grep "+A);
        !           242:
        !           243:   return(0);
        !           244: }
        !           245:
        !           246:
        !           247:
        !           248: load("sm1")$
        !           249: load("gnuplot")$
        !           250: load("tigers")$
        !           251: load("phc")$
        !           252:
        !           253: /* This module is obsolete and will no be supported.
        !           254:    See OpenXM/src/asir-contrib/packages/src/oxrfc100.rr
        !           255: */
        !           256:
        !           257: end$

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