问题标签 [interpreted-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 带有 flex/bison 的多行注释声明
今天我的 flex/bison 脚本有问题。它没有检测到多行注释。
你能帮助我吗?
lambda - 跟踪 lambda 表达式求值
我在 Scheme 中遇到了一些看起来很棘手的 lambda 表达式,我想看看解释器是如何评估它们的。
我希望 Scheme 解释器打印所有评估步骤,如SICP 第 1.1.5 节“过程应用的替代模型”中所示。
我正在寻找使用任何方案解释器的解决方案。我已经尝试过Racket 的跟踪,但它只跟踪过程调用,而不是每个表达式。
激励例子
鉴于SICP 练习 2.6中教会数字的定义:
和任务:
直接定义
one
andtwo
(不是根据zero
andadd-1
)。
我希望检查我的定义,one
并two
对照评估(add-1 zero)
和的结果(add-1 (add-1 zero))
。
这就是我希望 Scheme 解释器打印出来的内容:
php - PHP类方法将参数视为对象而不是字符串/动态解释参数数据类型
我今天发现了一些新东西。
我有一个带有典型成员、私有、公共和受保护方法的 PHP 类。
其中一种方法是:
这会发出警告:
json_decode() 期望参数 1 是字符串,对象在 .../File.php 的第 xxx 行
等一下,PHP 不是松散类型和动态解释的吗?
performance - 解释语言中的 If/Else 和 Switch 效率比较
我知道在编译源代码时,编译器会以不同的方式处理if
//elseif
和语句else
,switch
从而使 switch 语句至少与相应的if
//一样有效elseis
,else
并且通常更有效。这通常通过在编译时构建一个在运行时使用的跳转表来完成。switch
但是,对于解释型语言(非编译型),使用语句时效率是否有显着提高?当然,解释器不能预先建立一个跳转表来提高switch
语句的效率。
与相应的/ /语句集相比,解释器是否以switch
提高语句效率的方式处理语句?switch
if
elseif
else
css - 在没有编译器的情况下如何在 Joomla 中使用 CSS LESS?
我有一个要转换为 Joomla 模板的网页。我正在使用 LESS 文件并允许它在运行时解释而不是编译它。我看到 Joomla 具有 LESS 功能,甚至拥有运行 LESS 的所有库。问题是,无论我将 less.js 指向哪里,它都不起作用。我什至将 less.js 上传到模板文件夹和默认的 joomla 文件夹中,并指向每个位置,但它仍然无法正常工作。我不想使用编译器,至少现在不想,因为我仍然在搞乱布局和颜色等,这将是我现在不想处理的额外的几个步骤。
是否可以在 Joomla 上解释性地运行 LESS,还是只允许通过编译器?
programming-languages - 为什么解释语言和编译语言之间有如此明确的界限?
在学习 C 或 C++ 等编译语言时,您会了解编译器。为了运行你的代码,你必须先编译它。编译您的代码会将其从文本表示形式转换为可以执行的内容。生成的代码非常快,可以使用预处理器等。
在学习 Python、Matlab 或 Ruby 等动态语言时,您会了解解释器。为了运行您的代码,您只需将其输入到解释器中。因此,您可以在运行时使用您的代码并动态更改程序的行为。这样做的缺点似乎是解释型语言相当慢,而且缺乏明确的编译时间似乎使得预处理器不可能。
然后是即时编译器,它们像解释语言一样使用,但与编译语言相比性能不足。但它们通常不使用预处理器,也不输出准备运行的二进制文件。
然后我学习了 Lisp,它可以被编译、解释和你有什么,同时它既快速又拥有强大的预处理系统(宏)。这在 Lisp 世界中似乎是常识,但在其他任何地方都不是。
为什么没有流行的 C 解释器或 Python 编译器?为什么解释语言和编译语言之间存在如此大的差异?(我知道存在一些可以编译 Python 或解释 C 的项目,但总的来说它们似乎不是很受欢迎)。
bayesian - 小型项目需要在 Win32 上使用贝叶斯的解释语言
我曾经和 Reverend Thomas 一起使用 Python,所以我可以做以下事情:
“Hola, coma estas”,西班牙语“嗨,你好吗?”,英语“Muy gracias”,西班牙语
但是升级我的机器后我再也找不到 Reverend 包了。
我需要像上面那样用“文本”、类做非常简单的贝叶斯分类,只希望它快速简单地让我启动和运行。
我目前正在运行 Python 3.2,但将使用您可以给我的任何语言,我可以安装它是解释的,并且我可以使用贝叶斯立即执行上述操作。我查看了 Python-Redis-Bayes 模块,但安装时会出错。
请给我一个解释语言的名称,我可以安装在易于安装的 Windows 机器上(没有多重依赖项,安装语言后无需安装包管理器即可获取贝叶斯包)贝叶斯包将很快允许我使用它将输入(文本、数字、字符串)分类为类。
或者,如果它可以固有地处理 CVS 文件,那就太好了。
第二个可选的,如果它可以然后,给定一个类,显示它的主要组成部分,甚至区分那些很棒但很好但不是必需品的类。
谢谢!
c - 是否可以在运行之前将 Ruby 转换为 C?
一个问题是 Ruby 在运行时做了什么。与 C 相比,它是一种解释型语言,C 是一种编译型语言。它有多可行?Ruby 每年都在变快,但如何?正在做什么?我们经常使用的方法(each
,map
等)是用 C 语言编写的,从而加速了一切吗?长期目标是通过成为 C 让 Ruby 与 C 一样快吗?尝试将用 Ruby 编写的内容转换为 C 并使其运行时,最大的问题是什么?或者,这个问题没有任何意义吗?如果是这样,为什么?
c++ - C++ 也可以被解释而不是编译吗?
我知道解释 C++ 代码可能没有实际价值,这个问题只是为了娱乐和学习目的。
是否可以逐句解释 C++ 代码而不是编译它?还请说明答案的原因。
如果不可能,是否有可以解释的语言子集?
python - Python中的范围和变量定义
我正在阅读一本 wiki 书籍 Python_Programming,我对下面的代码有点困惑:
好吧,我注意到它y
是在 bar() 之外定义的,它在 中使用x+y
,即“之前”y
被定义。我认为类似的代码会导致 C 中的编译错误,我们必须编写如下内容:
如果没有在 中定义y
为形式参数bar()
,我认为编译器不能接受。但我想它在 Python 中完全没问题,它是一种解释型语言,对吧?
与编译语言相比,解释语言有什么不同吗?Python 在解释顶部代码时使用的实际过程是什么?
编辑1:我认为下面的答案已经非常清楚地说明了这一点,它是关于自由变量和闭包的。以下是一些我认为对这个问题有很大帮助的链接:
SO:python-free-variables-why-does-this-fail
SO:closures-in-python