version 1.5, 1999/12/14 10:00:45 |
version 1.8, 2000/02/28 14:10:29 |
|
|
%% $OpenXM: OpenXM/src/kan96xx/Doc/xml.sm1,v 1.4 1999/11/20 05:17:31 takayama Exp $ |
%% $OpenXM: OpenXM/src/kan96xx/Doc/xml.sm1,v 1.7 2000/02/28 13:22:27 takayama Exp $ |
%% xml.sm1 XML support for sm1. |
%% xml.sm1 XML support for sm1. |
%% This package requires ox.sm1 |
%% This package requires ox.sm1 |
[(parse) (ox.sm1) pushfile] extension |
[(parse) (ox.sm1) pushfile] extension |
(xml.sm1 : 1999, 11/20 Sat) message |
(xml.sm1 : 1999, 11/20 Sat) message |
%%%%% These should be under /usr/local/OpenXM or OpenXM_HOME |
%%%%% These should be under /usr/local/OpenXM or OpenXM_HOME |
/oxpath.java-support (lib/java-support) def |
/oxpath.java-support (lib/java-support) def |
|
/@@@.xml null def |
|
|
[(getenv) (OpenXM_HOME)] extension |
[(getenv) (OpenXM_HOME)] extension |
tag 0 eq { |
tag 0 eq { |
|
|
[/in-cmo2xml /ob] pushVariables |
[/in-cmo2xml /ob] pushVariables |
[ |
[ |
/ob arg1 def |
/ob arg1 def |
|
@@@.xml tag 0 eq { |
|
xmlconnect |
|
}{ } ifelse |
@@@.xml ob oxpushcmo |
@@@.xml ob oxpushcmo |
|
@@@.xml 1 oxpushcmo |
@@@.xml (CMO2OMXML) oxexec |
@@@.xml (CMO2OMXML) oxexec |
@@@.xml oxpopcmo /arg1 set |
@@@.xml oxpopcmo /arg1 set |
] pop |
] pop |
|
|
[/in-xml_to_cmo /ob] pushVariables |
[/in-xml_to_cmo /ob] pushVariables |
[ |
[ |
/ob arg1 def |
/ob arg1 def |
|
@@@.xml tag 0 eq { |
|
xmlconnect |
|
}{ } ifelse |
@@@.xml ob oxpushcmo |
@@@.xml ob oxpushcmo |
|
@@@.xml 1 oxpushcmo |
@@@.xml (OMXML2CMO) oxexec |
@@@.xml (OMXML2CMO) oxexec |
@@@.xml oxpopcmo /arg1 set |
@@@.xml oxpopcmo /arg1 set |
] pop |
] pop |
|
|
|
|
[(cmoTreeToPostfix) |
[(cmoTreeToPostfix) |
[(tree-obj cmoTreeToPostfix postfix-str) |
[(tree-obj cmoTreeToPostfix postfix-str) |
$Example 1: [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ |
$Example 1: [(plus) (basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ |
$ ff cmoTreeToPostfix /gg set $ |
$ ff cmoTreeToPostfix /gg set $ |
$ [(parse) gg] extension pop :: $ |
$ [(parse) gg] extension pop :: $ |
$Example 2: ( (x-T-2)^5). /p set $ |
$Example 2: ( (x-T-2)^5). /p set $ |
|
|
arg1 |
arg1 |
} def |
} def |
|
|
/plus_Basic { |
/basic_plus { |
/arg1 set |
/arg1 set |
[/in-plus_Basic /s /a /n /i] pushVariables |
[/in-basic_plus /s /a /n /i] pushVariables |
[ |
[ |
/a arg1 def |
/a arg1 def |
/s a 0 get def |
/s a 0 get def |
|
|
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
/times_Basic { |
/basic_times { |
/arg1 set |
/arg1 set |
[/in-times_Basic /s /a /n /i] pushVariables |
[/in-basic_times /s /a /n /i] pushVariables |
[ |
[ |
/a arg1 def |
/a arg1 def |
/s a 0 get def |
/s a 0 get def |
|
|
popVariables |
popVariables |
arg1 |
arg1 |
} def |
} def |
/power_Basic { |
/basic_power { |
/arg1 set |
/arg1 set |
[/in-power_Basic /a ] pushVariables |
[/in-basic_power /a ] pushVariables |
[ |
[ |
/a arg1 def |
/a arg1 def |
a 0 get a 1 get power /arg1 set |
a 0 get a 1 get power /arg1 set |
|
|
{ |
{ |
in (array) dc /in set |
in (array) dc /in set |
/dic in 1 get def |
/dic in 1 get def |
|
/dic dic tolower def |
%% concatenate the dictionary name to the function name. |
%% concatenate the dictionary name to the function name. |
/ans in 2 get { cmoTreeToPrefix } map bracketForm def |
/ans in 2 get { cmoTreeToPrefix } map bracketForm def |
[in 0 get (_) dic ans ] cat /ans set |
[dic (_) in 0 get ans ] cat /ans set |
} ifelse |
} ifelse |
/arg1 ans def |
/arg1 ans def |
] pop |
] pop |
|
|
|
|
[(cmoTreeToPrefix) |
[(cmoTreeToPrefix) |
[(tree-obj cmoTreeToPrefix prefix-str) |
[(tree-obj cmoTreeToPrefix prefix-str) |
$Example 1: [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ |
(Dictionary names are translated to lower characters.) |
|
$Example 1: [(plus) (basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ |
$ ff cmoTreeToPrefix /gg set $ |
$ ff cmoTreeToPrefix /gg set $ |
$Example 2: ( (x-T-2)^5). /p set $ |
$Example 2: ( (x-T-2)^5). /p set $ |
$ p [(class) (recursivePolynomial)] dc xml /ff set $ |
$ p [(class) (recursivePolynomial)] dc xml /ff set $ |
|
|
arg1 |
arg1 |
} def |
} def |
|
|
|
/xml_tree_to_prefix_string { |
|
/arg1 set |
|
[/in-xml_tree_to_prefix_string /sss] pushVariables |
|
[ |
|
/sss arg1 def |
|
sss isString { |
|
}{ |
|
(string xml_tree_to_prefix_string) error |
|
}ifelse |
|
sss xml_to_cmo cmoTreeToPrefix /ans set |
|
/arg1 ans def |
|
] pop |
|
arg1 |
|
} def |
|
|
|
|
/OMproxy-testsuits2 { |
/OMproxy-testsuits2 { |
xmlconnect |
xmlconnect |
1 1 30 { |
1 1 30 { |
|
|
} for |
} for |
(Done.) message |
(Done.) message |
} def |
} def |
|
|
|
|
|
|
|
|