close

筆譯價錢

car拜候list的第一個元素

 

Function

Number: 2

[.precision] = number of characters to be printed

Meaning

n - numeric

 

lly = cadar( bBox)

"hello""hello""hello"

nth用索引訪問list的某個元素,注意索引從0入手下手

"hello"

              􀂾Merge two lists with the append function.

3). 節制語句:if(…then…else….)whenunlesscasecond,迴圈語句forforecah等,控制語句和C語言近似,都是先判定某個變數或運算式是不是為真,然後履行下面的操作,需要注意的是

nequal

("Number:" 2)

B - Bounding box list (Ignores width and precision.)

 

>

d - decimal(integer)

輸出到檔/tmp/myFile2.

在版圖設計中,關於座標的list是最長見的,它是一組2維的list,常見的表示方式有:

Arguments

Cadence skill語言簡介

 

nth( 1 numbers ) => 2

)

A). 建立list有以下幾種根基的方式:

Skill說話的很多地方和C說話差不多,如變數,函數,節制構造,輸入輸出等,詳細的介紹可以參考User Guide,這裏只作簡單介紹。

nil

lowerLeft = 300:400

close( myPort )

for( i 1 3

3.3. Skill ListSkill基於Lisp(List Processing)說話的體現,它是skill資料物件的一個有序荟萃,skill資料甚至程式自己都可以看做是一個list,這是C說話中所沒有的概念。下面是skill list的簡單例子

numeric

[width] = minimum number of character positions

打開~/.cshrc,輸出檔的每一行

length較量爭論list所包含元素的個數

Skill程式就像一個list表,類似Lisp語言,程式的操作就像運算元據(list)一樣,可以生成,修改,求值等

1. Skill說話和Lisp語言的關係

返回的後果是最後一個計較的運算式,因此與/或邏輯操作可以取代繁瑣的if / when等控制語句,例如:C語言中的操作符, a>b ? c=a : c=b; ca b中較大的一個Skill中沒有雷同的操作符,可以用下面語句來完成此操作:

 

car( cdr( car( cdr( ...]

member( 4 numbers ) => nil

<=

( strcat "Hello" "," " everyone" "!" ) ;Lisp說話的花樣

string list

暗示的list嚴格按字面意思

println( list( "Number:" i) myPort )

cond(

member搜檢指定的元素是不是在指定的list中,它只搜檢頂層元素的元素,返回值是從搜到值最先到結尾的list

)

if( (n == 1 || n == 2) then

 

SKILL說話支援一套近似C語言的語法,初學者有了一定的C說話根本,入門是很輕易的。Cadence的工具可以通過CIWBindkeyFormMenu等多種體例挪用skill函數,送到skill說話的解釋器來履行各類操作。

Return Value

conversion_code 

Using car and cdr with Bounding Boxes

L - list (Ignores width and precision fields.)

yValue = 400

Sample Logical Operators

("Number:" 1)

Function

=>*Error* strcat: argument #2 should be either a string

 

Skill語言有n多函數,加上眾多東西的介面函數,可以用不計其數來形容,初學者可能會感應蒙頭轉向,無從下手。其實只要瞭解基本的變數,節制語句,輸入輸出和一些經常使用工具的基本函數就能夠了,大大都函數都可以用到再查閱翻譯入手下手學習skill時可以細心看看SKILL Language User Guide其他的可以用到時再查閱,這裏列出幾個常常會用到的文檔:SKILL Language Reference Skill說話相關的函數,Cadence User Interface SKILL Functions ReferenceCadence應用程式圖形介面介面函數,Design Framework II SKILL Functions ReferenceSKILL Custom Layout ReferenceSKILL Schematic Composer Reference別離是CadenceDesign Framework II,邦畿,電路的介面函數。

car

              􀂾要害字(其實也是skill的函數)和左括弧之間不克不及有空格,

bBox = '(( 300 400 ) ( 500 450 ))

xCoord( aCoordinate ) => 300

for( i 1 3 print( "hello" )) ;Prints hello three times.

B). 會見listlist中某些元素的方式:

( t ++miscCount )

!=

forforeach是迴圈節制語句,forC語言中的根基一樣,foreach經常用於對list的每一個元素作迴圈操作,每一個迴圈順次把各個元素的值賦給一個變數,以下面的例子,你會注意到foreach的返回值是迴圈的list

Operator

urx = caadr( bBox)

C). 關於xy座標或bBox邊界list的拜候

nil && t

x-coord of lower left corner

strcat "Hello" "," " everyone" "!" ;上面的括弧可以省略

)

inPort = infile( "~/.cshrc" )

3.1. Skill的變數不需要事前聲明,Skill第一次用到是會主動生成變數翻譯變數可以由字元、數位、“_”  “?” 構成,注意第一個字元不克不及是數位和”?”。由於Cadence所開辟的Skill中的變數、函數都是第一個字母小寫,以_為開首的是Cadence的專用函數,為了避免衝突,建議人人函數和變數定名都以大寫字母開首

3.2. Skill的函數的調用體例有三種,

運行cdsdoc&, 點擊Search打開Cadence help的搜刮功能,對象會自動啟動一個http服務,同時打開搜刮網頁,啟動辦事後,你也能夠在windowsIE裏輸入http://hostname:9000/search.htm,一樣可以打開搜索頁面,需要注意的是,在C:\WINNT\system32\drivers\etc\hosts檔中需要插手hostname對應的ip,如:

3). 從檔讀取資料:intfile定義輸入介面檔,gets一次從介面檔讀取一行字串,fscanf按照指定的格式從介面檔讀取,close封閉打開的介面

a. 軟體沒回應,比如在CIW中輸入段代碼,軟體沒有反應,什麼結果也沒有,通常爲因為( )” “不成對釀成的,一般可以通過鍵入 來解決,它透露表現增補完舛訛稱的括弧(可以取代隨便多個右括弧),假如還沒有回應,鍵入 “] 這時候大部分情形下,系統會有回應

Sample Relational Operators

(defun fibonacci (n)

3 < 5

t

3 < 2

( "line" ++lineCount )

car( numbers ) => 1

result = '( 2 3 ) => ( 2 3 )

numeric

<

((or (equal n 1) (equal n 2)) 1)

(1 2 3) A list containing the integer constants 1, 2, and 3

              􀂾if…then…elsethen是不能省略的(除只有一個if,沒有else的情況)

car( ... )

else

)

car( cdr( ... ) )

t || nil

list號令和 來表示一個bBoxlist饬令先計算變數或運算式,然後賦給list表示的list和字面的一樣,不管帳算變數或者運算式的值

and

 

a = 1 => 1

Skill函數供應兩種默示法,一種是代數示意法,現在大多數說話採取這類體式格局,即 func( arg1 arg2 ...),另一種是首碼透露表現法,近似於Lisp說話,即(func arg1 arg2 ...)翻譯這裏舉個例子作為對比:

5 > 3

t

=> ( "rect" "polygon" "rect" "line" )

"hello"

shapeTypeList = '( "rect" "polygon" "rect" "line" )

ury = cadadr( bBox)

)

 

如: strcat ( "Hello" "," " everyone" "!" )

println( nextLine )

)

 

固然還有其他眾多工具的介面函數,因此Skill需要方便的函數查閱方式,這裏列出3種:

Expression

car( car( ... ) )

or

( condition3 exp31 exp32 ... )

aCoordinate = xValue:yValue => ( 300 400 )

car( car( cdr( ... ) ) )

&&

...

abc != "ABc"

[-] = left justify

) ;case

for( i 1 3 println( "hello" )) ;Prints hello three times.

numbers = '( 1 2 3 ) => ( 1 2 3 )

( t expN1 expN2 ... )

nil

打開~/.cshrc,輸出檔中的每個字串

when( inPort

Number: 3

upper right corner

b = 2 => 2

輸出到檔 /tmp/myFile1.

t

t

Example

when( inPort

 

經由過程carcdr的組合可以會見bBox每個元素,而且有相幹的簡化函數,以下表:

)

/或邏輯操作只有在需要計算第二個運算式時,才較量爭論第二個表運算式,好比&&操作,當第一個表達時為假時,就不會再計算第二個運算式,|| 操作,當第一個表達時為假時,才會再計算第二個運算式。

greaterp

( "rect" ++rectCount )

car( cdr( car( ... ) ) )

result = cons( 1 result ) => ( 1 2 3 )

(cond

3 <= 4

t

Example

(t (plus (fibonacci (difference n 1))

也能夠用邏輯操作符: c = (a>b)&&a || (a<b)&&b

numeric

這裏可以看到近似Lisp說話的表示法後面有很多右括弧,而且函數和參數輕易混合,所以一般推薦還是用經常使用的類C說話代數示意法

yCoord( aCoordinate ) => 400

cdr訪問list除第一個元素外的其他元素,注意返回依然是個list

推薦利用第一種體式格局,需要注意的是函數和第一個括弧之間沒有空格,不然會報錯

lessp

 

127.0.0.1 localhost

10.0.10.2 host1

length( numbers ) => 3

member( 2 numbers ) => ( 2 3 )

 

numeric

3 || 5

3

5 || 3

5

myPort = outfile( "/tmp/myFile2" )

layerName purpose rectCount labelCount lineCount miscCount

個中CIW(Command Interpreter Window),即啟動Icfb的第一個視窗,包含一些常用的menu,一個輸入行,和一個輸出區域,這裏是經常使用的debug skill程式的處所,固然cadence也提供了Tools->Skill Development,有樂趣的話可以深切研究一下

strcat( "Hello" "翻譯社" " everyone" "!" ) ;常見的類C格式

else if condition2 then exp21 exp22 ...

fprintf( myPort "Number: %d " i ) ;注意printf函數不克不及輸出到port

Cadence供給二次開辟的SKILL語言,它是一種基於通用人工聰明說話—Lisp的互動式高級編程語言(LISP
本文來自: http://seanhung365.pixnet.net/blog/post/27034702-cadence-skill%E8%AA%9E%E8%A8%80%E7%B0%A1%E4%BB%8B有關各國語文翻譯公證的問題歡迎諮詢華頓翻譯公司02-77260932

arrow
arrow
    文章標籤
    翻譯社
    全站熱搜
    創作者介紹
    創作者 christrdnrb 的頭像
    christrdnrb

    christrdnrb@outlook.com

    christrdnrb 發表在 痞客邦 留言(0) 人氣()