version 1.47, 2006/02/01 03:37:44 |
version 1.55, 2006/03/03 02:30:09 |
|
|
%%%%%%%%%%% $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.54 2006/03/03 00:43:02 takayama Exp $ |
|
|
/ox.sm1.myname (ox-new.sm1) def |
/ox.sm1.myname (ox-new.sm1) def |
|
|
Line 1847 oxasir.verbose { |
|
Line 1847 oxasir.verbose { |
|
|
|
[[(lines),[10,-1]], |
[[(lines),[10,-1]], |
[(where),[(shell), (length)]], |
[(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 |
/i1 set |
%% /translateErrorForCfep.sampleInput set |
%% /translateErrorForCfep.sampleInput set |
|
|
Line 1858 oxasir.verbose { |
|
Line 1860 oxasir.verbose { |
|
] putUsages |
] putUsages |
/translateErrorForCfep { |
/translateErrorForCfep { |
/arg1 set |
/arg1 set |
[/ee /ans /tt] pushVariables |
[/ee /ans /tt /lf /i /nn /ee.orig /tt2] pushVariables |
[ |
[ |
/ee arg1 def |
/ee arg1 def |
{ |
{ |
ee etag 257 eq { |
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 length 3 gt { |
ee 3 get /ee set |
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 |
}{ } ifelse |
ee etag 6 eq not { /ans [ ] def exit } { } ifelse |
ee etag 6 eq not { /ans [ ] def exit } { } ifelse |
/ans [ ] def |
/ans [ ] def |
|
/lf 12 (string) dc def % line feed. |
|
ans [(Begin) nl lf] join /ans set |
|
|
ee (lines) getNode /tt set |
ee (lines) getNode /tt set |
tt tag 0 eq { |
tt tag 0 eq { |
Line 1878 oxasir.verbose { |
|
Line 1889 oxasir.verbose { |
|
tt isArray { |
tt isArray { |
tt length 0 gt { |
tt length 0 gt { |
ans |
ans |
[(gotoLine, ) tt 0 get toString nl ] join /ans set |
[(gotoLine, ) tt 0 get toString nl lf] join /ans set |
}{ } ifelse |
}{ } ifelse |
} { } ifelse |
} { } ifelse |
tt isInteger { |
tt isInteger { |
[(gotoLine, ) tt toString nl ] join /ans set |
[(gotoLine, ) tt toString nl lf] join /ans set |
} { } ifelse |
} { } ifelse |
|
|
ee (where) getNode /tt set |
ee (where) getNode /tt set |
tt isArray { |
tt isArray { |
tt length 0 gt { |
tt length 0 gt { |
ans |
ans |
[(findAndSelect, ) tt 0 get (string) dc nl ] join /ans set |
[(findAndSelect, ) tt 0 get (string) dc nl lf] join /ans set |
}{ } ifelse |
}{ } ifelse |
|
1 1, tt length 1 sub { |
|
/i set |
|
ans |
|
[(findAndShow, ) tt i get (string) dc nl lf] join /ans set |
|
} for |
} { } ifelse |
} { } ifelse |
|
|
ee (reason_of_error) getNode /tt set |
ee (reason_of_error) getNode /tt set |
Line 1898 oxasir.verbose { |
|
Line 1914 oxasir.verbose { |
|
ee (reason_of_parse_error) getNode /tt set |
ee (reason_of_parse_error) getNode /tt set |
} { } ifelse |
} { } ifelse |
tt tag 0 eq not { |
tt tag 0 eq not { |
ans [(printErrorMessage, ) tt (string) dc nl] join /ans set |
ans [(printErrorMessage, ) |
%% translation and encoding is necessary. |
tt (string) dc localizedString % for translation. |
|
nl lf] join /ans set |
}{ } ifelse |
}{ } 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 |
exit |
} loop |
} loop |
|
ans [(End) nl lf] join /ans set |
ans cat /arg1 set |
ans cat /arg1 set |
] pop |
] pop |
popVariables |
popVariables |
Line 1918 oxasir.verbose { |
|
Line 1961 oxasir.verbose { |
|
cl oxgetsp /n set |
cl oxgetsp /n set |
n tag 0 eq { /n 0 def } { } ifelse |
n tag 0 eq { /n 0 def } { } ifelse |
n tag 15 eq { n (integer) dc /n set } { } ifelse |
n tag 15 eq { n (integer) dc /n set } { } ifelse |
cl n oxpops pop |
cl n oxpops |
] pop |
] pop |
popVariables |
popVariables |
} def |
} def |