Popush开发优化之Haskell部署

  在本次Popush开发过程当中,我负责承担在Popush中添加Haskell文件选项,而且保证其能够正常运行。当初接到这个任务时,以为有点像天方夜谭,远远超过了我的的能力。在后来的开发过程当中,有了李映辉同窗的帮助,同时也能够和其余组的同窗沟通,这些都为咱们任务的完成提供了积极有利的因素。前端

    此次优化开发,第一个难点在于如何正确配置好Popush。某天下午刘博格同窗开始配Popush,很高效率地在3、四个小时以后配好了Popush。彭友在Linux下也配好了Popush。他们配置工做的顺利进行为咱们的工做的开展打下基础。后端

      在Popush网站上注册后登录,发现其支持多种语言,能够在链接好外接编译器后,将Popush中的代码放入外接编译器中编译运行。开始时,咱们发现了只要安装好对应语言的编译器,并将编译器的路劲放进系统的环境变量中,即可以在Popush平台中运行代码。这点启发了我和同伴。刚开始时我尝试在前端看一些图片或者分析一些相应,但最都没有头绪。上面的启示说明:不一样的语言在后端处理的方式必定是等同的,很大程度上会用数组或者case语句描述。带着这个想法,咱们开始逐个文件查找,直到找到models文件夹下的runner.js文件,在里面找到了期待已久的大段case语句,接着在里面加上包括haskell的语句块。数组

      可是,这样作并无彻底解决问题,haskell程序仍是不能正常运行。后来发如今data.js文件中须要将hs添加到app.RunableExt中。这样在连接好本地编译器以后,即可以在Popush中编译haskell程序了。不过咱们发现,原来的程序只能编译,不能在Popush中不能输入,这对于Haskell这样的函数式语言来讲,这样的平台几乎没用,由于函数须要输入函数名称和参数才能发挥做用。咱们把这个bug反映给助教,以后助教给的回复是Popush这个版本原有的bug。Yeah,这个bug是咱们小组最早发现的,这与咱们细致、严谨的态度都是密不可分的。app

      以后映辉还添加了hs文件的头像,使得界面更漂亮,这是咱们超出任务完成的模块。在功能测试上,咱们测试了C和C++的调试和运行,Ruby、Haskell、Python、Java的运行,以及文件的新建与删除。经过这些实践,咱们大体弄清楚了Popush中的编译原理。首先根据文档的后缀名分清楚是不是可执行的文件。如果,则在运行的时候连接入对应的编译器,并将结果显示在下发的控制台上。消除Popush版本上的bug后,也能够在控制台上输入。函数

      整体来讲,此次优化开发很顺利,没有遇到太大的困难,可是也遇到一些小问题。吼吼,Popush优化结束咯!!!测试

相关文章
相关标签/搜索