找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 75|回复: 2
打印 上一主题 下一主题

【Skill自学堂】第二课:SKILL语言特征。

  [复制链接]

13

主题

44

帖子

1057

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1057
跳转到指定楼层
1#
发表于 2018-3-28 09:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 whh5118 于 2018-3-29 10:00 编辑



2

SKILL 语言特征
1. SKILL 文法
本章节介绍 SKILL 使用之特殊字符符号、批注之应用。



1.1 特殊字符
下表列出一些特殊字符及其意义:

  
字符
  
意义
\
供特殊符号跳脱原来用意之用
()
群组串列
【】
阵列之索引,超级右括号(super right bracket)
{}
群组一堆叙述
在引用一个叙述时,防止其被执行计算
字串分隔字符
串列元素间的分隔字符(可有可无)
批注一行时的分隔字符
位欄位界限字符
·
getq 之运算符
+-*/
进行算数运算



  
! ^ &︱
  
进行逻辑运算
<>=
关系运算符
#
如果置于行首时,表示指引解释器进行特定的解译动作
@
如果是第一个字符,代表保留字的意思
?
如果是第一个字符,代表是关键词參数
引用一个表示式,而不去计算其值

1.2 批注
SKILL 提供了兩种的批注写法。一种是区块导向的写法,如下例:
/* This is a block of comments */
另一种是整行的批注方式:

x =1                  ; comment following a statemnet
; comment line 1
; comment line 2

在分号之后一直到行尾的部分都是批注。



1.3 其他
在使用 SKILL 语言时,有一些关于文法规则的细节是较特别的,在本节中 特别将其归纳如下:
(1) 呼叫函数时,函数名称与左括号之间不得有空白。 所以 f(x)是合法的呼 叫;f(x)是不合法的呼叫。
(2) 使用单元运算符如正、负号时,正负号与变数之间也不得有空白。所以 –a 是合法的,而 – a 是不合法的。相反的,使加、减号的二元运算符时, 运算符的兩侧必须同时有空白,或同时没有。所以 a-b a – b 是合法 的;但  a    –b 是不合法的。
(3) 不要用括号来包含一个变数或常数,例如 (1), (x),或用两个小括号去 括一个表示式((a+b))。因为 SKILL 会将其内容视为函数的名称。
(4)  在 SKILL 的叙述中可以用倒斜线来接一行的内容,举例如下
str = ” This is a\ continuous line.”
D     “This is a continuous line.”
(5)  在 SKILL 程序中可以用倒引号来建立串列,而在建立串列时可以用“,"



或是“,@"的建构子句来參数化串列中的元素。举例如下:
b= 1
y= ‘(e f)
‘(a b c)            D(a b c)
‘(a ,b c)            D(a l c)
‘(a ,y c)            D(a(e f)c) ‘(a ,@y c)     D(a e f c)




2.1 资料特性
SKILL 支持的资料型态如下表所列:
  
资料型态
  
内部名称
单一助忆字符
arry
arry
a
CADENCE database object
dbobject
d
floating-point number
flonum
f
any data type
general
g
linked list
list
l
integer or floating point number

n
user-defined type

o
I/O port
port
p
defstruct

r
symbol
symbol
s
symbol or character string

S
character string(text)
string
t
function object

u
window type

w
integer number
fixnum
x
binary function
binary
y



SKILL 中提供整数的二进制/八进制/十进制/十六进位的表示:
  
基底
  
前置符号
范例[十进制值]
Binary
0b or 0B
0b0011[3]
  
0b0010[2]
Octal
O
077[63]
  
011[9]
hexadecimal
0x or 0X
0x3f[63]
  
0xff[255]
SKILL 提供一组比例因子(scaling factor)来表示数值,在比例因子与数值之间 不可以有空白。
  
字符符号
  
名称
倍数
范例
T
Tera
1012
10T[1.0e13]
G
Giga
109
10G[10e9]
M
Mega
106
10M[10e6]
K
Kilo
103
10K[10000]
%
Percent
10-2
5%[0.05]
m
Milli
10-3
5m[5.0e-3]
u
micro
10-6
1.5u[1.5e-6]
SKILL 表示控制字符是用倒斜线加上该字符的 ASCII 码而成,而有些常用的控 制字符则有特定的字符来代表。详列如下:
  
字符
  
跳脱序列escape sequence
New-line
\n
Horizontal tab
\t
Vertical tab
\v
Backspace
\b
Carriage return
\r
Form feed
\f
Backslash
\\
Double quote
\”
ASCII code ddd(octal)
\ddd







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1威望 +2 收起 理由
ginooolu + 2

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持!1 反对!反对!

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
3#
发表于 2018-3-28 10:03 | 只看该作者
很详细,支持一下

5

主题

184

帖子

559

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
559
2#
发表于 2018-3-28 09:38 | 只看该作者
感謝分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-26 18:50 , Processed in 0.078218 second(s), 36 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表