摘录自电子布局网

Cadence® SKILL语言是一个基于流行的人工智能Lisp语言的高级交互式编程语言。此外,skill语言亦支持更传统的类似C语言语法,这种支持允许一个新手用户能够快速学会使用系统,而专业程序员可以访问和Lisp编程语言一样的强大功能。简单地说,Skill像计算器一样易于使用;进一步来讲,一款功能强大的编程语言,它的应用几乎是无限的。

SKILL通过命令行功能接口连接到底层的子系统。

SKILL让您快速,轻松地自定义现有的CAD应用程序 ,并帮助您开发新应用程序。

SKILL通过应用程序的功能来访问每个Cadence的工具编程接口。

Skill的功能,适用于所有Cadence工具,无论是在图形或非图形环境下。

1    程序标识

在SKILL中,函数调用是可以写成下列符号的。

  • 代数标识【大部分语言方式】,也就是 func(ARG1 ARG2… )。
  • 前缀标识【Lisp编程语言方式】,也就是(func ARG1 ARG2…)前缀符号。

参考程序

  • 代数标识方式:
procedure( fibonacci(n)
            if( (n  == 1 || n == 2) then
                1
            else fibonacci(n-1) + fibonacci(n-2)
                )
        )
  • 前缀Lisp标识:
(defun fibonacci (n)
    (cond
        ((or (equal n 1) (equal n 2)) 1)
        (t (plus (fibonacci (difference n 1))
            (fibonacci (difference n 2))))
    )
)

2     数据操作    

由于Skill程序和Lisp程序一样,是以lists(这里翻译为列表)形式表示,故它们可以像数据一样操作。您可以动态地创建,修改,或选择性地赋值函数定义和表达式。这种数据操作能力是选择Lisp成为人工智能应用语言主要原因之一。因为它充分利用了Lisp语言的“程序就是数据”的概念,所以SKILL可以用来编写灵活且强大的应用程序。

许多SKILL List(列表)操作函数都是可用的。这些功能操作,在大多数情况下,类似Lisp中的同名函数,尤其是弗兰兹的Lisp语支。

SKILL 提供一个特殊符号来创建模板列表。这个符号借鉴于Common List,并允许within a quoted form(在一个 引用表单里)选择性地赋值。选择性赋值消除长序列对 list 和 append 的调用。具体见第二章 Backquote(`)—-主键盘数字键那一行最左边一个或ESC下方那个带波浪线的键,直接按就是, Comma(,)—逗号, and Comma-At(@)。

不像许多其他的编程语言,包括Common Lisp,Skill没有独立的字符数据类型。字符通过单个字符符号来替代。例如,字符“A”,也是符号“A”。不可打印的字符可以使用转义序列表示。

最后修改日期: 2020-04-08

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。

Captcha Code