Questions tagged «syntax»

语法是指一组规则,这些规则定义了如何用语言编写结构正确的程序。它显然不处理程序的含义或解释。

3
语法和语法有什么区别?
我了解语法和语义之间的区别- 语法:如何将符号组合以形成有效的表达式或语句。 语义:构成表达式或陈述的那些符号的含义。 但是语法是什么?例如:有时我听到人们说某些结构“在语法上是不正确的,但在语法上是正确的”。这是什么意思?

11
编程语言应该严格还是宽松?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 在Python和JavaScript中,分号是可选的。 在PHP中,围绕数组键的引号是可选的($_GET[key]vs $_GET['key']),尽管如果省略它们,则会首先使用该名称查找常量。它还允许2种不同样式的块(用冒号或大括号分隔)。 我现在正在创建一种编程语言,并且试图确定我应该做的严格程度。在很多情况下,多余的字符不是真正必要的,并且由于优先级的原因可以明确地解释,但我想知道是否仍应强制使用它们以鼓励一致性。 你怎么看? 好的,我的语言不是花哨的模板语言,而是编程语言。Haml和Django模板之间的一种交叉。打算与我的C#Web框架一起使用,并且应该具有很好的可扩展性。

6
是否可以设计一种没有语法错误的语言?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 换句话说,一种语言,其中每个可能的字符串都是有效的语法? 编辑:这是一个理论问题。 我对使用这种语言没有兴趣;我只是问是否有可能。 进一步编辑 我继续设计一种这样的语言。看到ErrorFree

8
为什么功能语言语法不更接近人类语言?
我对函数式编程感兴趣,因此决定与Haskell面对面。我的头很痛...但是我最终会得到...虽然我有一个好奇心,为什么语法如此神秘(缺少另一个词)? 是否有一个原因为什么它是不是更有表现力,更接近人类语言? 我知道FP擅长对数学概念进行建模,并且借用了一些简洁的表达方式,但它仍然不是数学……这是一种语言。


2
为什么PHP变量需要以美元符号开头?
我知道所有PHP变量都必须以美元符号开头(例如$someValue = 1),但是为什么会这样呢?为什么要做出这种设计选择? 我问的原因是我的女朋友问为什么当我提到PHP变量需要以美元符号开头时,我意识到我不知道为什么要选择这种语法。 有任何想法吗?
13 php  syntax 


1
“语法醋”是什么意思
我正在阅读《Groovy in Action,第二版》,并在一个脚注中找到了以下内容: Java将“语法醋”浇在这样的结构上,以阻止程序员使用它。 该术语syntax vinegar在这里意味着什么? 我之前从未听说过这个词,并在DuckDuckGo和Google上进行了搜索,但找不到含义。但是它已在多个地方使用。如果有人可以澄清该术语的含义以及它在编程语言中的应用,那就太好了。希望这构成一个有效的问题。找不到其他我可以问这个的stackexchange网站。
12 java  syntax  groovy 

8
学习makefile有多重要?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我主要是在业余爱好中从事C ++工作(我还在上学,因此没有一份真正的工作)。IDE为我生成了makefile,所以我想知道是否值得学习如何自己制作它们。我的意思是“值得学习”,我应该在继续学习c ++之前放弃所有东西并学习如何编写它们吗?学习它们真的很有必要吗?如果是这样,我应该了解它们(常规语法和理解它们的工作原理等)还是真正学习如何编写它们?
12 java  learning  c++  syntax  make 

5
编程语言的语法是否取决于其实现?
虽然,我的问题可能完全无关紧要,但是我已经感觉到大多数编程语言与其官方实现之间存在一种模式。 诸如Python,Lua等之类的解释(字节解释?)语言通常具有极其宽松和容易的语法,并且通常没有类型,或者不需要开发人员在源代码中显式地编写变量类型。 诸如C,C ++,Pascal等的编译语言通常具有严格的语法,通常具有类型,并且通常需要更多的代码/开发时间 像Java / C#这样的官方实现采用JIT编译的语言通常是上述两种语言之间的独特折衷,同时兼具两者的某些最佳功能。 某些更现代的已编译编程语言(例如D和Vala,以及Java的GNU GJC实现)可能是该规则的例外,并且类似于Java和C#等JIT编译语言的语法和功能。 我的第一个问题是,这真的相关吗?或者这仅仅是大多数解释语言具有简单语法的巧合,而JIT编译语言具有适度的语法和功能等。 其次,如果这不是巧合,那为什么呢?举例来说,如果您正在对JIT进行编译,则某些功能只能用编程语言来实现吗?

22
您知道哪些有用的替代控制结构?[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 SO上也有类似问题。 有时,当我们进行编程时,我们会发现某些特定的控制结构对我们非常有用,但是在我们的编程语言中并不能直接使用。 您认为哪些替代控制结构是组织计算的有用方法? 这里的目标是获得有关代码结构的新思考方式,以改善分块和推理。 您可以创建一个现在不可用的理想语法/语义,或者在现有的编程语言上引用一个鲜为人知的控件结构。 答案应该为新的编程语言或增强实际语言提供思路。 认为这是集思广益,所以发布您认为是疯狂的主意,但在某些情况下可行。 这是关于命令式编程的。

2
i,j = 1真的令人误解吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 关于在一个内衬中进行多个变量初始化的普遍争论是: 考虑例如int i,j = 1; 这可能会导致某些人错误地认为两个变量都已初始化 我们可以争辩说,某人应该足够了解他的语言的语法,不要对此有所误解。另一个说法可能是,随着开发人员学习了太多的语言,我们可能会在语言之间的特殊性之间犯错误。 但是对于这种非常特殊的情况,我想知道以下内容是否甚至存在一种语法i,j = 1初始化两个变量的语言? 如果不是,则该参数不适用。


5
一次性变量的惯用名称是什么?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 Velocity Template Language的set指令在左侧需要一个变量。这行不通。 #set ( $entries.add("d") ) 即使我没有用的返回值add("d"),我也必须将其分配给变量。 #set ( $x = $entries.add("d") ) 我想说明该变量是必需的,但我无意以后再使用它。是否有命名约定来仅存在于安抚编译器中的变量?
11 naming  syntax 

6
您如何看待这种新的if-then语法?
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我只是想在if-elif-else控件中添加一些非常酷的东西。 if condition: stuff() elif condition: otherstuff() then: stuff_that_applies_to_both() else: stuff_that_doesnt_aply_to_either() 因此,基本上then可以在其他条件以外的任何条件下运行a。您认为这有用吗?它类似于python的try-except-else。 我认为你们中的一些人正在确定一个非常初步的实施方案。该then块就像python else中一个try-except块中的块一样。我建议这样做的真正原因是针对此类情况。 m = {} if condition == '1': m['condition'] = condition elif condition2 == '3': m['condition2'] = condition2 elif condition3 == 'False': m['condition3'] = True then: run_test_that_relies_on_one_of_the_conditions_being_true() return m 如果then是,则该块的作用域为第一个else。因此嵌套效果很好。而且,如果您需要在if语句之前运行一个方法,则实际上与该用例无关。
11 syntax 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.