单个常量值是否被视为表达式?

时间:2017-12-19 14:12:13

标签: expression computer-science

在CSS问题上阅读this answer之后,我想知道:

在计算机科学中,单个恒定值是否被视为表达式?

换句话说,7px表达式是什么?那么7呢?

引用Wikipedia,强调我的:

  

编程语言中的表达式是一个或多个显式值,常量,变量,运算符和函数的组合,编程语言解释并计算产生另一个值。与数学表达式一样,这个过程称为评估。

引用MS Docs,强调我的:

  

表达式是一个或多个操作数零个或多个运算符的序列,可以评估到单个值object,方法或命名空间。表达式可以包含字面值[...]。

这两者似乎都表明值是表达式。然而,人们可能会争辩说,价值不会被评估,因为它只是一个价值,因此没有资格。

引用Techopedia,强调我的:

  

[...]在结构方面,专家指出表达本身至少需要一个“操作数”或值,并且必须有一个或多个运算符。 [...]

这表明即使x也没有资格作为表达,因为缺少一个或多个运算符

2 个答案:

答案 0 :(得分:2)

它取决于课程的确切定义,但在大多数定义中,表达式是递归定义的,常量是基础案例之一。所以,是的,字面值是表达式的特例。

您可以查看各种语言的语法,例如one for Python

如果您浏览语法,则会看到expr可以是atom,其中包含数字文字。当您考虑以下产品时,数字文字是Python表达式这一事实也很明显:

comparison: expr (comp_op expr)*

这是捕获像x < 7这样的表达式的制作,如果7不是有效表达式,则不会捕获这些表达式。

答案 1 :(得分:1)

  

在计算机科学中,是一个单一的,恒定的值被视为表达式吗?

完全取决于具体情况。例如,FORTRAN,BASIC和COBOL都有行号。这些是不是表达式的数值常量值。

在其他情境中(即使在这些语言中),数字常量可能是表达式。