标签: interpreted-language

解释器如何运行代码?

阅读所有编译与解释的文章,似乎编译意味着机器将直接运行编译的代码,而解释则意味着机器将运行代码。但是,如果代码在机器上,解释器如何运行代码呢?它最终是否仍然必须将其解释的内容转换为机器代码并仍然让机器运行它?归根结底,一切都必须成为机器代码才能让机器正确运行?似乎解释只是意味着它一次一行地运行该语言,而编译意味着一次运行所有内容。之后,就几乎一样了,对吗?

programming-languages interpreted-language compilation

5
推荐指数
1
解决办法
2161
查看次数

“安装”编程语言的真正含义是什么?

我想知道“安装”编程语言意味着什么。

到目前为止,我的搜索产生了两个相互矛盾的答案:

  1. 您没有安装编程语言。您安装编译器/解释器,然后只需向其提供包含源代码的文本文件。因此,该语言只是您学习的标准化语法,并且编译器/解释器被编程为“理解”。换句话说,该语言的“源”并不在您机器上安装的某个文件/程序中,而是在语言规范、您编写的文本文件以及编译器/的能力中。解释器“处理”所述文件。(例如,要使用 C++,您必须安装编译器,但您不安装 C++。或者您这样做吗?)

  2. 但是,似乎需要安装某些语言。例如,PHP 文档以标题为“安装和配置”的部分开头。同样,要安装 Python,您必须首先下载它。一旦完成,它就会作为可执行文件显示在您的文件系统中。

那么安装语言到底意味着什么呢?安装包含什么?为什么有些语言似乎需要安装(PHP、Python),而另一些语言则不需要安装(C++)?

谢谢。

installation programming-languages interpreted-language compilation compiled-language

5
推荐指数
1
解决办法
2204
查看次数

口译语言的优缺点

我现在正在学习Perl,但解释语言的优点和缺点是什么?因为我开始学习Perl,因为我的朋友开始了,那么它只是我的经验中的一种语言.谢谢.

programming-languages interpreted-language

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

运行时定义

什么是运行时?我并不是说"在运行时"=因为程序/脚本正在运行.我的意思是

<your-interpret-language-here>运行时

interpreter compiler-theory language-theory terminology interpreted-language

4
推荐指数
1
解决办法
2446
查看次数

寻找支持解释和本机编译模式的新语言

我目前使用Perl,Python,C#,C,C++,Java和其他一些语言进行编程,我正在寻找一种新的语言,可以在进行个人项目时用作主要语言.

我目前的标准是:

  • 可以作为解释语言运行(即运行而无需等待编译);
  • 可以编译为本机代码;
  • 是强类型的(即使是可选的);
  • 支持你要调用它的宏/模板/代码变形/ wtf;
  • 拥有相当数量的图书馆,或者可以轻松访问它们;

想法?建议?

programming-languages scripting-language interpreted-language compiled-language

4
推荐指数
1
解决办法
306
查看次数

使用反射成为可能的C#语言的属性是什么?

使用反射成为可能的C#语言的属性是什么?它是所有面向对象语言都可以做的事情,还是所有解释语言都能做到的事情?或者是其他东西...

.net oop reflection interpreted-language

4
推荐指数
1
解决办法
180
查看次数

如何定义未编译的语言

我问这个问题是因为我在"脚本语言"和"编程语言"这两个术语中看到了很多"个人偏好".

我的问题是:

对于无法编译或直接在浏览器中运行的语言,是否有适当的技术术语?我读过的每篇文章和我在这里搜索过的问题都没有明确说明是什么定义了一种语言的特征.

javascript syntax html5 interpreted-language compiled-language

4
推荐指数
1
解决办法
97
查看次数

所有脚本语言都是解释性的吗?

所有脚本语言都是解释性的吗?我还没有遇到过编译+脚本语言。以下语言都是解释语言和脚本语言。解释语言和脚本语言之间有什么联系。

例如 JavaScript、python、perl

反过来呢?

scripting scripting-language interpreted-language

3
推荐指数
1
解决办法
4287
查看次数

通过F#解释脚本

我真的很喜欢F#,但我觉得这不是简单而且足够短.我想走得更远.我确实知道如何改进它,但我没有制作编译器的经验所以我认为我会使它成为一种脚本语言.然后我意识到我可以使用脚本语言并使用F#解释它,但由于F#有inline选项,它仍然可以获得100%的性能.我对吗?是否真的有可能在F#中创建一个脚本解释器,它将通过我的脚本并将其转换为许多仿函数和东西,从而获得非常好的性能?

scripting f# interpreted-language

2
推荐指数
1
解决办法
263
查看次数

当我运行解释性语言二进制文件及其脚本时,如何检查链接了哪些共享库?

我试图找到运行需要火炬库的 lua 脚本实际需要的每个库

测试.lua

#!/usr/bin/env lua

print "Welcome to LUA"
print('_VERSION = ' .. _VERSION)
require("nn") -- this loads torch nn libraries to be further used in the code
print "Load pass"
Run Code Online (Sandbox Code Playgroud)

输出

Welcome to LUA
_VERSION = Lua 5.1
Load pass
Run Code Online (Sandbox Code Playgroud)

当我使用

lld ./lua
# or
lld ./lua test.lua
Run Code Online (Sandbox Code Playgroud)

我得到以下输出:

ldd ./lua ../../../bin/test.lua
    linux-vdso.so.1 =>  (0x00007ffdba77d000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f160dd3e000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f160db3a000)
    libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007f160d8f3000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f160d52a000)
    /lib64/ld-linux-x86-64.so.2 (0x00005580e2ebd000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 …
Run Code Online (Sandbox Code Playgroud)

python lua interpreted-language shared-libraries libraries

2
推荐指数
1
解决办法
1381
查看次数