| Code Perl |
sub wsImport {local($x) = @_;
local($i,$j,$k,$x0,$y);
while(true) {
if ($x ne "") {$x =~ s/^\s*//};
if ($x eq '') {return 0}; $k = index($x,"/#T)");
if ($k==-1) {return 1}; $k = $k+4; $x0 = substr($x,0,$k); $x = substr($x,$k);
if ($x0!~/^\(#T\((\w+)\)new:/) {return 2}; $y = $1; $x0 = substr($x0,length($y)+9);
if (&wsRun("getTable",$y)!=0) {next};
if (&wsRun("getFields",$y)!=0) {return 4};
$k = index($x0,"/#T");
if ($k==-1) {return 5}; $y = substr($x0,0,$k); $x0 = substr($x0,$k);
$i = scalar(@wwTab); %{$wwTab[$i]} = (); $wwTab[$i]{"/#T"} = $y; for($j=0;$j<scalar(@wwChp);$j++) {$wwTab[$i]{$wwChp[$j]} = ''}
while(true) {
if ($x0!~/^\/#T\((\w+)\):/) {last}; $y = $1; $x0 = substr($x0,length($y)+6); $k = index($x0,"/#T");
if ($k==-1) {return 11};
if (defined $wwTab[$i]{$y}) {$wwTab[$i]{$y} = &wsImport1(substr($x0,0,$k))}; $x0 = substr($x0,$k);
}
if ($x0 ne "/#T)") {return 7};
}}
sub wsImport1 {local($x) = @_;
if ($x eq "") {return ""};
$x =~ s/\\n/\n/gi; $x =~ s/\\\"/\"/gi; $x =~ s/\\\'/\'/gi; $x =~ s/\\\\/\\/gi;
return $x
}
|
| Code JavaScript |
function wsImport(x) {
var i,j,k,x0,y;
while(true) {
if (x!="") {x = x.replace(/^\s*/,"")};
if (x=='') {return 0}; k = x.indexOf("/#T)");
if (k==-1) {return 1}; k = k+4; x0 = x.substr(0,k); x = x.substr(k);
if (!x0.match(/^\(#T\((\w+)\)new:/)) {return 2}; y = RegExp.$1; x0 = x0.substr(y.length+9);
if (wsRun("getTable",y)!=0) {continue};
if (wsRun("getFields",y)!=0) {return 4};
k = x0.indexOf("/#T");
if (k==-1) {return 5}; y = x0.substr(0,k); x0 = x0.substr(k);
i = wwTab.length; wwTab[i] = new Array(); wwTab[i]["/#T"] = y; for(j=0;j<wwChp.length;j++) {wwTab[i][wwChp[j]] = ''}
while(true) {
if (!x0.match(/^\/#T\((\w+)\):/)) {break}; y = RegExp.$1; x0 = x0.substr(y.length+6); k = x0.indexOf("/#T");
if (k==-1) {return 11};
if (typeof(wwTab[i][y])!="undefined") {wwTab[i][y] = wsImport1(x0.substr(0,k))}; x0 = x0.substr(k);
}
if (x0!="/#T)") {return 7};
}}
function wsImport1(x) {
if (x=="") {return ""};
x = x.replace(/\\n/gi,"\n"); x = x.replace(/\\\"/gi,"\""); x = x.replace(/\\\'/gi,"\'"); x = x.replace(/\\\\/gi,"\\");
return x
}
|