Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 为什么我们在计算机语言中使用术语语法而不是术语语法_Parsing_Language Agnostic - Fatal编程技术网

Parsing 为什么我们在计算机语言中使用术语语法而不是术语语法

Parsing 为什么我们在计算机语言中使用术语语法而不是术语语法,parsing,language-agnostic,Parsing,Language Agnostic,我对这个词的语法和语法感到困惑。对于计算机语言,我们总是使用单词语法来描述词序,而不是单词语法,这是有原因的吗?因为一种语言只有“一个”语法(它将接受的字符串集),而且可能有很多语法,即使我们排除了琐碎的变体 如果您考虑一下短语“语言语法允许东西”,这一点可能会更清楚。这个短语独立于任何可能用来描述语法的语法。这个术语来自语言学领域。在语言学中,句法是指构成句子的规则。语法是指语言规则之间的关系 语法实际上涵盖了,和。词法是关于如何修改单词以增加含义或上下文的规则。音位学是关于单词发音的规则(反

我对这个词的语法和语法感到困惑。对于计算机语言,我们总是使用单词语法来描述词序,而不是单词语法,这是有原因的吗?

因为一种语言只有“一个”语法(它将接受的字符串集),而且可能有很多语法,即使我们排除了琐碎的变体

如果您考虑一下短语“语言语法允许东西”,这一点可能会更清楚。这个短语独立于任何可能用来描述语法的语法。

这个术语来自语言学领域。在语言学中,句法是指构成句子的规则。语法是指语言规则之间的关系

语法实际上涵盖了,和。词法是关于如何修改单词以增加含义或上下文的规则。音位学是关于单词发音的规则(反过来又决定了该语言的拼写)

那么,语言学的概念是如何被程序员采用的呢

如果你看看真正与计算相关的老论文和出版物,例如图灵关于可计算性(图灵机器)的开创性工作,甚至更老的,巴贝奇描述其分析引擎的出版物和Ada Lovelace关于编程的出版物,你会发现它们并没有将计算机程序称为语言。相反,它们只是被称为指令,或者,如果你想得到新奇的算法

诺姆·乔姆斯基(Noam Chomsky)将语言与编程联系在一起,这在一定程度上可能是主要原因

乔姆斯基在寻找一种研究语言和如何从句子中提取意义的新方法时,提出了“语言”的概念。他的想法是从能够处理一串“东西”(声音、字母、单词)的最简单系统开始:图灵机器,并将图灵机器的指令归类为0型语法。然后,他继续定义语法类型1、2和3(类型3是英语或斯瓦希里语等人类语言的语法),希望随着我们理解复杂性是如何引入的,我们最终会得到人类语言的解析器

大多数编程语言都是类型2。事实上,我们已经发现了类型0、1和2的解析器,其形式为语言解释程序和CPU设计


继承乔姆斯基的工作,我们在计算中定义“语法”是指符号如何排列以实现语言功能,“语法”是指语法规则的集合。

在谷歌上搜索了一下,发现有一种编程语言,我们今天可以识别为一种语言(需要编译器或汇编程序转换为机器指令)是在乔姆斯基之前发明的:。但是语言的发明者没有在他的编程语言中使用“语言”这个术语。他称之为“计划”