编译原理编译原理编译原理 (2).ppt

上传人:刘静 文档编号:84314496 上传时间:2023-04-04 格式:PPT 页数:23 大小:1.42MB
返回 下载 相关 举报
编译原理编译原理编译原理 (2).ppt_第1页
第1页 / 共23页
编译原理编译原理编译原理 (2).ppt_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《编译原理编译原理编译原理 (2).ppt》由会员分享,可在线阅读,更多相关《编译原理编译原理编译原理 (2).ppt(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Chapter 1 Chapter 1 Introduction Introduction by the end of the lesson students will be able to make sure the mainframe of the compiler constructiontell the features of the problem computer can solveCompilerS2ObjectivesObjectivesCompilers are computer programs that translate one language to another.

2、Very complex program from 10,000 to 1,000,000 lines of code.Its input is a program written in its source language.Usually,the source language is a high-level language(C,C+,etc).It produces an equivalent program written in its target language.The target language is object code(machine code)for the ta

3、rget machine.CompilerS3CompilersCompilersA person who knows and uses two languages.In everyday use the word bilingual usually means a person who speaks,reads,or understands two languages equally well(a balanced bilingual),but a bilingual person usually has a better knowledge of one language than of

4、the other.CompilerS4BilingualBilingualEnglishSource languageCompilerS5CompilersCompilers一个能运用两种语言的人。一个能运用两种语言的人。在他的日常生活中能将一门外语和本族语基本等在他的日常生活中能将一门外语和本族语基本等同地运用于听、说、读、写,当然他的母语语言同地运用于听、说、读、写,当然他的母语语言知识和能力通常是大于第二语言的。知识和能力通常是大于第二语言的。CompilerS6双语双语ChineseTarget languageAn interpreter is a language transla

5、tor like a compiler.The difference:the source program is executed immediately,not after translation is complete.CompilerS7Interpreters Interpreters The use of a second or foreign language in school for the teaching of content subjects.The use of the childs home language when the child enters school

6、but later a gradual change to the use of the school language for teaching some subjects and the home language for teaching others.This is sometimes called maintenance bilingual education.CompilerS8Bilingual educationBilingual educationEnglishSource languageThe use of a second or foreign language in

7、school for the teaching of content subjects.The use of the childs home language when the child enters school but later a gradual change to the use of the school language for teaching some subjects and the home language for teaching others.This is sometimes called maintenance bilingual education.Comp

8、ilerS9Bilingual educationBilingual educationThe use of a second or foreign language in school for the teaching of content subjects.能在学校里使用第二语言或外语进行各门学科的教学。能在学校里使用第二语言或外语进行各门学科的教学。The use of the childs home language when the child enters school 学生刚进入学校时使用本族语学生刚进入学校时使用本族语but later a gradual change to

9、the use of the school language for teaching some subjects 然后逐渐地使用第二语言进行部分学科的教学然后逐渐地使用第二语言进行部分学科的教学and the home language for teaching others.其它学科仍使用母语教学其它学科仍使用母语教学This is sometimes called maintenance bilingual education.这种模式称之为:保持型双语教学。这种模式称之为:保持型双语教学。CompilerS10Bilingual educationBilingual education

10、Chinese?Target language?An interpreter is a language translator like a compiler.The difference:the source program is executed immediately,not after translation is complete.Programming language can be either interpreted or compiled.Interpreted languages:BASIC,LISP,JavaCompiled languages:FORTRAN,C,C+.

11、Interpreters share many operations with compilers.CompilerS11Interpreters Interpreters Initially,the programs were written in machine language numeric codes that represented the actual machine operations to be performed.C7 06 0000 0002 moves number 2 to the location 0000.Writing such codes is time c

12、onsuming and tedious.CompilerS12Machine Language Machine Language In assembly language instructions and memory locations are given symbolic forms.MOV X,2An assembler translates the symbolic codes and memory locations into corresponding numeric codes.Advantages:Great improvement in speed and accuracy

13、 of writing programs.Still used today.Disadvantages:Still not easy to write and difficult to read and understand.Machine dependent.CompilerS13Assembly LanguageAssembly LanguageNearly resembles mathematical notation or natural language.Independent on any particular machine.Capable of being translated

14、 into executable codeX=2Need a program that performs translation.Is it possible?Is generated object code efficient?CompilerS14High-level LanguagesHigh-level LanguagesNoam Chomskys study of the structure of natural languages.Classification of languages according to the complexity of their grammars an

15、d the algorithms to recognize them.Context-free grammars are the most useful for programming languages Study of the parsing problem,which become a standard part of compiler theory.Study of finite automata and regular expressions.Led to symbolic methods for expressing the structure of words of a prog

16、ramming languageOptimization techniques(code improvement techniques).CompilerS15Theoretical FoundationsTheoretical FoundationsWhat machine-independent optimizations are applicable to the following example?CompilerS16A Code Optimization ExampleA Code Optimization ExampleCompilerS17A Code Optimization

17、 Example:ResultA Code Optimization Example:ResultCompilers are computer programs that translate one language to another.Very complex program from 10,000 to 1,000,000 lines of code.Its input is a program written in its source language.It produces an equivalent program written in its target language.C

18、ompilerS18CompilersCompilersIf you wanna translate English into Chinese,how many steps will you follow?And what are they?The left sideOn the other hand,when you translate a Chinese sentence into an English one,what are you going to do?The right side Step by step,tell me the steps.CompilerS19Discussi

19、on 1Discussion 1CompilerS20Push the elephant into the refrigeratorPush the elephant into the refrigeratorGO!CompilerS21Translation ProcessTranslation ProcessThis is a book.Step 1:lexical analysisThis/is/a/book/.Step 2:syntax analysisThis subjectis predicatea quantifierbook object.endStep 3:semantic

20、analysisThis pronoun 这is copula 是a numeral 一book noun 书.period 。Step 4:This is a book.Step 5:这是一书。Step 6:这是一本书。CompilerS22Translation ProcessTranslation ProcessScannerParserSemantic AnalyzerSource Code OptimizerCode GeneratorTarget Code OptimizerSource CodeLiteral TableSymbol TableError Handler123456Target CodeCompilerS23Translation ProcessTranslation ProcessScannerParserSemantic AnalyzerSource Code OptimizerCode GeneratorTarget Code OptimizerSource CodeLiteral TableSymbol TableError Handler1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com