标签: interpreter

在线互动游戏机

我在哪里可以找到编程语言或api的在线交互式控制台?

compiler-construction interpreter

33
推荐指数
5
解决办法
2万
查看次数

脑卒中翻译的优化

作为一个帮助我学习口译和优化的练习,我都不知道,我用C编写了一个脑筋解释器.到目前为止它看起来完美无缺,尽管与其他快速相比,它在执行速度方面表现不佳口译.

有哪些方法可以改变这个解释器以提高性能(或其他方面)?

我的解释器的一个有趣的方面(虽然大多数其他人也可能这样做)是我运行一个循环,读取源输入并将每个指令转换为

struct { long instruction; long loop; }
Run Code Online (Sandbox Code Playgroud)

loop值是匹配的索引]指令,如果该指令是[,和匹配的索引[指令,如果该指令是],允许快速跳跃.我想这个'解析'过程(不需要很长时间)可以改善执行时间,而不是每次需要时进行冗余重新分析以找到匹配的方括号.

这个程序是一个有趣的测试brainfuck解释器的速度:

++++++++[->-[->-[->-[-]<]<]<]>++++++++[<++++++++++>-]<[>+>+<<-]>-.>-----.>
Run Code Online (Sandbox Code Playgroud)
  1. 解释器的第一个版本
  2. 实现Jerry Coffin的答案之后的解释器,它通过使instructionstruct instruction成为操作函数的直接指针来消除运行时循环中的巨型开关- 这比前一版本运行得慢(函数调用开销?)
  3. 解释后,扭转了以往的变化和增加的优化,以"崩溃"多个连续的非循环操作,减少循环周期- 这将运行比原来稍快

c optimization interpreter brainfuck

32
推荐指数
4
解决办法
4457
查看次数

是否可以有多个PyPlot窗口?或者我只限于次要情节?

我不确定如何更清楚地说出我的问题.基本上,PyPlot是否仅限于一个实例/窗口?我尝试的任何黑客或变通办法都会导致我的程序冻结或第二个pyplot窗口排队,直到第一个关闭.

python plot interpreter matplotlib hang

31
推荐指数
4
解决办法
5万
查看次数

Pycharm有互动式Python解释器吗?

我是一个相当新的Pycharm用户,最近从其他IDE切换.

我有一个问题是关于交互式python解释器,它是我在运行脚本后可以输入变量来检查它们的"窗口".Pyscripter有这个叫做"Python解释器"的东西,我知道Pycharm也有.

我在"工具"下尝试了"Python控制台",但我不认为这是一回事.所以我想知道如何在Pycharm中找到这个Python解释器?我正在使用社区版本3.

interpreter pycharm

31
推荐指数
4
解决办法
2万
查看次数

有没有最近的Lua到JavaScript转换器或解释器?

我需要找到一个好的Lua到JavaScript转换器; luaforj.org上的lua2js已经过时(大约3年左右,看起来它不适用于Lua 5.1),我还没有在Google上找到任何东西.

有没有人有任何其他转换器的经验?它应该适用于Lua 5.1,最好是基于.NET的,但.NET不是必需的.一个javascript lua解释器也可以工作.

javascript lua interpreter converter

30
推荐指数
2
解决办法
2万
查看次数

/ usr/bin/perl:bad interpreter:文本文件繁忙

对我来说这是一个新的:这个错误表示什么?

  /usr/bin/perl: bad interpreter: Text file busy
Run Code Online (Sandbox Code Playgroud)

当时有几个磁盘密集型进程在运行,但我以前从未见过这个消息 - 事实上,这是我第一次记得在尝试运行Perl脚本时遇到错误.经过几秒钟的等待,我能够运行它,并且从那时起就没有看到这个问题了,但对此有一个解释会很好.

运行Ubuntu 9.04,文件系统是ext3.

linux perl interpreter ubuntu-9.04

30
推荐指数
2
解决办法
3万
查看次数

Java线程与操作系统线程

看起来我已经搞砸了Java Threads/OS Threads和Interpreted语言.

在开始之前,我确实理解绿色线程是Java线程,其中线程由JVM处理,整个Java进程仅作为单个OS线程运行.因此在多处理器系统上它是无用的.

现在我的问题是.我有两个主题A和B.每个都有10万行独立代码.我在多处理器系统上的Java程序中运行这些线程.每个线程都将被赋予一个本机操作系统线程到RUN,它可以在不同的CPU上运行但是由于Java被解释,这些线程将需要一次又一次地与JVM交互以将字节代码转换为机器指令?我对吗 ?如果是,那么对于较小的程序,Java Threads不会是一个很大的优势吗?

一旦Hotspot编译这两个执行路径,它们都可以像原生线程一样好吗?我对吗 ?

[编辑]:另一个问题是,假设您有一个Java代码未编译的Java线程,您创建该Thread并启动()它?操作系统线程和JVM如何交互以运行该字节码?

谢谢

java multithreading interpreter operating-system

30
推荐指数
2
解决办法
2万
查看次数

用javascript编写的C解释器

有没有用javascript或java编写的C语言解释器?

我不需要一个完整的解释器,但我需要能够一步一步地执行程序,并能够看到变量的值,堆栈......所有这些都在Web界面中.

这个想法是通过向他们展示程序的逐步执行来帮助C初学者.我们正在使用GWT来构建接口,因此如果Java中存在某些内容,我们应该能够使用它.

我可以修改它以满足我的需要,但如果我可以避免编写解析器/抽象语法树walker/stack操作...这将是伟大的.


编辑:

要清楚,我不想模拟完整的C,因为有些程序可能非常棘手.

我指的是一个基本的操作,例如:表达式评估,矫揉造作,函数调用.

CI想要模拟将包含:变量,for,while,函数,数组,指针,数学函数.没有goto,字符串函数,ctypes.h,setjmp.h ...(至少目前为止).

这是一个原型:http://www.di.ens.fr/~fevrier/war/simu.html

在这个例子中,我们已经手动将C代码转换为javascript表示,但它是有限的(诸如a == 2 || a = 1未处理的表达式)并且仅限于手动转换的程序.

我们在远程服务器上处理了一个C编译器,因此我们可以检查代码是否正确(并且没有任何未定义的行为).解析/ AST构造也可以远程完成(所以任何语言),但AST步行需要在javascript中才能在客户端运行.

javascript c gwt interpreter

30
推荐指数
1
解决办法
9148
查看次数

如何读取IPython%prun(profiler)命令的输出?

我运行这个:

In [303]: %prun my_function()
         384707 function calls (378009 primitive calls) in 83.116 CPU seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    37706   41.693    0.001   41.693    0.001 {max}
    20039   36.000    0.002   36.000    0.002 {min}
    18835    1.848    0.000    2.208    0.000 helper.py:119(fftfreq)
Run Code Online (Sandbox Code Playgroud)

--snip--

每次tottime,percall,cumtime是什么?ncalls相当明显(调用函数的次数).我的猜测是,tottime是在函数中花费的总时间,不包括在其自己的函数调用中花费的时间; percall是???; cumtime是在函数调用中花费的总时间,包括在其自己的函数调用中花费的时间(当然,不包括重复计数).该文档是不是太有帮助; 谷歌搜索也没有帮助.

python profiler interpreter ipython

30
推荐指数
1
解决办法
8652
查看次数

在解析器,解释器和编译器上学习资源

我一直想用自己的语言编写一段时间(表面上是为了学习经验),因此需要在构建解析器,解释器和编译器时相对基础.所以:

  • 有谁知道构建解析器,解释器和编译器的任何好资源?

编辑:我不是在寻找编译器编译器/解析器编译器,如Lex,Yacc和Bison ......

compiler-construction parsing interpreter compiler-theory language-theory

29
推荐指数
6
解决办法
7784
查看次数