背景

最近《串并行数据结构与算法设计》的老师在educoder上布置了一些SML程序设计题,虽然网站上有在线编译功能,但还是在线下编译调试方便,特记录编译环境过程如下(我用的GVIM,但Notepad++、Visual Studio Code等编辑器可以类推)

第一步:安装编译器

下载Standard ML of New Jersey(https://www.smlnj.org/),下载完直接一路安装就行,环境变量已经自动配好了。

第二步:配置GVIM

打开GVIM目录下的配置文件_vimrc,加入

func Run()exec 'w'if &filetype == 'sml'exec '!sml < %'endif
endfunc
map <C-F5> :call Run() <CR>

这段话的意思是按下Ctrl + F5之后GVIM保存当前文件,之后如果当前文件类型是SML则执行命令“sml < 当前sml文件”,把当前sml文件的内容重定向到sml交互命令行程序中执行。

第三步:写程序前的操作

首先复制网站题目编辑器给的输入输出模板到GVIM中,因为sml交互命令行程序的标准输入已经被我们的sml文件占了,所以标准读入函数不能用,所以我们需要在程序的首行添加

val input = TextIO.openIn("input.txt");

接着把程序中所有的TextIO.stdIn替换成input,之后在程序的相同目录建立一个input.txt存储样例输入,然后就可以在模板里的begin和end里面写你自己的内容了。交代码时只要把程序里begin和end里面你写的内容贴到网站题目编辑器里面的begin和end之间就行了。

转载于:https://www.cnblogs.com/YuanZiming/p/11568989.html

educoder SML程序设计题线下编译环境搭建相关推荐

  1. FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译

    FMT(基于rtthread)开源代码编译 win10下编译环境搭建及编译 什么是Firmament? Firmament (FMT) 是一款基于模型设计 (Model-Based-Design, M ...

  2. Linux下golang的编译,golang Linux下编译环境搭建

    1.下载golang1.4和1.10源码(1.4以后的版本都用1.4go编译安装,所以先安装1.4) 2.解压后我的目录结构是: /opt/xxx/golang |-------gopath     ...

  3. linux下guide编译不了,全志R16编译环境搭建指南,全志R16_Tina SDK Quick Start Guide

    2. Tina SDK 目录结构 ├── tina │ ├── abi │ ├── app │ ├── bionic │ ├── build │ ├── device │ │ ├── softwinn ...

  4. 【ZT】MTK X20编译环境搭建 烧写安卓固件详细教程

    http://jingyan.eeboard.com/article/75888 MTK X20编译环境搭建 MTK X20编译环境搭建 作者: lgkgkfg 上传时间为: 2017-04-17 1 ...

  5. Runtime编译环境搭建

    Runtime编译环境搭建 首先,需要准备的资源:runtime完整源码,这个可以在苹果开放资源网页找到.点进这个页面,接着点击macOS下面的最新版本,在新页面中command+f搜索objc即可找 ...

  6. esp32 linux内核,【小狂系列】跟着小狂玩ESP32之编译环境搭建篇

    本帖最后由 3guoyangyang7 于 2016-11-3 18:41 编辑 趁热要打铁,昨天发了ESP32的预告贴,今天小狂就带大家刷一刷ESP32的编译环境搭建.怎么说的,ESP32可以在多平 ...

  7. windows下python环境搭建_Linux/Windows下Python环境搭建步骤

    Python环境搭建首先到官网(www.python.org)下载相应的安装版本.主要分为Windows和Linux两种: 一.Linux下Python环境搭建 一般情况下,Linux系统都已经预安装 ...

  8. Windows编译环境搭建(VS2010)

    引言:   本篇文章基于教程目的(由于windows和linux相关环境搭建篇幅过大,在博客中做这些讲解),主要描述Windows的发展历程和编译环境搭建(基于 Visual Studio 2010版 ...

  9. spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ]

    spring-framework-5.1.x 源码编译 环境搭建 [ idea:2020.1 ] 一. Gradle下载与安装 软件名称 版本 下载地址 jdk jdk 11.0.5 下载链接 提取码 ...

最新文章

  1. Linux下开发优秀链接
  2. KeyDown、KeyPress和KeyUp事件的区别与联系
  3. gossip 区块链_比特币奇葩8问:为何区块620826比区块620825早1秒诞生?
  4. 【实战篇】| 模拟 20 万数据快速查询 IP 归属地
  5. C++ 算法设计 最大子序和问题
  6. Configuration、SessionFactory、Session
  7. LintCode 1862. 给树浇水的时间(图的遍历)
  8. @Inject 注入 还是报空指针
  9. html div与p,为什么里面带有p标签的html div标签与其中包含img标签的标签不同?
  10. array转list_Java面试题Array和ArrayList有何区别?
  11. MetaMask/metamask-extension/mascara 的运行实现
  12. c语言mppt例子,mppt太阳能控制器电路原理
  13. Elasticsearch7.x搜索实战
  14. 是否能任取前序、中序和后序两种序列建立二叉树?
  15. nagios之nsca被动监控
  16. 4298. 【NOIP2015模拟11.2晚】我的天
  17. Snowflake生成的ID是全局递增唯一么?怎么实现全局递增的唯一ID?
  18. 如何让一个IFRAME调用页面的背景为透明
  19. docker网络的配置
  20. C# StreamRead和StreamWrite

热门文章

  1. 阿里云centos7通过yum安装 Mysql 8.0.11
  2. 第58件事 借势文案创作实例
  3. WWDC 2018:iOS 12 通知的新特性
  4. 小谈应聘.NET程序员失败的几点硬伤
  5. VI和VIM编辑器深入学习笔记--基本vi命令
  6. memset函数源码实现
  7. oracle数据误操作恢复【flashback闪回操作】
  8. 【STM32 .Net MF开发板学习-14】红外遥控器编码识别
  9. 蘋果iPhone 3G S更出色
  10. 快速配置MPLS ×××