编译原理-2-形式语言与自动机-I.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理-2-形式语言与自动机-I

第二章 形式语言与自动机 Part I 形式语言 Part I 形式语言 程序设计语言 形式语言 符号和符号串 文法 推导及语法树 语言 语言?文法 文法限制 文法和语言分类 程序设计语言范型 命令式语言 函数式语言 基于规则的语言 面向对象的语言 英语句子 sentence – subject verb-phrase object subject – This | Computers | I verb-phrase – adverb verb | verb adverb – never verb – is | run | am | tell object – the noun | a noun | noun noun – university | world | cheese | lies This is a university. Computers run the world. I am the cheese. I never tell lies. 英语句子 sentence – subject verb-phrase object subject – This | Computers | I verb-phrase – adverb verb | verb adverb – never verb – is | run | am | tell object – the noun | a noun | noun noun – university | world | cheese | lies This is a university. Computers run the world. I am the cheese. I never tell lies. 语言概述 语言是由句子组成的集合,是由一组符号所构成的集合。 汉语--所有符合汉语语法的句子的全体 英语--所有符合英语语法的句子的全体 程序设计语言--所有该语言的程序的全体 每个句子构成的规律 研究语言 每个句子的含义 每个句子和使用者的关系 研究程序设计语言 每个程序构成的规律 每个程序的含义 每个程序和使用者的关系 语言研究的三个方面 语法 Syntax 语义 Semantics 语用 Pragmatics 语法 -- 表示构成语言句子的各个记号之间的组合规律 语义 -- 表示各个记号的特定含义。(各个记号和记号所表示的对象之间的关系) 语用 --表示在各个记号所出现的行为中,它们的来源、使用和影响。 每种语言具有两个可识别的特性,即语言的形式和该形式相关联的意义。 语言的实例若在语法上是正确的,其相关联的意义可以从两个观点来看,其一是该句子的创立者所想要表示的意义,另一是接收者所检验到的意义。这两个意义并非总是一样的,前者称为语言的语义,后者是其语用意义。幽默、双关语和谜语就是利用这两方面意义间的差异。 如果不考虑语义和语用,即只从语法这一侧面来看语言,这种意义下的语言称作形式语言。形式语言抽象地定义为一个数学系统。“形式”是指这样的事实:语言的所有规则只以什麽符号串能出现的方式来陈述。形式语言理论是对符号串集合的表示法、结构及其特性的研究,是程序设计语言语法分析研究的基础。 程序设计语言 一个程序设计语言是一个记号系统,包括:语法、语义和语用。 例如:赋值语句 x:=a+b*c 形式语言 形式化描述程序设计语言,包括其由哪些符号串构成,它们的表示、结构和特性。 符号和符号串 任何一种语言都是由该语言的基本符号组成的符号串集合。 符号和符号串 一些基本概念 字母表 符号 符号串(空符号串) 符号串集合 符号 一个抽象实体,我们不再形式地定义它(就象几何中的”点”一样).例如字母是符号,数字也是符号。 字母表 字母表是元素的非空有穷集合,我们把字母表中的元素称为符号,因此字母表也称为符号集。 不同的语言可以有不同的字母表,例如汉语的字母表中包括汉字、数字及标点符号等。PASCAL语言的字母表是由字母、数字、若干专用符号及BEGIN、IF之类的保留字组成。 符号串 由字母表中的符号组成的任何有穷序列称为符号串,例如00 11 10 是字母表? ={0,1}上的符号串. 字母表A={a,b,c}上的一些符号串有:a,b,c,ab,aaca。 在符号串中,符号的顺序是很重要的,符号串ab就不同于ba,abca和aabc也不同。 可以使用字母表示符号串,如x=STR表示“x是由符号S、T和R,并按此顺序组

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档