《Linux C编程一站式学习》——自然语言和形式语言

Ⅰ         C语言入门

第 1 章 程序的基本概念

2. 自然语言和形式语言

1)自然语言(Natural Language):人类讲的语言,不是人为设计(虽有人试图强加规则)而是自然进化

2)形式语言(Formal Language):为特定应用而人为设计的语言

        (1)形式语言有严格的语法(Syntax)
规则

        (2)语法规则是由符号(Token)
结构(Structure)
的规则所组成

        (3)符号相当于自然语言中单词和标点、数学式中数和运算符、化学分子式中元素名和数字,结构是指符号的排列方式

        (4)关于符号的规则称为词法(Lexical)
规则
,关于结构的规则称为语法(Grammar)
规则

        (5)编程语言是专门设计用来表达计算过程的形式语言

3)解析(Parse):分析句子结构的过程

        (1)当阅读自然语言的句子或形式语言的语句时,你不仅要搞清每个词(符号)意思,且必须搞清整个句子结构

        (2)当你听到“The other shoe fell.”时,你理解the other shoe是主语而fell是谓语动词,一旦解析完成,你就懂了句子意思,若知shoe、fall含义,结合上下文(Context)
,你还能理解主要暗示的内容,这些都属于语义(Semantic)
范畴

4)形式语言和自然语言的区别:

        (1)歧义性(Ambiguity)

                (a)自然语言充满歧义,人们通过上下文的线索和自己的常识来解决这个问题

                (b)形式语言是清晰的、毫无歧义的,语句都须有确切含义而不管上下文如何

        (2)冗余性(Redundancy)

                (a)自然语言引入了相当多的冗余来消除歧义减少误解,经常显得啰里啰嗦

                (b)形式语言更加紧凑,极少有冗余

        (3)与字面意思的一致性

                (a)自然语言充斥着成语和隐喻(Metaphor)

                (b)形式语言中字面(Literal)
意思基本上就是真实意思,也有例外,如C语言转义序列,但例外的也会明确规定哪些字面意思不是真实意思,其真实意思又是什么

5)形式语言和自然语言的不同像诗歌和说明文的区别(前者间的区别比后者更明显)

        (1)诗歌

                词语的发音和意思一样重要,全诗作为一个整体创造出一种效果或表达一种感情,歧义和非字面意思不仅常见而且是刻意使用

        (2)说明文

                词语字面意思显得更重要,且结构能传达更多信息。诗歌只能看一个整体,而说明文更适合逐字句分析,但仍充满歧义  

        (3)程序

                计算机程序是毫无歧义的,字面和本意高度一致,能完全通过对符号和结构的分析加以理解

6)关于阅读程序(包括其它形式语言)的建议:

        (1)形式语言远比自然语言紧凑,故要多花点时间读

        (2)结构很重要,应学会在大脑里解析:识别符号,分解结构,只从上到下从左到右读不好

        (3)注重细节,自然语言中可忽略的小毛病如拼写、标点错误,会把形式语言搞得面目全非

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值