中国高校课件下载中心 》 教学资源 》 大学文库

清华大学:《编译原理》课程教学资源_(英文译文)Chapter 1.1 Why? A Brief History

文档信息
资源类别:文库
文档格式:PPT
文档页数:68
文件大小:318.5KB
团购合买:点击进入团购
内容简介
Why Compiler Writing machine language-numeric codes is time consuming and tedious
刷新页面文档预览

COMPILER CONSTRUCTION Principles and practice Kenneth C. louden San Jose state university

COMPILER CONSTRUCTION Principles and Practice Kenneth C. Louden San Jose State University

Content INTRODUCTION 2. SCANNING 3. CONTEXT-FREE GRMMARS AND PARSING 4. TOP-DOWN PARSING 5. BOTTOM-UP PARSING 6. SEMANTIC ANALYSIS 7. RUNTIME ENVIRONMENT 8. CODE GENERATION

Content 1. INTRODUCTION 2. SCANNING 3. CONTEXT-FREE GRMMARS AND PARSING 4. TOP-DOWN PARSING 5. BOTTOM-UP PARSING 6. SEMANTIC ANALYSIS 7. RUNTIME ENVIRONMENT 8. CODE GENERATION

1 INTRODUCTION

1. INTRODUCTION

What is a compiler A computer program translates one language to another Source→ Compil Target er Program Program a compiler is a complex program From 10.000 to 1.000.000 lines of codes Compilers are used in many forms of computing Command interpreters, interface programs

What is a compiler? • A computer program translates one language to another • A compiler is a complex program • From 10,000 to 1,000,000 lines of codes • Compilers are used in many forms of computing • Command interpreters, interface programs Compiler Source Program Target Program

What is the purpose of this text This text is to provide basic knowledge Theoretical techniques, such as automata theory This text is to give necessary tools and practical experience A series of simple examples TINY C-Minus

What is the purpose of this text • This text is to provide basic knowledge – Theoretical techniques, such as automata theory • This text is to give necessary tools and practical experience – A series of simple examples – TINY, C-Minus

Main Topics 1. 1 Why Compilers? A Brief History Openl 1.2 Programs related to Compilers open 1.3 The Translation Process Openl 1. 4 Major Data Structures in a Compiler Open 1.5 Other Issues in Compiler Structure Open 1.6 Bootstrapping and porting open 1. 7 The TINY Sample language and compiler Open 1. 8 C-Minus: A Language for a Compiler project Open

Main Topics 1.1 Why Compilers? A Brief History [Open] 1.2 Programs Related to Compilers [Open] 1.3 The Translation Process [Open] 1.4 Major Data Structures in a Compiler [Open] 1.5 Other Issues in Compiler Structure [Open] 1.6 Bootstrapping and Porting [Open] 1.7 The TINY Sample Language and Compiler [Open] 1.8 C-Minus: A Language for a Compiler Project [Open]

1. 1 Why? A Brief history

1.1 Why? A Brief History

Why Compiler Writing machine language-numeric codes is time consuming and tedious C70600000002 MoV 2 X=2 The assembly language has a number of defects not easy to write Difficult to read and understand

Why Compiler • Writing machine language-numeric codes is time consuming and tedious C7 06 0000 0002 Mov x, 2 X=2 • The assembly language has a number of defects – Not easy to write – Difficult to read and understand

Brief history of compiler The first compiler was developed between 1954 and 1957 The FORTRaN language and its compiler by a team at IBM led by John Backus The structure of natural language was studied at about the same time by noam Chomsky

Brief History of Compiler • The first compiler was developed between 1954 and 1957 – The FORTRAN language and its compiler by a team at IBM led by John Backus – The structure of natural language was studied at about the same time by Noam Chomsky

Brief history of Compiler The related theories and algorithms in the 1960s and 1970s The classification of language: Chomsky hierarchy he parsing problem was pursued Context-free language. parsing algorithms The symbolic methods for expressing the structure of the words of a programming language Finite automata, Regular expressions Methods have been developed for generating efficient object code Optimization techniques or code, improvement techniques

Brief History of Compiler • The related theories and algorithms in the 1960s and 1970s – The classification of language: Chomsky hierarchy – The parsing problem was pursued: • Context-free language, parsing algorithms – The symbolic methods for expressing the structure of the words of a programming language: • Finite automata, Regular expressions – Methods have been developed for generating efficient object code: • Optimization techniques or code, improvement techniques

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档