How compiler works
来源:互联网 发布:parsley.js 手册 编辑:程序博客网 时间:2024/06/06 06:28
How compiler works is not easy to explain in one sentence. The best way is to use an example.
A compiler is a computer program that transforms source code written in a high-level programming language into a lower level language.
Basically, a compiler consists the following phases: Lexical Analysis, Syntax Analysis, Semantic Analysis, IR Generation, IR Optimization, Code Generation, Optimization.
Given a sample program:
The following shows the output of each phase.
1. Lexical Analysis
Convert a program into sequence of of tokens.
2. Syntax Analysis
Recover the structure described by using series of tokens from previous scanner.
3. Semantic Analysis
Ensures program has a well-defined meaning.
4. IR Generation
5. IR Optimization
6. Code Generation
7. Optimization
I was thinking to draw a diagram which can clearly show how a compiler works. However, I found the diagram in the dragon book is very good, no more diagram work is necessary anymore.
I still want to make a small compiler which compiles a simple one function from start to end. Will do some research and possibly figure out a good solution for clear demonstration.
References:
1. Standford Compiler Lecture
2. Dragon Book
- How Compiler Works?
- How compiler works
- 【编译原理】How Compiler Works?
- How the web-tier compiler works
- How Internet EDI Works
- How E-mail Works
- How E-mail Works
- How Google Works
- How DES works
- How Google Works
- How Google Map Works
- How NAT Works
- How 4GT Works
- How PAE X86 Works
- How Digital Photography Works
- How Tomcat Works 1
- How Tomcat Works 2
- Books - How Tomcat works
- poj 3660 Cow Contest
- poj 3553 Task schedule
- C++ 简单实现HTTP GET/POST 请求
- poj 2488 A Knight's Journey
- 问题集2
- How compiler works
- AjaxPro版自动完成(Autocomplete)功能实现
- Silverlight访问页面dom元素
- DDL 数据定义语言
- 日期控件WdatePicker
- DML 数据操纵语言
- 给你的程序员200美元/小时
- Android TextWatcher监控EditText中的输入内容并限制其输入字符个数
- 数据类型