SKILL Language User Guide
Total Page:16
File Type:pdf, Size:1020Kb
SKILL Language User Guide Product Version 06.70 January 2007 1990-2007 Cadence Design Systems, Inc. All rights reserved. Printed in the United States of America. Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522. All other trademarks are the property of their respective holders. Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this publication may violate copyright, trademark, and other laws. Except as specified in this permission statement, this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence. This statement grants you permission to print one (1) hard copy of this publication subject to the following conditions: 1. The publication may be used solely for personal, informational, and noncommercial purposes; 2. The publication may not be modified in any way; 3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement; and 4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be discontinued immediately upon written notice from Cadence. Disclaimer: Information in this publication is subject to change without notice and does not represent a commitment on the part of Cadence. The information contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s customer in accordance with, a written agreement between Cadence and its customer. Except as may be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor. SKILL Language User Guide Contents Preface . 19 About the SKILL Language . 20 Quick Look at All the Chapters . 21 What’s New . 23 SKILL Development Helpful Hints . 23 SKILL API Documentation . 24 Document Conventions . 24 Syntax Conventions . 24 Data Types . 25 1 Getting Started . 27 SKILL’s Relationship to Lisp . 28 Programming Notation . 28 Data Manipulation . 28 Characters . 29 Cadence SKILL Language at a Glance . 29 Terms and Definitions . 30 Invoking a SKILL Function . 31 Return Value of a Function . 32 Simplest SKILL Data . 32 Calling a Function . 32 Operators Are SKILL Functions . 33 Using Variables . 33 Alternative Ways to Invoke a Function . 34 Solving Some Common Problems . 34 SKILL Lists . 35 Building Lists . 36 Accessing Lists . 38 Modifying Lists . 39 File Input/Output . 40 January 2007 3 Product Version 06.70 SKILL Language User Guide Displaying Data . 41 Writing Data to a File . 42 Reading Data from a File . 43 Flow of Control . 45 Relational Operators . 45 Logical Operators . 46 The if Function . 47 The when and unless Functions . 48 The case Function . 48 The for Function . 49 The foreach Function . 50 Developing a SKILL Function . 51 Grouping SKILL Statements . 51 Declaring a SKILL Function . 52 Defining Function Parameters . 52 Selecting Prefixes for Your Functions . 52 Maintaining SKILL Source Code . 53 Loading Your SKILL Source Code . 53 Redefining a SKILL Function . 54 2 Language Characteristics . 57 Naming Conventions . 58 Names of Functions . 58 Cadence-Private Functions . 59 Names of Variables . 59 Function Calls . .61 SKILL Syntax . 61 Special Characters . 61 Comments . 63 White Space . 63 White Space Characters . 64 Parentheses . 64 Super Right Bracket . ..