allegro skill基本语法

allegro skill基本语法

ID:9878690

大小:100.00 KB

页数:27页

时间:2018-05-13

allegro skill基本语法_第1页
allegro skill基本语法_第2页
allegro skill基本语法_第3页
allegro skill基本语法_第4页
allegro skill基本语法_第5页
资源描述:

《allegro skill基本语法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.1SKILL语言简介SKILL是用于Cadence软件二次开发的语言。我们关于SKILL的介绍基于SKILL语言参考档和AllegroSKILL的应用。1.1.1语法格式SKILL语法支持lisp格式的语法,但是我们不推荐,推荐类C的语法格式。Lisp示例:(max53)=>5C示例:max(53)=>5Max是求最大值的函数,lisp格式的不便阅读。1.1.2简单的SKILL运行环境Allegro的SKILL运行环境:在Allegro的命令窗口输入settelskill窗口就可以用来运行就可以打开一个新的窗口,这个SKILL命令。窗口的大小可以手动调节。 1.1.3L

2、oadSkill可以直接在SKILLdevelopment里面运行SKILL,可以把写好的代码放load命令一次性装载。在说明load之前,先说一下getSkillPath和setSkillPath这2个函数。因为load要找到SKILL来装载,通常我们都不喜欢通过绝对路径来装载一个文件,因为那样包含的字符太多了。文件getSkillPath()将得到当前Allegro设置的SKILL加载路径,而setSkillPath用来指定加载路径。目前先不用考虑这个setSkillPath。我的Allegro当前默认的SKILL路径是Allegro的工作路径和C:homepcbe

3、nvskill这样我先把hello.il文件放在C:homepcbenvskill函数。下面,下一步来加载这个文件,然后运行定义的函数 Hello.il的源代码:procedure(hello()let(()println("HelloWorld!")));endprocedure1.1.4注释SKILL支持2种注释方式:a./*…*/用于注释多行,像C一样b.;用于注释单行,类似C的//1.1.5基本的数据类型integer5float5.0string"abcdefg"list'(123"a")boolent/nil1.1.6变量SKILL的变量定义比较随便,

4、不需要指定其类型,赋什么类型的值就是什么类型。示例:变量名可以包含字母、数字、下划线以及问号,数字和问号不可以作为变量的第一个字符。不过为了规范编程和方便阅读,对于不同类型的数据的变量都使用简写的方式来代表,比如定义一个浮点数的变量,那么推荐使用f作为前缀。如fPrice,lCoordinate,sMessage,iAge/nAge,bCheck...1.1.7操作符数学运算+,-,*,/,++,**比较运算>,<,=,>=,<=,==逻辑运算

5、

6、,&&,!赋值=1.1.8输出数据示例: %d---integer,%f---float,%s---string,%L---多种

7、数据格式 1.2List数据类型List是CadenceSKILL中常用的数据类型。可以把List可以有多种类型的常量组成的列表。理解为一个数据结构表,它可以是空的,也可以有多种类型的常量组成的列表例如:'(12abc"PCB")在上面这个List中包含的数据有整数、字符、字符串。在List中也可以包含List类型的数据。例如:'(1(2aa)b)1.2.1创建List数据创建新的List数据可以用单引号'或者函数list来新建一个List数据类型的变量。例如:aList='(12abc)=>(12abc)bList=list(12'a'b'd)=>(12abd)cList

8、='(1(2aa)b)=>(1(2aa)b)注意:当有字符出现的时候,用list函数创建必须在字符前加单引号。1.2.2List在内存中的储存方式我们可以把List看做是一个List单元,其中一个List单元占用两个内存位置。这样便于理解。 第一个位置保存List的首个数据元素,第二个位置保存后面的List单元(除第一个元素之外的所有元素组成的表),它可以为空数据。用car函数可以得到保存在第一个位置的List元素:car(aList)=>2用cdr函数可以得到保存在第二个位置的List单元:cdr(aList)=>(34)List中可以包含有子List,例如:bList=

9、'(1(234)5)=>(1(234)5)bList在内存中的储存方式如下图所示: List中可以同时包含List和字符,例如:bList='(1(2aa)b)=>(1(2aa)b)bList在内存中的储存方式如下图所示: 1.2.3读取List元素1)读取List中的第一个元素使用car函数可以读取List中的第一个元素。例:car('(abc))=>az='(123)=>(123)y=car(z)=>1y=>1z=>(123)car(nil)=>nil2)读取List中后面的List单元使用cdr函数可以读取L

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。