[BACK]Return to ox.sm1 CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Doc

Diff for /OpenXM/src/kan96xx/Doc/ox.sm1 between version 1.46 and 1.55

version 1.46, 2006/01/26 08:42:33 version 1.55, 2006/03/03 02:30:09
Line 1 
Line 1 
 %%%%%%%%%%%  $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.45 2004/09/17 12:32:11 takayama Exp $  %%%%%%%%%%%  $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.54 2006/03/03 00:43:02 takayama Exp $
   
 /ox.sm1.myname (ox-new.sm1) def  /ox.sm1.myname (ox-new.sm1) def
   
Line 104  ox.version [(Version)] system_variable gt 
Line 104  ox.version [(Version)] system_variable gt 
  (client oxpushcmotag)   (client oxpushcmotag)
  (   )   (   )
  (client oxgetsp --- get stack pointer,  client oxgeterrors --- get all errors)   (client oxgetsp --- get stack pointer,  client oxgeterrors --- get all errors)
    (client oxclearstack --- clear the stack of the ox server.)
  (cleint oxisData, client oxreset, client oxshutdown)   (cleint oxisData, client oxreset, client oxshutdown)
  (oxhelp for this message)   (oxhelp for this message)
  ([(oxWatch) client] extension to start a log.)   ([(oxWatch) client] extension to start a log.)
Line 1842  oxasir.verbose {
Line 1843  oxasir.verbose {
   ] pop    ] pop
   popVariables    popVariables
   arg1    arg1
 } def  
   
   } def
   
   [[(lines),[10,-1]],
    [(where),[(shell), (length)]],
    [(reason_of_error), (invalid argument)],
    [(asir_where),[[(toplevel),10],[(string),(foo),3],[(string),(hoge),-1]]
   ]
   /i1 set
   %% /translateErrorForCfep.sampleInput  set
   
   [(translateErrorForCfep)
   [
    (translate the error packet defined in ox-rfc-103 into series of commands for cfep.)
   ]
   ] putUsages
   /translateErrorForCfep {
     /arg1 set
     [/ee /ans /tt /lf /i /nn /ee.orig /tt2] pushVariables
     [
      /ee arg1 def
      {
       ee etag 257 eq {
         ee (body) dc 1 get /ee set  ee /ee.orig set
         ee length 3 gt {
           ee 3 get /ee set
           ee [[(reason_of_error) ee.orig 2 get toString ]] join /ee set
         }{
           %% nn should be 2, [serial, common error no, short message]
           ee length /nn set
           nn 0 gt {
             /ee [(reason_of_error) ee nn 1 sub get toString ] def
           } {  /ee [ ] def } ifelse
         } ifelse
       }{ } ifelse
       ee etag 6 eq not { /ans [ ] def exit } { } ifelse
       /ans [ ] def
       /lf 12 (string) dc def  % line feed.
       ans [(Begin) nl lf] join /ans set
   
       ee (lines) getNode  /tt set
       tt tag 0 eq {
         ee (parse_error_at) getNode /tt set
       } { } ifelse
       tt isArray {
         tt length 0 gt {
            ans
            [(gotoLine, ) tt 0 get toString  nl lf] join /ans set
         }{ } ifelse
       } { } ifelse
       tt isInteger {
         [(gotoLine, ) tt toString  nl lf] join /ans set
       } { } ifelse
   
       ee (where) getNode  /tt set
       tt isArray {
         tt length 0 gt {
            ans
            [(findAndSelect, ) tt 0 get (string) dc  nl lf] join /ans set
         }{ } ifelse
         1 1, tt length 1 sub {
           /i set
            ans
            [(findAndShow, ) tt i get (string) dc  nl lf] join /ans set
         } for
       } { } ifelse
   
       ee (reason_of_error) getNode  /tt set
       tt tag 0 eq {
         ee (reason_of_parse_error) getNode /tt set
       } { } ifelse
       tt tag 0 eq not {
         ans [(printErrorMessage, )
              tt (string) dc localizedString  % for translation.
              nl lf] join /ans set
       }{ } ifelse
   
   %% Keyword from asir.  [(asir_where) [[(toplevel),3],[(string),(foo),3],[(filename),(func),4]]]
       ee (asir_where) getNode  /tt set
       tt (toplevel) getNode /tt2 set
       tt2 isInteger, tt2 tag 15 eq, or {
         ans [(gotoLine, ) tt2 toString  nl lf] join /ans set
       } { } ifelse
       tt isArray {
         0 1 tt length 1 sub {
            /i set
           tt i get /tt2 set
           tt2 (string) getNode tag 0 eq { }
           {
              tt2 length 2 gt {
                 tt2 2 get /tt2 set
                 tt2 isInteger, tt2 tag 15 eq, or {
                   tt2 toString .. /tt2 set
                   tt2 (-1).. gt, tt2 (4294967295).. lt, and {
                     ans [(gotoLine, ) tt2 toString  nl lf] join /ans set
                   } { } ifelse
                 } { } ifelse
              }{ } ifelse
           } ifelse
         } for
       }{ } ifelse
   
       exit
      } loop
      ans [(End) nl lf] join /ans set
      ans cat /arg1 set
     ] pop
     popVariables
     arg1
   } def
   
   /oxclearstack {
     /arg1 set
     [/cl /n] pushVariables
     [
       /cl arg1 def
       cl oxgetsp /n set
       n tag 0 eq { /n 0 def } { } ifelse
       n tag 15 eq { n (integer) dc /n set } { } ifelse
       cl n oxpops
     ] pop
     popVariables
   } def

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.55

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