问题标签 [language-specifications]
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++ - 在 while 循环中,最后一个逗号分隔的语句是否保证最后运行?
考虑以下(平凡的)代码段:
在一般情况下,C++ 允许以任何顺序评估逗号分隔的语句。在 while 循环的情况下,我们是否至少保证(通过规范)最后一个语句(用作循环的条件)最后被评估?
compiler-construction - 编译器和语言规范/语法是否相同?
可以编写一个编译器,您不能从中对输入语言的语法和含义进行逆向工程。
即你能总是从编译器那里得到语言的规范吗?
假设我想从 ?? 对于某些语言,但我不希望阅读编译器的人能够阅读和理解?
我个人觉得编译器和语言规范是同构的,但从学术的角度来看,我对这是否错误很感兴趣。
html - HTML5到底是什么 标签和浏览器支持是什么
我已经阅读了HTML5 规范<command>
,发现关于这个元素的信息非常模糊。
我已经尝试过了,发现它在 Chrome(最新版本)中不起作用,并且在 Safari(甚至更旧的版本)上起作用,抱歉没有 FF(请不要开枪)-仅 Mac 测试。
我无法理解这个元素的用途,或者即使我正确使用它。
我提前感谢您对此的任何澄清!
php - 在 PHP 中导入类和命名空间:前导反斜杠有什么区别?
这两者有什么区别:
或者那些:
手册说:
请注意,对于命名空间名称(包含命名空间分隔符的完全限定的命名空间名称,例如 Foo\Bar,而不是不包含命名空间分隔符的全局名称,例如 FooBar),前导反斜杠是不必要且不允许的,因为导入名称必须是完全限定的,并且不相对于当前命名空间进行处理。
但我不太明白这一点,因为上述所有变体都有效,即它绝对不是“不允许的”。
研究zend_do_use
表明,is_global
(设置,当有前导反斜杠时)仅在以下情况下用于警告:
这告诉我:“使用非复合名称‘异常’的语句无效”。(虽然做同样的事情use \Exception
会产生同样的影响,但不会发出警告。)
所以:我错过了什么吗?真的有什么区别吗?
blogger - Blogger 模板语言规范
google 是否在某处发布了官方博客模板语言规范?我阅读了这个问题,它提供了很多有用的信息,但它没有为我提供关于我正在寻找的特定标签(variable
标签)的帮助。
language-agnostic - C语言语义规范
Wikipidea 说 Perl 有一个占主导地位的实现,用作其规范的参考,而 C 语言由标准 ANSI ISO 指定。
没读过一行标准就学了C语言,这正常吗……?
我想知道标准(即自然语言文档)如何能够在不参考任何主要实现的情况下描述编程语言。
c# - 为什么 C# 为 `using` 定义了两种不同的用法?
更多的是出于好奇而提出的问题,但为什么 C# 为关键字定义了两个不同的“目的” using
?一方面,这是一个指令......
用于为命名空间创建别名或导入在其他命名空间中定义的类型。
另一方面,这是一个声明...
定义一个范围,一个或多个对象将在该范围之外被释放。
对我来说,同一个关键字似乎有不同的用途,但也许我遗漏了一些东西。这个关键字有两种不同的用途是有原因的吗?或者,这两个目的,在编译器的深处,真的是一回事吗?
haskell - 在哪里指定了在 Haskell 实现中是否应该允许使用 Unicode 标识符?
我想用标识符中的 Unicode 字符(非拉丁语)在 Haskell 中编写一些教育代码。(这样对于说英语以外的自然语言的人来说,标识符看起来既漂亮又自然,在其写作中没有使用拉丁字符。)因此,我开始寻找一个合适的 Haskell 实现来实现这一点。
但是语言规范中在哪里指定了此功能?在寻找符合要求的实现时,我将如何引用此功能?(已知哪些 Haskell 实现实际上支持 Unicode 标识符?)
事实证明,一个 Haskell 实现确实接受了我的带有 Unicode 标识符的代码,而另一个没有接受它。如果有一种方法可以形式化我的代码的这种要求,我希望它可能以语言功能切换的形式,这样如果我或其他人尝试运行我的代码,就会立即清楚他的实现是否丢失所需的功能,因此他应该寻找另一个。(这个特性也可能有一个 wiki 页面——“Unicode 标识符”,它会列出哪些现有实现支持它,这样如果需要它,人们就会知道去哪里。)
(顺便说一句,我在这个问题上加了一个“语法”标签,但我实际上认为这是词法水平的问题,比语言的语法低。这里有一个标签来表示词法的特征一种语言的水平,而不是一种语言的语法规范的特征?)
c# - C# 语言规范“程序实例化”似乎被错误识别
在 C# 语言规范中,程序被定义为
对编译器的输入进行编程。
虽然应用程序被定义为
应用具有入口点的程序集
但是,他们定义
程序实例化——应用程序的执行。
鉴于“程序”的定义,这不应该是......
应用程序实例化——应用程序的执行。
反而?
c# - C# 规范(团队?委员会?)是否考虑过这种对象创建语法?
我以前从未发布过这种性质的问题,所以如果它不适合 SO,请不要伤害我的感情,我会删除它。
为了让我关心的所有内容尽可能靠近左边距,我一直希望我能写出类似的东西:
我认为另一个原因是我喜欢当类型已经存在于作业右侧时使用 var 获得的额外屏幕空间,但是我的大脑已经花费了太多年时间来寻找左侧的类型。再说一次,被困在我的方式并不是希望获得规范的好理由......