=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox.sm1,v retrieving revision 1.47 retrieving revision 1.59 diff -u -p -r1.47 -r1.59 --- OpenXM/src/kan96xx/Doc/ox.sm1 2006/02/01 03:37:44 1.47 +++ OpenXM/src/kan96xx/Doc/ox.sm1 2015/08/03 21:12:54 1.59 @@ -1,4 +1,4 @@ -%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.46 2006/01/26 08:42:33 takayama Exp $ +%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.58 2013/09/19 10:15:11 takayama Exp $ /ox.sm1.myname (ox-new.sm1) def @@ -54,7 +54,15 @@ ox.version [(Version)] system_variable gt /Xm_noX 1 def } def +(@@@.monitor) boundp { +}{ + /@@@.monitor ( ) def +} ifelse +/oxMonitor { + /@@@.monitor ( -monitor ) def +} def + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% basic functions for OX-RFC 100 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -118,6 +126,8 @@ ox.version [(Version)] system_variable gt $ ex 2. (ox.sm1) run oxNoX (x^2-1). fctr pmat ; $ $ $ $cf. extension-oxLog $ + (oxMonitor : ox_sm1 server outputs packet dumps.) + $ ex 1. (ox.sm1) run oxMonitor sm1connectr $ ] ] putUsages @@ -687,7 +697,7 @@ ox.verbose { oxhelp } { } ifelse @@@.quiet { ( -quiet ) } { } ifelse Xm_noX { ( -nox ) } { } ifelse Xm_engineLogToStdout { ( -nox -engineLogToStdout ) } { } ifelse %bug.onlyForsm1 - ( -oxserver bin/ox_sm1 -e ) ( -reverse ) + ( -oxserver bin/ox_sm1 -e ) ( -reverse ) @@@.monitor ( -data ) data ( -control ) control pass [1 2] get ( )] cat execve [(oxCreateClient2) peer 0 pass 0 get] extension /oxsm1.ccc set @@ -743,7 +753,7 @@ ox.verbose { oxhelp } { } ifelse [(sm1connectr-ssh) [([hostname login-name] sm1connectr-ssh client) (Starting oxpath.oxsm1-ssh by the launcher oxpath.ox-ssh on the "hostname".) - (cf. oxNoX ) + (cf. oxNoX ox ) (Set the following varialbes to appropriate values:) (oxpath.oxlog.xterm-ssh oxpath.oxsm1-ssh oxpath.ox-ssh myhostname-ssh ) $Example 1: $ @@ -796,7 +806,14 @@ ox.verbose { oxhelp } { } ifelse %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Aux functions for ox_asir %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -/ox_asirConnectMethod { asirconnectr /oxasir.ccc set } def +/ox_asirConnectMethod { + asirconnectr /oxasir.ccc set + [(getenv) (OX_ASIR_LOAD_FILE)] extension tag 0 eq { 0 } + { /oxasir.loadfile [$load("$[(getenv) (OX_ASIR_LOAD_FILE)] extension $");$] + cat def + oxasir.ccc oxasir.loadfile oxsubmit + oxasir.ccc oxpopcmo } ifelse +} def /oxasir.loadmethod 1 def %% "..." oxsendcmo (load) ox... /oxasir.verbose 0 def /oxasir.ccc load isArray @@ -1712,6 +1729,52 @@ oxasir.verbose { $ [1 2 ] ] asir.wgr $ ]] putUsages +/print_tex_form.aux { + /arg1 set + [/f /ans] pushVariables + [ + arg1 /f set + [(UseDsmall)] system_variable /vv set + [(UseDsmall) 1] system_variable + f isArray { + f { print_tex_form.aux } map /ans set + }{ + [$quote($, f toString, $) $] cat /ans set + } ifelse + [(UseDsmall) vv] system_variable + ans /arg1 set + ] pop + popVariables + arg1 +} def + +/print_tex_form { + /arg1 set + [/f /comm /vv] pushVariables + [(CurrentRingp)] pushEnv + [ + /f arg1 def + oxasir.ccc [ ] eq { + (Starting ox_asir server.) message + ox_asirConnectMethod + } { } ifelse + + oxasir.ccc ( quotetotex_env("conv_rule",7); ) oxsubmit + oxasir.ccc oxpopcmo ; + + f print_tex_form.aux /f set + [$ print_tex_form($, f $); $] cat /comm set + oxasir.ccc comm oxsubmit + oxasir.ccc oxpopcmo /arg1 set + ] pop + popEnv + popVariables + arg1 +} def + +[(print_tex_form) +[ (obj print_tex_form str) +]] putUsages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% functions to start ox_asir %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1847,7 +1910,9 @@ oxasir.verbose { [[(lines),[10,-1]], [(where),[(shell), (length)]], - [(reason_of_error), (invalid argument)]] + [(reason_of_error), (invalid argument)], + [(asir_where),[[(toplevel),10],[(string),(foo),3],[(string),(hoge),-1]] +]] /i1 set %% /translateErrorForCfep.sampleInput set @@ -1858,18 +1923,27 @@ oxasir.verbose { ] putUsages /translateErrorForCfep { /arg1 set - [/ee /ans /tt] pushVariables + [/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 (body) dc 1 get /ee set ee /ee.orig set ee length 3 gt { ee 3 get /ee set - }{ /ee [ ] def } ifelse + 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 { @@ -1878,19 +1952,24 @@ oxasir.verbose { tt isArray { tt length 0 gt { ans - [(gotoLine, ) tt 0 get toString nl ] join /ans set + [(gotoLine, ) tt 0 get toString nl lf] join /ans set }{ } ifelse } { } ifelse tt isInteger { - [(gotoLine, ) tt toString nl ] join /ans set + [(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 ] join /ans set + [(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 @@ -1898,12 +1977,39 @@ oxasir.verbose { ee (reason_of_parse_error) getNode /tt set } { } ifelse tt tag 0 eq not { - ans [(printErrorMessage, ) tt (string) dc nl] join /ans set - %% translation and encoding is necessary. + 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 @@ -1918,7 +2024,7 @@ oxasir.verbose { 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 + cl n oxpops ] pop popVariables } def