找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 355|回复: 0

[LISP程序]:lsp文件转换为HTM(按照语法着色)

[复制链接]

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-5-28 20:18:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
为了发帖更好看,这是我啃了一个星期的HTM语法,用lisp语言写的一个小程序。
其功能是将lsp文件转换成htm语言格式显示,转换后保持了vlisp编辑器默认的语法着色。
<br>
转换后的效果如下所示:

  1. <center><h1>批量定义命令示例.LSP</h1></center>

  2. <hr><pre><font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;      eval函数示例------定义以表中元素为名称的命令</span></font>
  3. <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;日期:zml84 于 2007-05-24</span></font>
  4. <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;============================================================</span></font>
  5. <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;功能:定义系列命令,用于标注管径</span></font>
  6. <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">defun</font> <font face="Fixedsys">C:TT</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">/</font> <font face="Fixedsys">LST</font> <font face="Fixedsys">I</font> <font face="Fixedsys">A</font> <font face="Fixedsys">B</font><font color="#ff0000" face="Fixedsys">)</font>
  7.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setvar</font> <font color="#ff00ff" face="Fixedsys">"CMDECHO"</font> <font color="#009900" face="Fixedsys">0</font><font color="#ff0000" face="Fixedsys">)</font>
  8.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">LST</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#ff0000" face="Fixedsys">(</font><font color="#009900" face="Fixedsys">15</font> <font color="#009900" face="Fixedsys">20</font> <font color="#009900" face="Fixedsys">25</font> <font color="#009900" face="Fixedsys">32</font> <font color="#009900" face="Fixedsys">40</font> <font color="#009900" face="Fixedsys">50</font> <font color="#009900" face="Fixedsys">70</font> <font color="#009900" face="Fixedsys">80</font> <font color="#009900" face="Fixedsys">100</font> <font color="#009900" face="Fixedsys">125</font> <font color="#009900" face="Fixedsys">150</font> <font color="#009900" face="Fixedsys">200</font> <font color="#009900" face="Fixedsys">250</font> <font color="#009900" face="Fixedsys">300</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  9.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">princ</font> <font color="#ff00ff" face="Fixedsys">"\n定义命令"</font><font color="#ff0000" face="Fixedsys">)</font>
  10.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">foreach</font> <font face="Fixedsys">I</font> <font face="Fixedsys">LST</font>
  11.         <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">setq</font> <font face="Fixedsys">A</font>        <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">itoa</font> <font face="Fixedsys">I</font><font color="#ff0000" face="Fixedsys">)</font>
  12.               <font face="Fixedsys">B</font>        <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font>
  13.                     <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">defun</font>
  14.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">read</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">strcat</font> <font color="#ff00ff" face="Fixedsys">"C:"</font> <font face="Fixedsys">A</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  15.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">/</font><font color="#ff0000" face="Fixedsys">)</font>
  16.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">if</font>
  17.                           <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">setq</font> <font color="#0000ff" face="Fixedsys">'</font><font face="Fixedsys">PT</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">getpoint</font> <font color="#ff00ff" face="Fixedsys">"\n插入点:"</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  18.                           <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">command</font> <font color="#ff00ff" face="Fixedsys">"_.text"</font> <font color="#0000ff" face="Fixedsys">'</font><font face="Fixedsys">PT</font> <font color="#009900" face="Fixedsys">20</font> <font color="#009900" face="Fixedsys">0</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">strcat</font> <font color="#ff00ff" face="Fixedsys">"DN"</font> <font face="Fixedsys">A</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  19.                     <font color="#ff0000" face="Fixedsys">)</font>
  20.                     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">list</font> <font color="#0000ff" face="Fixedsys">'</font><font color="#0000ff" face="Fixedsys">princ</font><font color="#ff0000" face="Fixedsys">)</font>
  21.                 <font color="#ff0000" face="Fixedsys">)</font>
  22.         <font color="#ff0000" face="Fixedsys">)</font>
  23.         <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">eval</font> <font face="Fixedsys">B</font><font color="#ff0000" face="Fixedsys">)</font>
  24.         <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">princ</font> <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">strcat</font> <font color="#ff00ff" face="Fixedsys">"  "</font> <font face="Fixedsys">A</font><font color="#ff0000" face="Fixedsys">)</font><font color="#ff0000" face="Fixedsys">)</font>
  25.     <font color="#ff0000" face="Fixedsys">)</font> <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;_结束 foreach</span></font>
  26.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">princ</font> <font color="#ff00ff" face="Fixedsys">"  完成!"</font><font color="#ff0000" face="Fixedsys">)</font>
  27.     <font color="#ff0000" face="Fixedsys">(</font><font color="#0000ff" face="Fixedsys">princ</font><font color="#ff0000" face="Fixedsys">)</font>
  28. <font color="#ff0000" face="Fixedsys">)</font> <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;_结束 defun</span></font>
  29. <font color="#990099" face="Fixedsys"><span style="background-color: rgb(204, 204, 204);">;;;============================================================</span></font>
  30. <font color="#990099" face="Fixedsys" size="2"><span style="background-color: rgb(204, 204, 204);">;|;;后话:看eval的功能说明是:返回一个AutoLISP表达式的求值结果。</span></font>
  31. <font color="#990099" face="Fixedsys" size="2"><span style="background-color: rgb(204, 204, 204);">        但每个表达式均返回结果,从这方面去想,这个函数似乎无多大用处;</span></font>
  32. <font color="#990099" face="Fixedsys" size="2"><span style="background-color: rgb(204, 204, 204);">        而事实上,通过灵活的组织其参数就可以达到意想不到的完美效果。</span></font>
  33. <font color="#990099" face="Fixedsys" size="2"><span style="background-color: rgb(204, 204, 204);">        上面的代码就是一个经典的应用。</span></font>
  34. <font color="#990099" face="Fixedsys" size="2"><span style="background-color: rgb(204, 204, 204);">;;|;</span></font>
  35. </pre>

更多效果见:http://zml84.blog.sohu.com/entry/3933137/
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 10:26 , Processed in 0.263110 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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