ant*_*009 11 emacs prolog emacs23
GNU Emacs 23.2.1
Fedora xfce 14
Run Code Online (Sandbox Code Playgroud)
我开始进入Prolog,我想使用我的emacs作为IDE在Prolog中进行编程.
目前我使用emacs进行c/c ++.但不知道如何开始使用Prolog.我知道emacs有一个用于emacs编程的内置库.但是,我已经研究过,发现它的功能较少,即没有语法高亮,缩进等.
所以我已经下载了emacs prackage Prolog.el.我已经加载了这个库M-X Load-library.
但是,我不知道在那之后该怎么做.如何编译我的prolog文件?在emacs IDE的菜单中,Prolog没有任何内容.
我是否还需要为Prolog下载一些解释器或编译器?是否有用于编译的emacs命令?我通常在编译c代码时在emacs中使用make.
我做了一个yum搜索序言并得到了这些结果,所以我需要的所有这些选择?:
gprolog.x86_64 : GNU Prolog is a free Prolog compiler
pl.x86_64 : SWI-Prolog - Edinburgh compatible Prolog compiler
pl-static.x86_64 : Static library for SWI Prolog
ppl-gprolog.x86_64 : The GNU Prolog interface of the Parma Polyhedra Library
ppl-gprolog-static.x86_64 : The static archive for the GNU Prolog interface of the Parma Polyhedra Library
ppl-swiprolog.x86_64 : The SWI-Prolog interface of the Parma Polyhedra Library
ppl-swiprolog-static.x86_64 : The static archive for the SWI-Prolog interface of the Parma Polyhedra Library
ppl-yap.x86_64 : The YAP Prolog interface of the Parma Polyhedra Library
yap.i686 : High-performance Prolog Compiler
yap.x86_64 : High-performance Prolog Compiler
Run Code Online (Sandbox Code Playgroud)
非常感谢任何建议,
==================编辑=====================
我安装了以下内容 pl.x86_64
我已下载prolog.el并将其放在以下目录中:
~/.emacs.d/site-lisp/prolog/prolog.el
Run Code Online (Sandbox Code Playgroud)
我已经使用以下内容配置了我的emacs:
;;; Prolog mode
(setq load-path (cons "~/.emacs.d/site-lisp/prolog/prolog.el" load-path))
(autoload 'run-prolog "prolog" "Start a Prolog sub-process." t)
(autoload 'prolog-mode "prolog" "Major mode for editing prolog programs." t)
(setq prolog-system 'swi) ; prolog-system below for possible values
(setq auto-mode-alist (append '(("\\.pl$" . prolog-mode))
auto-mode-alist))
Run Code Online (Sandbox Code Playgroud)
因此,当我将文件保存为*.pl时,我会获得prolog菜单选项.
所以我写了一些prolog代码,并从prolog菜单中选择 Run interactive prolog session
我打开了第二个空白缓冲区 (Inferior Prolog:run Shell-Compile)
但是,我不确定在这个阶段我需要做什么.如何编译和运行prolog文件?
非常感谢任何进一步的支持.
mat*_*mat 10
您没有使用预期的高级prolog.el,因为您的加载路径是错误的.它应该是:
(setq load-path (cons "~/.emacs.d/site-lisp/prolog/" load-path))
Run Code Online (Sandbox Code Playgroud)
注意我prolog.el从路径的末尾删除.实际上,它应该更好地阅读:
(add-to-list 'load-path "~/.emacs.d/site-lisp/prolog/")
然后再次启动Emacs,它应该为您提供一个包含更多选项的菜单.(尝试C-h v prolog-mode-version,仅适用于高级模式,并显示其版本号.)
然后,您可以尝试C-c C-b查阅缓冲区等.还可以考虑使用ediprolog,您可以使用它直接在Emacs缓冲区中评估查询.另请注意,在最近的Emacs版本中,高级Prolog模式的变体是新的默认值,但不幸的是它带有严重的回归和缺陷,因此我推荐Stefan Bruda维护的原始版本:
https://bruda.ca/emacs/prolog_mode_for_emacs
有关Prolog和Emacs的更多信息,请参阅 在GNU Emacs中使用SWI-Prolog.
您需要Prolog环境,例如SWI-Prolog,GNU-Prolog或YAP.我认为SWI是非常常用的,但我不知道它是否比其他人更好.您不需要编译Prolog文件来运行它们 - Prolog可以作为解释器(在某些情况下是交互式编译器).要将文件加载到Prolog环境中,您需要查阅它.在Prolog模式下,emacs可以使用C-c C-f.您也可以直接从Prolog shell中输入consult(File).
| 归档时间: |
|
| 查看次数: |
9622 次 |
| 最近记录: |