识别字符串中的表达式(续二)

写了一个脚本来测试嵌套的效率:

 1 ExpandedBlockStart.gif ContractedBlock.gif /**/ /*
 2 InBlock.gif
 3 InBlock.gif测试一下字符串中怎么来加入表达式
 4 InBlock.gif
 5 ExpandedBlockEnd.gif */

 6 None.gif function  add(p1,p2)
 7 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
 8 InBlock.gifprint(p1)
 9 InBlock.gifprint(p2)
10 InBlock.gifprint(p1 + p2)
11 InBlock.gif return  p1 + p2
12 ExpandedBlockEnd.gif}

13 None.gif // a="12<%1+2%>12<%5+778+add(12,3)%>6"
14 None.gif// print(a)
15 None.gif a = 23
16 None.gifprint( " <% " s <% a %> d " +a%>add<%a+add(1,2)%> " )
17 None.gifstr = " a "  
18 None.gif // print("<%<%"+str+"%>+"*%>")
19 None.gif// 这里是10层嵌套
20 None.gif for (i = 0 ;i < 10 ;i = i + 1 )
21 ExpandedBlockStart.gifContractedBlock.gif dot.gif {
22 InBlock.gif  
23 InBlock.gif a = str
24 InBlock.gifstr  = str + " <%a%> "
25 InBlock.gifprint(str)
26 InBlock.gifprint( " * " )
27 ExpandedBlockEnd.gif}

28 None.gif 

现在字符串表示的识别是在词法分析阶段就完成了的,在10层的时候还是执行得很快的,如果把i<10改为i<50他的执行时间就慢多了

转载于:https://www.cnblogs.com/FlyFire/archive/2006/03/23/356816.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值