µ±è»²»êçí¨óãಡ£¡£
àýèçèç¹ûôú""àïãæóð"{"äçã´¾íâòáë¡£¡£
<textarea cols=64 rows=24 id=ta>
</textarea>
<hr>
<button onclick="trans()">trans</button>
<script>
function trans()
{
var res=_trans(ta.value)
ta.value=res;
}
function _trans(str)
{
str=str.replace(/\r\n(\s)+/g,"\r\n");
var arrres=new array();
var arr=str.split("\r\n");
var count=0;
arrres[arrres.length]=arr[0];
for(var i=1;i<arr.length-1;i++)
{
var p=(i*100/arr.length+"");
status=math.floor(p)+1+"%";
count+=getcount(arr[i-1]);
var c=count;
if(arr[i].indexof("case")==0)c--;
if(arr[i].indexof("}")==0)c--;
if(arr[i].indexof("{")!=0)
{
if(arr[i-1].indexof("if")==0)c++;
if(arr[i-1].indexof("else")==0)c++;
if(arr[i-1].indexof("while")==0)c++;
if(arr[i-1].indexof("do")==0)c++;
if(arr[i-1].indexof("for")==0)c++;
}
arrres[arrres.length]=tabs(c)+arr[i]+"\r\n";
}
arrres[arrres.length]=arr[i];
return arrres.join("");
}
function tabs(count)
{
var res="";
for(var i=0;i<count;i++)
res+="\t";
return res;
}
function getcount(str)
{
var c=0;
for(var i=0;i<str.length;i++)
{
if(str.charat(i)=="{")c++;
else
if(str.charat(i)=="}")c--;
}
return c;
}
</script>