=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/ox.sm1,v retrieving revision 1.53 retrieving revision 1.56 diff -u -p -r1.53 -r1.56 --- OpenXM/src/kan96xx/Doc/ox.sm1 2006/02/25 09:11:10 1.53 +++ OpenXM/src/kan96xx/Doc/ox.sm1 2006/12/21 05:29:49 1.56 @@ -1,4 +1,4 @@ -%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.52 2006/02/04 02:44:39 takayama Exp $ +%%%%%%%%%%% $OpenXM: OpenXM/src/kan96xx/Doc/ox.sm1,v 1.55 2006/03/03 02:30:09 takayama Exp $ /ox.sm1.myname (ox-new.sm1) def @@ -1712,6 +1712,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 +1893,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,7 +1906,7 @@ oxasir.verbose { ] putUsages /translateErrorForCfep { /arg1 set - [/ee /ans /tt /lf /i /nn /ee.orig] pushVariables + [/ee /ans /tt /lf /i /nn /ee.orig /tt2] pushVariables [ /ee arg1 def { @@ -1917,11 +1965,30 @@ oxasir.verbose { nl lf] join /ans set }{ } ifelse -%% Keyword from asir. A temporary implementation. - ee (toplevel) getNode /tt set - tt isInteger, tt tag 15 eq, or { - ans [(gotoLine, ) tt toString nl lf] join /ans set +%% 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 @@ -1940,7 +2007,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