EDA365电子工程师网

标题: 《 Cadence skill 跟着学 》 常用符号 [打印本页]

作者: pallayout    时间: 2014-7-6 08:30
标题: 《 Cadence skill 跟着学 》 常用符号
本帖最后由 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."
复制代码
    有时在比较长的语句里,使用"\"可让编者更易看清行结构与读懂代码。
作者: shirdon    时间: 2014-7-7 16:07
很棒
作者: mmmmmmm2    时间: 2014-7-28 16:49
->  这个符号什么意思
作者: kkman2000    时间: 2015-8-21 16:18
支持支持支持  非常感謝
作者: hyper311    时间: 2017-7-9 18:01
基本运算好像不支持+=这样的复合运算
作者: hyper311    时间: 2017-7-9 18:03
一个数的N次幂,没找到是那个函数,现在用的是while循环来写的
求楼主指导






欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2