|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 palDesign 于 2014-7-6 07:56 编辑
我正在写《 Cadence skill 二次开发指导 》 ,本书分数据操作、流程控制、表单控件、插件函数、演示百例等章节。本着“人人为我,我为人人”态度,我不想被孤立。在这论坛上发贴跟进,求围观、求指点,下一贴的发贴条件为:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
. 常用符号
特殊字符,注释,空格,圆括号和其它标记法的使用
特殊字符
SKill中的特殊字符列表
字符
全名
含义
\
反斜杠
辅助输出特殊字符
()
圆括号
组织数据列表和调用函数列表
[]
中括号
数组索引,超级右中括号
{}
大括号
使用progn时组织一系列表达式
'
单引号
单引号中的表达式不会被解析
"
双引号
字符串分界符
,
逗号
列表中可选的元素分界符;
;
分号
行注释
:
冒号
位分隔符,范围操作
.
点号
getq操作
+,–,*,/
算术运算
算术运算符;
!,^,&,|
逻辑运算
逻辑运算符
<,>,=
关系运算
比较运算,赋值以及位运算
#
#
用在第一列表示信号的特别解析
@
@
用在第一个字符表示保留字;另外在反引号作用范围内使用将强制表达式解析
?
问号
如果是第一个字符表示关键字
`
反引号
引号内的表达式不被解析
%
百分号
$
-
保留为将来使用
[注:输出这些特殊字符都需要("escaped") 在字符前加"\"。
注释
允许两种不同购格的注释方法:
行注释方法, 使用分号";",注释范围在分号后的当前行。
多行注释,使用"/*"和"*/"对,注释范围在这这对符号内。
空格
空格的限制比较少,只是要注意下面几个情况
函数名和跟在后面的圆括号之间不能有空格,如max(4 2)是对的,而max (4 2)则是错的;
表示负数的符号"-"和数字之间不能有空格,如-5, -(a*b)有效,而- 5,- (a*b)无效;
表示算术运算的"+ - * /"在2个数字之间的位置要对称,如a - b, a-b有效,而a -b无效。
圆括号
圆括号在skill中用于函数调用,分隔多个表达式,控制表达式的解析顺序
skill中调用函数有2种方式,max(a b)和(max a b)都有效。都不用括号也可以。
超级右中括号
超级右中括号,不推荐使用,在使用了很多"("的表达式后,可以用"]"来代表很多个用于结尾的")"。
如f1( f2( f3( f4( x ) ) ) )等效于。
反引号,逗号和逗号加@
示例1.
y = 1
'(x y z) => (x y z) ;反引号使得表达式不被解析,所以其中的y不会被1代替
'(x ,y z) => (x 1 z) ;增加一个逗号在反引号表达式中,逗号后面的表达式将被解析
复制代码
示例2.
x = 1
y = '(a b c)
'(,x ,y z) => (1 (a b c) z);逗号后的表达式都被解析了
'(,x ,@y z) => (1 a b c z) ;",@"的作用和逗号一样,只是被解析对象是列表,且解析出来的元素代替了原来的列表
复制代码
续行符"\"
直接赋值的字符串长度不能超过8191,但是在程序运行过程中的字符串长度没有限制。
使用"\"可以让在一行的文字多行表示, 如
string = "This is \
a test." => "This is a test."
复制代码
有时在比较长的语句里,使用"\"可让编者更易看清行结构与读懂代码。 |
|