ccl命令行运行lisp脚本
2011-03-30 22:35
1346 查看
作者:winterTTr (转载请注明)
最近在学习lisp,lisp作为传说中最古老的语言之一,FP的经典语言之一,对我这种喜欢瞎研究的人来说,是很有吸引力滴。
不过,我要说的是,lisp可不像python这么方便快捷,不同dialect之间差别还是挺大的,就执行一个lisp脚本,似乎都不是那么简单的事情。对于被python惯坏了了的我来说,刚刚学习lisp最大的问题在于,没有很方便脚本执行方式。换句话说,就是像python那样,可以直接把脚本本身当作命令直接在console里运行。
在search了一大圈google之后,发现的确也没有什么现成的方法。
#当然,也或许是我不知道或者没找到。
似乎sbcl可以提供exe+文件名的方式运行,但是我使用的(clozure cl)似乎没有这种办法,至少没有很直接的办法。
于是,只能采用曲线报国的方式了,自己写了一个简单的脚本,用来启动lisp文件。
ccl.cmd
这个bat会自动compile所要执行的lisp文件为fsl,然后再调用ccl去load编译好的fsl文件。
我加入了timestamp的自动检测,感觉上有点像,python中编译pyc然后执行的过程,看来python中毒很深呀,呵呵
然后右键选择lisp文件,将打开方式指向ccl.cmd。
以后就可以双击,或者命令行直接运行lisp文件了。
完成~
修改了一下,到了公司才意识到,我公司的机器是64位的,加上了64位的判断。
最近在学习lisp,lisp作为传说中最古老的语言之一,FP的经典语言之一,对我这种喜欢瞎研究的人来说,是很有吸引力滴。
不过,我要说的是,lisp可不像python这么方便快捷,不同dialect之间差别还是挺大的,就执行一个lisp脚本,似乎都不是那么简单的事情。对于被python惯坏了了的我来说,刚刚学习lisp最大的问题在于,没有很方便脚本执行方式。换句话说,就是像python那样,可以直接把脚本本身当作命令直接在console里运行。
在search了一大圈google之后,发现的确也没有什么现成的方法。
#当然,也或许是我不知道或者没找到。
似乎sbcl可以提供exe+文件名的方式运行,但是我使用的(clozure cl)似乎没有这种办法,至少没有很直接的办法。
于是,只能采用曲线报国的方式了,自己写了一个简单的脚本,用来启动lisp文件。
ccl.cmd
@echo off set lisp_filename=%~1 set ccl_path=D:/_play_/lispbox-0.7/ccl-1.6-windowsx86/wx86cl.exe IF "%PROCESSOR_ARCHITECTURE%" == "x86" ( set fsl_filename=%lisp_filename:.lisp=.wx32fsl% ) ELSE ( set ccl_path=%ccl_path:wx86cl=wx86cl64% set fsl_filename=%lisp_filename:.lisp=.wx64fsl% ) IF NOT EXIST %fsl_filename% goto compile for %%a in ("%lisp_filename%") do ( set lisp_timestamp=%%~ta ) for %%a in ("%fsl_filename%") do ( set fsl_timestamp=%%~ta ) IF "%fsl_timestamp%" LSS "%lisp_timestamp%" ( goto compile ) ELSE ( goto run ) :compile REM echo "compile" %ccl_path% --eval "(progn (compile-file /"%lisp_filename:/=//%/") (ccl:quit))" :run REM echo "run" %ccl_path% --eval "(progn (load /"%fsl_filename:/=//%/") (ccl:quit))" :end
这个bat会自动compile所要执行的lisp文件为fsl,然后再调用ccl去load编译好的fsl文件。
我加入了timestamp的自动检测,感觉上有点像,python中编译pyc然后执行的过程,看来python中毒很深呀,呵呵
然后右键选择lisp文件,将打开方式指向ccl.cmd。
以后就可以双击,或者命令行直接运行lisp文件了。
完成~
修改了一下,到了公司才意识到,我公司的机器是64位的,加上了64位的判断。
相关文章推荐
- UNIX-判断程序是否已经运行的脚本在crontab与命令行下的不同
- 命令行方式运行php脚本
- emacs lisp(elisp)程序像脚本一样运行
- 如何在命令行下运行PHP脚本[带参数]
- monkeyrunner.bat运行python脚本/命令行
- 用于建立后台管理与前端应用的虚拟目录链接,请注意以下命令行脚本只限运行于win7系列操作系统
- 解决python脚本 在cmd命令行窗口运行时,中文乱码问题
- sbit命令行中运行scala脚本
- 如何用命令行运行python脚本
- 使用命令行方式运行 JMeter 脚本
- 在命令行下运行PHP脚本[带参数]的方法
- php 命令行脚本运行php文件简单演示
- 解决python脚本 在cmd命令行窗口运行时,中文乱码问题
- jmeter使用--6、命令行运行jmeter脚本
- 在LINUX命令行下运行php脚本总结
- 在CMD命令行中运行python脚本的方法
- php 命令行下运行php脚本传递参数方法
- Beginning Python From Novice to Professional (2) - 命令行运行Python脚本
- 干货-运行Python脚本的命令行操作(2)
- shell脚本命令 运行python文件&python命令行运行python代码