高级语言及其文法(一)
创始人
2024-06-03 22:10:06
0

目录

语言概述

单词(token)

语句(sentence)

程序(program)

语言(language)

基本定义

字母表(alphabet)

字母表的乘积

字母表的n次幂

字母表的闭包

句子 

出现(occurrence)


语言概述

单词(token)

按照一定规则由字符(character)组成的串。字符则是由大小写英文字符,各种运算符和分隔符组成的ASCII字符集。

语句(sentence)

或被称为句子。按照一定规则由单词组成的串。

程序(program)

按照一定规则由语句组成的串。

语言(language)

语句的集合。

基本定义

字母表(alphabet)

一个非空集合,字母表中的元素称为该字母表的一个字母(letter),或者字符(character)。

这个字母表和我们常说的ABCD...Z那个字母表不太一样。"0,1",“+,-,*,/"甚至是换行符"\n"都可以构成字母表,以下列出几个字母表作为例子。

{a,b,c,d,A,B,C,..,Z}

{0,1}

{+,-,*,/,!,&,=,<,>,\n,\t}

需要注意的是,字母表中的字符应满足整体性可辨认性(可理解为不可重复性)。

整体性是指假设现在有个字母表中有“\n",它属于单个字符,是不能被拆分为”\"和"n"的。

而可辨认性也很简单,就是一个字母表内不能出现相同的字母。比如{a,b,a}构成一个句子ab,你没法辨认区分出现的到底是第一个a还是第二个a。

字母表的乘积

直接两两相乘就行

{0,1} {0,1}={00,01,10,11}

需要注意的是字母表乘积不满足乘法交换律,例子如下

{a,b,c} {0,1}={a0,a1,b0,b1,c0,c1}

{0,1} {a,b,c}={0a,0b,0c,1a,1b,1c}

字母表的n次幂

\sum_{}^{}是一个字母表,它的n次幂递归定义为

\left\{\begin{matrix} \sum ^0={\varepsilon } & & \\ \sum^n=\sum^{n-1}\sum,n\geq1 & & \end{matrix}\right.

其中,\varepsilon是由\sum_{}^{}中的0个字符组成的。这个概念可以类比于集合里的空集\oslash。但{\varepsilon}并不是空集,因为实际上\varepsilon也算一个字符串,只不过\varepsilon是一个长度为0的空字符串。  

这个n代表什么呢?假设给个字母表{a,b,c},那么n=3就是字母表挑2个字符出来,然后两两组合(包括与它本身)的所有集合,即{aa,ab,ac,ba,bb,bc,ca,bc,cc}。也就是{a,b,c}与{a,b,c}相乘,这也符合它的定义。

字母表的闭包

闭包有两种,一种是正闭包,另一种是克林闭包(Kleene closure)。

以下是它们的定义

正闭包

\sum{}^+=\sum \cup \sum{}^2 \cup \sum{}^3 \cup ...

克林闭包

\sum{}^*=\sum{}^0 \cup \sum{}^+

克林闭包的字母表就比正闭包多了个\varepsilon,没了。举个例子就明白了

\\ \{0,1\}^+=\{0,1,00,01,10,11,000,001,010,......\}\\ \{0,1\}^*=\{\varepsilon ,0,1,00,01,10,11,000,001,010,......\}

句子 

又被称为字(word),行(line),串(string),字符行,字符串。

当给定一个字母表以及它的克林闭包时,x若属于它的克林闭包,那么x就被称为字母表上的一个句子。\varepsilon被称为字母表上的一个空句子(null)。比如在下面这个克林闭包中,01就是字母表上的一个句子。

\sum{}^*=\{\varepsilon ,0,1,00,01,...\}

出现(occurrence)

给定一个字母表,对于克林闭包中所有的x,y,当a属于字母表时,句子xay中的a称为a在该句子中的一个出现(occurrence)。(这里出现是作为一个名词来使用的,而不是作为动词使用。)

不难理解,还是上面那个字母表。从克林闭包中取出x,y。再从字母表中取出a。将xay组合在一起构成句子时,如果xay也属于克林闭包,那么有以下三种定义

1.当x=\varepsilon,a的这个出现为字符串xay的首字符,也就是”第一个出现是该字符串的第一个字符“。

2.当y=\varepsilon,a的这个出现为字符串xay的尾字符,也就是”第n个出现是该字符串的最后一个字符“。

3.如果a的某个出现是字符串xay的第n个字符,则y的首字符的这个出现是字符串的第n+1个字符。

\sum{}=\{0,1\}

\sum{}^*=\{\varepsilon ,0,1,00,01,...\}

定义三这话有点绕。比如x=001,y=110,a=0。xay=0010110。a的第三个出现是xay的第四个字符。y的首字符的出现就是字符串的第五个字符。那如果字母表是这种呢?

\sum{}=\{00,11\}

\sum{}^*=\{\varepsilon ,00,11,0011,1100,...\}

一样的,假设取x=0011,y=1100,a=00。xay=0011001100。a的第二个出现是xay的第三个字符“00”,y的首字符“11”仍然是字符串的第五个字符。

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...