Tag: 解释器

在Ruby中测量时间

我怎样才能测量一个方法所花费的时间和在Ruby中的方法中的单个语句。 如果你看到下面的方法,我想测量该方法花费的总时间和数据库访问和redis访问所花费的时间。 我不想在每一个陈述之前写Benchmark.measure。 ruby解释器是否给我们这样做的钩子? def foo # code to access database # code to access redis. end

在C / C ++中实现解释器所需的参考文献

我发现自己附属于一个项目,将口译员融入到现有的应用程序中。 要解释的语言是Lisp的一个衍生物,具有特定于应用程序的内置函数。 个别“程序”将在应用程序中以批处理方式运行。 我感到惊讶的是,多年来我写了几个编译器和几个数据语言翻译器/parsing器,但是我从来没有真正写过翻译器。 原型在C ++中被实现为一个语法树walker。 我可能会影响架构超出原型,但不是实现语言(C ++)。 所以,约束: 实现将在C ++中进行 parsing可能会用yacc / bison语法来处理(现在是这样) 完整的虚拟机/解释器生态系统,如NekoVM和LLVM的build议可能不适合这个项目。 自给自足是更好的,即使这听起来像NIH。 我真正想要的是阅读实施口译员基本原理的材料。 我做了一些浏览SO,另一个网站叫做Lambda Ultimate ,虽然他们更倾向于编程语言理论。 到目前为止,我收集的一些花絮: Lisp in Small Pieces ,作者:Christian Queinnec。 推荐它的人说:“从简单的解释器到更高级的技术,完成字节码和'Scheme to C'编译器。 NekoVM 。 正如我上面提到的,我怀疑我们会被允许整合一个VM框架来支持这个项目。 计算机程序的结构和解释 。 本来我build议这可能是矫枉过正,但通过一个健康的块,我同意@JBF。 非常丰富的信息,并扩大思维。 关于Lisp by Paul Graham。 我已经阅读了这篇文章,虽然这是对Lisp原理的丰富介绍,但还不足以启动构build一个解释器。 鹦鹉执行 。 这似乎是一个有趣的阅读。 不知道它会为我提供基础。 计划从零开始 。 Peter Michaux正在攻击Scheme的各种实现,从用C语言编写的快速简洁的Scheme解释器(用作后面项目中的引导程序)到已编译的Scheme代码。 到目前为止非常有趣。 语言实现模式:创build您自己的特定领域和一般编程语言 , 在创build解释语言书籍的评论主题中推荐。 这本书包含了两个章节,专门介绍build立口译员的做法,所以我将其添加到我的阅读队列中。 […]

Python编译/解释过程

我试图更清楚地了解Python编译器/解释器的过程。 不幸的是,我还没有在翻译课上课,也没有多读这些课。 基本上,我现在明白的是,.py文件中的Python代码首先被编译成python字节码(我认为它是偶尔看到的.pyc文件)。 接下来,字节码被编译成机器代码,这是处理器实际理解的一种语言。 很多,我读过这个线程为什么Python解释之前编译源代码字节码? 有人能够对我的整个过程给予一个很好的解释,记住我对编译器/解释器的知识几乎是不存在的? 或者,如果这是不可能的,也许给我一些资源,快速浏览编译器/口译? 谢谢

如何从Python脚本中获取当前的Python解释器path?

我想从一个Python脚本运行一个Python脚本和subprocess ,我希望使用相同的解释器为他们每个人做。 我使用的是virtualenv,所以我想要做一些事情: subprocess.Popen('%s script.py' % python_bin) 我如何得到python_bin ? 它应该是virtualenv之外的/usr/bin/python ,以及virtualenv中的/path/to/env/bin/python 。

如何在Emacs中调用交互式elisp解释器?

现在我在*scratch*缓冲区中写入expression式并通过使用Cx Ce进行评估来testing它们。 我真的很感谢有一个像SLIME或irb这样的交互式解释器,我可以在其中testingEmacs Lispexpression式。

创build我自己的编程语言

可能重复: 在C / C ++中实现解释器所需的参考文献 关于创build口译语言的书籍 如何创build一个语言这些天? 学习编写一个编译器 可能重复: 学习编写一个编译器 好吧,我只有13岁。 我知道一些C ++,非常好的PHP,亲在CSS的HTML,好的在JavaScript。 所以我在想c ++是怎么产生的我的意思是计算机怎么能理解代码的意思? 它怎么读……所以我可以创build自己的语言,怎么样?

CoffeeScript如何在CoffeeScript中编写?

所以作为一个新的web程序员(背景是C,C ++和Python),没有javascript的经验(或基于我所见过的经验),我一直在做一些关于CoffeeScript的前期研究,我真的很喜欢我懂了。 我注意到一个很酷的小细微差别就是CoffeeScript是用CoffeeScript编写的,这很酷……但是我不太明白这是怎么可能的。 不幸的是,在我上一次的高级计算机科学课程中,我select了networking安全而不是编译器。 我听说有人用目标语言编写语言来解释使用该语言的现有编译器,但我不能挖掘任何有关如何工作的信息,因为这是第一个实现。 我的猜测是一个embedded式的shell脚本,可能会考虑为构build一个自引用 ( 这个术语是否恰当地描述这种行为?)语言的一些初始框架?

PyCharm。 / usr / bin / python ^ M:糟糕的解释器

无法弄清楚,在PyCharm中更改EOF的位置。 我的脚本开始于: #!/usr/bin/python # -*- coding: utf-8 -*- 当我尝试像可执行文件(chmode + x)一样运行时,输出如下所示的内容: -bash:./main.py:/ usr / bin / python ^ M:错误的解释器:没有这样的文件或目录 该怎么做,怎么做?

mod_php vs cgi vs fast-cgi

我一直在试图了解加载PHP作为一个Apache模块与其余的确切意义/目的。 当php作为apache模块安装时,到底发生了什么? 例如,读取php-ini文件是否每次发出php请求或者单独加载php模块?

在Python / IPython解释器中为单个下划线_赋值

我使用ipython在Python 2.7中创build了这个函数: def _(v): return v 后来如果我叫_(somevalue) ,我得到_ = somevalue 。 in[3]: _(3) out[3]: 3 in[4]: print _ out[4]: 3 该function已经消失! 如果我打电话给_(4)我会得到: TypeError: 'int' object is not callable` 为什么? 这个function有什么问题?