编程语言复杂性

Suu*_*aku 6 complexity-theory programming-languages

是否客观衡量编程语言在语法和语义方面的复杂性,而不是语言的复杂程度?

我读过许多主观评论但很少有严谨的分析.

Nic*_*kis 10

语言的BNF是一个粗略的衡量标准 - 只是为了品味:-)

几个例子,


Nor*_*sey 6

我不清楚复杂性在应用于编程语言时甚至是一个定义明确的术语.

如果"客观"是指"定量",你可以问这样的问题

  • 一个明确的语法有多大?

  • 工作yacc语法有多大?

由于几乎没有语言具有形式语义,因此很难进行任何定量研究.但你可以问

  • 相对于使用相同元语言(编写解释器的语言)的其他语言的解释器,语言最简单的解释器有多大?该度量与Kolmogorov复杂度有些相关.

除了好奇心之外,我不清楚这个问题是值得问的 - 很难想象有用的答案.


Mar*_*ade 4

看一下指称语义操作语义

指称语义是一种通过构造描述语言表达式含义的数学对象(称为指称)来形式化编程语言含义的方法。

编程语言的操作语义描述了如何将有效程序解释为计算步骤序列。这些序列就是程序的意义。在函数式程序的上下文中,终止序列的最后一步返回程序的值。(一般来说,单个程序可能有许多返回值,因为该程序可能是不确定性的,甚至对于确定性程序也可能有许多计算序列,因为语义可能无法准确指定什么操作序列到达该值。)