LISP技巧与范例.pdf

LISP技巧与范例.pdf
仅供个人学习
反馈
标准编号:
文件类型:.pdf
资源大小:17.8 M
标准类别:综合标准
资源ID:74670
免费资源

标准规范下载简介

LISP技巧与范例.pdf简介:

LISP技巧与范例.pdf部分内容预览:

VLISP编辑器对于它可以识别的程序类型(例如:AutoLISP、DCL等),会对源代码自 动分色。例如对于AutoLISP源程序:正确的函数名呈蓝色、字符串呈粉色、注释呈灰底色 等。如果一个标准函数拼写有错误,将不会变成蓝色,语法分色能帮助程序员有效地识别程 序源代码中的语法错误。在VLISP中还包含有多种功能帮助确认变量名和函数名的匹配功

VisualLISP程序设计一技巧与范例

默认的语法分色颜色设置

VLISP文本编辑器可以识别并进行语法分色的程序类型是:AutoLISP、DCL、SQL VLISP是根据文件的扩展名来确定文件类型,并使用相应的分色规则的.

皖2001J202 坡屋面.pdfVisualLISP文本编轮器

对于.上述4种类型之外的文件,对于VLISP不熟悉的文件类型,也可以为其指定一种 式。先建立或者打开这样的文件,再通过VLISP菜单中的【工具(T)】I【窗口属性(W 语法着色(S)...】命令,在弹出的“颜色样式”对话框中指定要使用的分色样式, 9所示,

VisualLISP程序设计一 一技巧与范位

用VisualLISP文本缩轻器

VisualLISP程序设计一一技巧与范例

VLISP代码格式化包括程序段的自动缩入等功能,可以在VLISP文本编辑窗LI输入代 码的过程中自动进行。也可以确定某种格式,重新进行VLISP编辑窗口中部分或者全部的 程序行的格式化。 程序是写给自己(程序设计者和维护者)看的,格式的好坏虽然不会影响程序的功能和 执行效率,却明显地影响程序的可读性和未来的可维护性。因此必须用自已喜欢的、能够最 为清晰表达程序结构的格式米书写源程序,并加入足够明确的注释。 就像我们在专业设计中早已成为规范的某些习惯那样,为了这个设计方案未来的更新和 修改,留下相当完整的设计资料。程序设计也同样是这样。就是自已写的程序,如果在几个 月或者儿年之后,重新读这个程序,也会比较陌生,乱糟糟的格式更会使程序读起来如同“天 书”而无从下手。

VisualLISP文本编轻器

2.6.1VisualLISP程序格式样式

按「许细选项(M)>按钮,打开带有附加选项的扩展窗、如图2.16所示

VisualLISP程序设计一一技巧与范例

2.7.1检查括号匹配 AutoLISP的主要语法分界符是圆括号,表达式和数据表都是使用括号包起来的。许多程 序设计者都为括号匹配的检查头疼,AutoLISP最常出现的语法错误也是左右括号不配对, VLISP的一些工具帮助匹配括号,例如VLISP可以查到不匹配的括号,将在它认为应当有括 号的地方加入括号。

VisualLISP文本编轴器

VisualLISP程序设计技巧与范例

VLISP每次检查只能发现一处错误,应当在纠正了错误之后,再次进行检查,直到正确 为正。

程序设计的最后步骤是调试。对于较长的程序,当运行得到错误的结果或崩溃时,常 维确定错误的发生地,VisualLISP提供了很多功能辅助程序调试。

3.1Visual LISP的调试器功

在程序设计中,调试是最困难的,VLISP提供了调试器,具体功能如下: (1)断点循环 在所指点处停止程序的执行。在中断处允许查看和改变AutoLISP变量、符号、函数和 表达式的值。 (之)检验器 在检验器对话窗口中显示一个对象的详细信息,如果检验出的对象中有嵌套对象,检验 器还可以检验全部的嵌套对象,每个都可以在窗口中列出自已的信息,可以以递归方式检验 嵌套的对象,直到最后显示的对象是一个数或符号。 (3)监视窗口 用于在程序执行过程中跟踪观察变量值,监视窗口中的内穿是自动更新的,即:在监视 窗!!中放置的变量其值被修改,这个值白动反映在监视窗口中。 (4)堆栈跟踪和错误跟踪 可以在调试中观察堆栈,或在程序崩溃后进行观察,调用跟踪将显示应用程序失败时 VLISP正在做仆F么。 (5)跟踪 将日志和跟踪功能的返回值转到指定的跟踪窗口中

3)有一套以上供调试使用的数据。包括标准的输入值以及对应的正确结果。 实际上,这些是程序设计的必要资料。每一次程序设计和调试都应当具有上述资料,否 则在调试过程中很难分析出错的原因。而真正理解个错误的发生原因并且能够解决的标志 是:自如地制造这个错误。

3.2.2试验跟踪和分步调试过程

2)按下【加载选定代码】按钮,将立即执行这一系列表达式。切换到AutoCAD下升 响应程序提示如下: 基点: 精度(全线十直线片段数):200 周期数:2

2)按下【加载选定代码】按钮票 向应程序提示如下: 基点: 精度(全线土直线片段数):200 周期数:2

可见,问题出在(+xbx)表达式中。查找程序设计资料,不应当有bx这个变量出现在 星序中。是输入错误,应当是dx,改正之。 6)在AutoCAD中用【Esc】退回到【命令:】提示,再次加载运行改正后的程序,结果 3.2.3试验动态跟踪调试 动态跟踪观察程序运行中的每步执行过程。在动态模式下,正在执行的表达式会自动醒 示,观察窗口中的变量数值也将自动更新。 1)在本书所附光盘中打开T3b.LSP程序。 2)从菜单中选择【调试(D》】I【自动执行(E)】命令,打开动态跟踪模式。 3)将变量I放到“监视”窗口中。

Visual LISP程序设计 一技巧与范例

在程序分步执行中动器题

注意: 在动态调试条件下,系统可能会在AutoCAD和VLISP的窗口之间反复切换。目前的实 际情况是,如果两个窗口都处在最大化状态,或者AutoCAD处于最大化状态,当系统切换 到VLISP窗口后,可能出现显示错误,使调试很难继续。解决的方法是将各个窗口缩小,使 它们完全没有相互叠加的部分,就可以出现正常的显示效果

.3使用VisualLISP调试功能

VisualLIsP程序设计技巧与范例

可以为白定义函数设置“进入时调试”的标。这样,在每次调川该函数时:程序就会 括停,并且将这个函数自动选定,接着就能对这个函数进行其他的调试操作。如果这个函数 不是在当前程序中定义的,VLISP将会按照程序描述,找到相关程序,白动打开,选定相 的程序行....可以在“符号服务”对话框中切换设置或清除“进入时调试”的标志。操作过 程如下:

3.3.2VLISP中程序中断的基本概念

近入时调试状态下的运行

VisualLISP程序设计 技巧与范例

3.3.3关于可继续中断循环

3.4关于进入可继续中断循环后的调试方

图中自左向右分别是:

VisualLISP程序设计技巧与范例

以保存它的定义而并引是将女删除,方法如下

·对念有断点的程序段进行了程序格式化操作

VISP能在程序调试的任何价段,限制地访问符号、变量数值和函数,这是一系列数 据检验工具所提供的功能。VLISP的数据检验丁具都是以“非模态对话窗口”方式出现的, 这样的窗口可以根据需要·直停留在屏幕上。这些窗口是: ·监视窗山:显示所设置变量的当前值

跟踪堆栈窗:显示伞部当前调H的层次,堆栈层次,凋用的代码和内部变星 符号服务对话框:显示所指定符衍号的数值,可以在此处改变符号的数值和标记。 检验窗口:显示出LISP对象及H相关的详细信息, 边框绑定窗口:显示全部堆栈结构中的内部变壁值。 VLISP:提供日志功能,当激活时可以将上述窗口的内容复制到日志文件中

3.4.1打开和关闭日志文件

芯又件是一我展名为1og的文本文作,可以将控制台窗或者跟踪窗口的调试信 息存放起来,供进一步的分析之用。例如,将控制台窗口的信息放到指定的!I志文件TestLOG 中: 1)调试程序,产生了·个需要记录的结果。 2)激活“控制台”窗口。 3)从VLISP菜单中选择【文件(F)】「【切换挖制台日志(G).…】命令,确定JI志义 件名,打开日志文件,开始跟随记求在“控制台”窗口出现的阖试信息,如图3.19所示

如果这时“控制台”窗口没有被激活,【切换控制台日志】操作将无效。 另外,【切换控制台日志】应当理解为“日志文件开关”,第一次按下这个按钮是打开 这个文件,将跟随记录调试信息。而再次按下这个按钮是关闭这个文件,停止记录。 4)选中文件后,按【保存(S)】,如果文件已存在,将发出提示。如果回答【是(Y)】 VLISP将新的信息添加到所指文件的后面;如果回答【否(N)】,VLISP将覆盖已有的文件: 【取消】将取消此操作。 5)再次选择【切换控制台日志(G)..】将关闭日志文件,停止月志文件的记求添加。 当月志文件打开时,调试信息将被写入到日志文件中。如果日志文件正在被使用,文件 名将显示在相关窗口的标题中,否则没有日志文件名显示。如果在退出VLISP前没有关闭日 志文件,VLISP将自动关闭。 3.4.2使用监视窗口 监视窗口用来跟踪显示程序在执行过程中变量值的变化,在窗口的每行显示个变量 名和它的当前值。其内容会随着程序的执行而自动更新。监视窗口还显示每个表达式执行的

VisualLISP程序设计一技巧与范例

3.4.3使用跟踪堆栈窗口

VisualLIsP程序设计 技巧与范例

调用点源代码(A):显示调用该函数位置处的表达式DB51∕5027-2019 四川省居住建筑节能设计标准,和源位皆类似

VisualLISP程序设计一 技巧与范例

5ForEach边程绑定数

GB∕T 31070.3-2021标准下载Visual LISP程序设计 一技巧写范例

自左向石依次是: 监视:将符号添加到观察窗口中。 检验:打开检验器查看符号值。 显示定义:如果是用户定义函数,将打开相关程序,在编辑窗口醒目显示其定义。 帮助:显示相关帮助信息(如果有的话)。 3)符号标志的作用 各标志详细内容如下(后面的括号中是在检验窗口中,标志位码): 跟踪(Tr):当符号是用户定义的函数时,才有必要设置跟踪标志。当程序弓1用这个 个函数运行结束时,将在“跟踪”窗口显示相关信息,例如将T3e.LSP程序修改正

3.4.5使用检验窗口

©版权声明
相关文章