浅谈计算机语言

 我来答
完满且闲雅灬抹香鲸P
2022-07-18 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:70.6万
展开全部
语言,直观来说,就是用来说,用来听,用来读。

语言都有一定的结构! 从大的方面来说, 分为 单词、语法、语义。

不同的单词组成了句子,句子的组成有一定的规则,这就是语法。 每个句子都有其具体的含义, 这就是语义。

最简单的语法就是: 主-谓-宾。如:汉语中:“我爱你”,英语中:“I love you”, 都遵循这个语法规则。

那么语义是什么呢?

“苹果爱橘子” 和 “我爱你” 有一样的语法结构,都是 :主-谓-宾。

但是 “苹果爱橘子” ,这句话有点难以理解, 苹果怎么会爱橘子呢? 这句话的语义就不对了, 所以不能被理解!

上面说的是自然语言。计算机语言,当然也是属于语言范畴。

既然是语言,也必定遵循一定的结构: 单词,语法,语义。只是这个语言是为计算机服务的,能够被计算机理解并且执行。

对于计算机语言来说,最基本的单词就是 关键字、标识符、字符串、数字、运算符。

if else, while 是最常见的关键字。

+、-、*、/ 是最基本的运算符。

变量名、函数名、类名,是最基本的标识符。

每个语言都有独特的语法。 如 while, if else, 函数的定义、类的定义, 不同的语言,就有不同的语法。

除了语法,当然还得识别语义。 如 遇到了while, 就知道这是循环; 遇到了 if else, 就知道这是条件判断, 这些需要通过语义分析才知道。

说了这么多,其实就是想说明,五花八门的语言 ,它们都有一定的规律,有规律的语言才能为计算机所用。 所以是否有一套通用的语法规则,可以去定义一门语言呢?当然了, 上下文无关文法就可以用于定义目前所有的计算机语言。

上下文无关文法是由语言学家 Chromsky 提出的, 后面就被运用于计算机语言的设计了。 上下文无关文法只是属于Chromsky语法框架里的一种而已。 在他的语法框架中有四种四种语法:3型语法、 2型语法、1型语法、0型语法, 这四种语法的表达能力逐渐增强。其中3型语法就是所说的正则表达式。 说到正则表达式, 就要联系到有限自动机,正则表达式是等价于有限自动机的, 当然这不在本次讨论范围之内。 从这个里也看出,学科之间存在普遍的联系, 语言学家提出的语法框架竟然能被计算机所用, 并且广泛的应用于编译原理, 自动机理论。

所以计算机语言是有一套理论基础的, 这个理论基础就包括上面提及的上下文无关文法和正则表达式 以及 自动机理论。

一门语言要被计算机所用,计算机就得理解这门语言。 怎么理解呢?当然是直接从语言的结构展开。前面说了, 语言都存在基本的结构, 即: 词法、语法、语义。

那么计算机要理解语言,当然就得从 词法分析, 语法分析,和语义分析展开, 这属于编译原理的范畴了。

词法分析,就是分析单词。 把语言中的单词抽取出来,并且忽略无关的信息。 注释、 空格就是无关的信息。 字符串、数字、标识符、关键字, 这些单词需要靠词法分析程序去识别。

那怎么分析呢? 正则表达式非常适用于定义单词,如 最常见的手机号码,就可以用正则表达式来表达。 所以可以用正则表达式做词法分析。正则表达式的背后实现逻辑是可以基于自动机的。

目前的计算机语言的语法都可由上下文无关文法表达。定义好语法之后, 就要基于语法分析程序去判断语法是否正确, 并且生成一棵语法树。

计算机语言和自然语言一样, 遵循一样的语言结构。基于语言结构展开,用正则表达式去表达单词,用上下文无关文法去表达语法。而正则表达式和上下文无关文法都是由语言学家Chromsky发明的。定义好单词和语法之后,计算机还得理解该语言,通过词法分析, 语法分析和语义分析, 该语言才能被计算机理解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式