TCL脚本语法与置换机制.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1.语法:简单的讲,TCL语言的语法实际上是一些TCL解释器怎样对TCL命令进行分析的规则的

集合。

1.1、命令和单词符号

一个TCL可以包含一个或多个命令。命令之间必须用换行符或分号隔开;

TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这个命令的参

数,单词之间必须用空格或TAB键隔开。

TCL解释器对一个命令的求值过程分为两部分:分析和执行。在分析阶段,TCL解释器运用规则

把命令分成一个个独立的单词,同时进行必要的置换(substitution);在执行阶段,TCL解释器会把

一个单词当作命令名,并查看这个命令是否有定义,如果有定义就激活这个命令对应的C/C++过

程,

并把所有的单词作为参数传递给该命令过程,让命令过程进行处理。

1.2置换

TCL解释器在分析命令时,把所有令参数都当作字符串看待,例如:

%setx10//定义变量x,并把x的值赋为10

10

%setyx+100//y的值是x+100,而不是我们期望的110

x+100

因此,需要采用别的方法(也就是置换)告诉TCL,这是个变量:

TCL三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一个或多个单

词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,而且置换可以嵌套。

1.变量置换

变量置换由一个$符号标记,变量置换会导致变量的值一个单词中。例如:

%sety$x+100//y的值是10+100,这里x被置换成它的值1010+

100

这时,y的值还不是我们想要的值110,而是10+100,因为TCL解释器把10+100看成是一个字

符串,而不是表达式,y要想得到值110,还必须用命令置换,使得TCL会把10+100看成一个表

达式并求值。

2.命令置换

是由[]括起来的TCL命令及其参数,命令置换会导致某一个命令的所有或部分单词被另

一个命令的结果所代替。

%sety[expr$x+100]

110

y的值是110,这里当TCL解释器遇到字符[时,它就会把随后的expr命令名,

从而激活与

expr对应的C/C++过程,并把expr和变量置换后得到的10+110传递给该命令过程进行处

理。

1.Grr:Simplyput,thegrroftheTCLlanguageisactuallyacollectionof

ruforhowtheTCLinterpreteranalyzesTCLcommands.

1.1Scripts,commandsandwordsymbols

ATCLscriptcancontainoneormorecommands.Commandsmustbeseparatedbynewlinesorsemicolons;

EachcommandofTCLcontainsoneorseveralwords.Thefirstwordrepresentsthecommandname,andt

heotherwordsaretheparametersofthiscommand.ThewordsmustbeseparatedbyspacesorTABkeys.

TheTCLinterpretersevaluationprocessofacommandisdividedintotwoparts:analysisandexecution.In

theanalysisphase,theTCLinterpreterusesrutodividethecommandintotwordsand

performsnecessarysubstitutions;inthe

文档评论(0)

199****9598 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档