你的位置:首页 > 软件开发 > Java > Atitit.编程语言and自然语言的比较and编程语言未来的发展

Atitit.编程语言and自然语言的比较and编程语言未来的发展

发布时间:2016-03-11 21:00:06
Atitit.编程语言and 自然语言的比较and 编程语言未来的发展 1. 单词的间隔靠空格,编程的单词的间隔靠分界符..12. 语句分界符:自然语言使用逗号,编程语言使用分号13. 换行14. 段落and fun method25. ...

Atitit.编程语言and 自然语言的比较and 编程语言未来的发展

 

1. 单词的间隔靠空格,编程的单词的间隔靠分界符..1

2. 语句分界符:自然语言使用逗号,编程语言使用分号1

3. 换行1

4. 段落and  fun method2

5. 上下文相关2

6. 操作泛型化2

7. 动词和名词之间的互换性2

8. 词类的判断3

8.1.1. 词类划分的形式标志3

8.1.2. 自然语言中的指代词(你、我、他、它等等)好比编程语言中的“指针(point)”。4

8.2. 这类疑问句似乎在编程语言 是包括函数在内的“表达式”。4

8.3. 语句分析的“终极”在哪里?4

9. 词法检查4

10. 句法检查5

11. 一个类型系统。  自然语言中常用’token',编程语言常用‘instance’。5

12. ref6

 

1. 单词的间隔靠空格,编程的单词的间隔靠分界符..

括号 逗号  stop 句号

2. 语句分界符:自然语言使用逗号,编程语言使用分号

3. 换行

自然语言很少的中间做..编程语言很多中个..

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

4. 段落and  fun method

编程靠fun method来定义段落..

5. 上下文相关

编程语言跟个自然语言都是上下文相关的..业务角度...

技术上的ast绝大部分还是上下文无相关的.

6. 操作泛型化

自然语言中存在一些“ 泛义动词 ” ,例如汉语中的“打” , “搞” , “干”„„, 英语中的“ get ” , “ take ”等。它们的进一步的具体含义要由这些动词所涉及 的对象来确定。例如: “打毛衣”中的“打”应理解为“编织” ,   “打篮球” 中的“打”应理解为“玩” ,   “打开水”中的“打”应理解为“取得” ,等 等。  

l

 

在面向对

在面向对象的编程语言中,也有类似的“动态绑定(Dynamic Binding)”机 制:一个函数名或者子程序名字的具体含义要在“运行时”依据所涉及对象在当时的指的类型来决定

 

数据:常数、变量名。它们对应于自然语言中的名词。  

l 其他:起连接作用、用来表述token 之间的关系的符号,例如if, then等等。 它们对应于自然语言中的连接词、感叹词等等

 

7. 动词和名词之间的互换性 

 在自然语言中,有一个引人瞩目的现象,那就是“名词和动词之间的呼唤性”。这是因为,“词”或者token是用来表达“概念”的,而一个概念往往有多种侧面。所以自然语言中常常出现用同一个“符号”来表达不同的侧面的现象。举例来说:  “钉”本来是名词,但是可以转化,作为动词来使用:我把画钉在墙上

 

函数十编程走十中个.不个fun trans as data..

 

8. 词类的判断

从语法分析的角度看,对词或 token 进行分类的依据是它的语**能。从语言使用者的角度看,则是他们的使用方式。因此如何对词或 token所属类别进行判断乃是一件至关重要的事情。

不管在自然语言中,还是在编程语言中,判断一个词或者 token 的类别的办法基本上是两种:词典 和 词本身所携带的形态标志。

 

词典中提供的信息

在编程语言中,为判断一个 token 的类别而提供的“词典”有两种:

1. 一种是语言中“先验地”规定好了的外部词典。例如关键字和一些保留字。

2. 另外一种是编程人员(用户)临时定义的内部词典,这就是程序中的 declaration.

8.1.1. 词类划分的形式标志

如果能够从词或 token的外形(形式上的)特征就能判断出他是属于哪一类,那么无论从“书写者撰写”的角度,还是从“阅读者理解”的角度,都能够大大减少出错的机会。

在某些编程语言(例如Visual Basic)中,如果一个变量没有在任何地方加以声明,也可以从变量名字的外形上看出它的类型。例如:名字以%结尾的变量是?整数?, 名字以&结尾的变量是?字符串?,名字以&结尾的变量是?浮点数?等等。

英语中,在某种程度上也有类似的机制,例如:以tion, ing 结尾的基本上是名词。以-lize 结尾的基本上是名词。以-ful 结尾的基本上是形容词。以-ly 结尾的大概是副词。

汉语使用方块字,没有办法添加尾缀,所以没有这样的形态标志。因此大家认为,这一现象给汉语的计算机处理增加了困难。不过话不能说得太绝对。在某些情况下,汉语还是有“形态标志”的。例如,在名词的前面加“很”“还”之类一般用来修饰形容词的副词,就是在“形态”上指出:后面的这个名词已经转化为“形容词”了。例子如:“同学们说我穿这条裙子很青春。”,“我们排演的这套节目还是很生活的。”, 

 

8.1.2. 自然语言中的指代词(你、我、他、它等等)好比编程语言中的“指针(point)”。

但是自然语言中从不明显地交待:从现在起,“他”表示“张三”,直到遇见新的声明为止。每一个具体的代词指向何方要根据句子域句子之间的前后语义来联系来判断

 

8.1. 这类疑问句似乎在编程语言 是包括函数在内的“表达式”。

8.2. 语句分析的“终极”在哪里?

计算机语言的编译器在分析计算机程序中的语句时,最终总是要分析到语法规则中所规定的“终极符(terminator)”为止。

 

9. 词法检查

从词法的角度,语素和语素合成单词是有一定规则的。例如中文的‘碧’字,作为一个语素,和其它语素结合成单词时有一个限制条件,必须是单音语素。如:碧空,碧蓝,碧绿;但是,碧天空,碧宝蓝等就不合法了。程序设计语言的单词(称作identifier,标识词)也有着类似的严格规定。例如,任何identifier必须以字母或下划线开头,像 bilan、 _blian等就是合法的identifier,而23bilan、@bilan就属于非法的。任何一个identifier中间不能有空格,否则非法

10. 句法检查

从句法的角度,有类似自然语言的条从句:if x < y then print x +y;从语义的角度,任何一个identifier都可以定义为不同的类型。例如 name可以代表‘张三’,age可以代表25

原标题:Atitit.编程语言and自然语言的比较and编程语言未来的发展

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录