AnIntroductiontoCompilerConstruction编译程式制作.pptVIP

AnIntroductiontoCompilerConstruction编译程式制作.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
An Introduction to Compiler Construction 編譯程式製作 陳日昌 Spring 2009 Contents 內容綱要 What is a “compiler?” (1 week) Overview of compiler construction (3 wks) Cygwin/Unix developing environment (1 week) Assembler (3wks) – Flex, Bison, Assembler A compiler mini-project (4 wks) Why learn this? 我可以獲得什麼? Satisfying your curiosity about what’s “under the hood” in tools like gcc or javac 程式語言設計的概念 系統軟體開發的基本技術知識 研究所預修(大多數資工研究所課程) 台灣IC Design業界需要(但是…) Prerequisites 預修與要件 C/C++ programming language Pointers, structures, etc. Assembly languages (x86 or similar ISA) Data structures 基本的資料結構知識 Linked lists, trees, etc. Syllabus 授課規定 時間:每週三小時 Textbook 課本:講義與Internet #1作業就是考試題目 #2小計劃 #3 Quiz 課堂時間規定:請尊重他人權益 Office Hour與聯絡 jctan@.tw Subject: [Compiler4J]主題 (四真) Subject: [Compiler4S]主題 (四善) 經典教課書 Compilers: Principles, Techniques and Tools (Dragon book) - Aho, Sethi and Ullman 恐龍書 不用屠龍寶刀 Grading 作業與考試評分 #1 40 pts, #2 40 pts, #3 20-30 pts 全部上機實作考試 Open book and notes No discussion, no communication (獨立作業) As many make-ups as I can 作弊?老規矩 當掉!沒有補考或補救方法 依照校規處理 Questions? 歡迎提問 What is a “Compiler?” 什麼是「編譯程式」? A Compiler Is.. A language processor 語言處理器 that takes a high-level language input 「高階」程式語言如C/C++,Java and converts it into a low-level language... 「低階」程式語言:組合語言 Why do we need it? 古典答案是:機器很快,但是很「笨」 指令精簡?結構精簡?執行速度快 “Compilation” – 編譯 Is a process of recognizing the source code, 辨識原始碼 analyzing the structures, 分析程式結構 generating the instructions, 產生指令 optimizing it, 最佳化 and producing an executable file. 產生物件或執行檔案 Compilers are your old friends gcc - GNU C/C++ Compiler javac – Java Compiler MySQL SQL Interpreter (直譯器)也是一種編譯器,但是它不輸出執行檔,而是直接執行指令 Bash – 如果你也使用Unix, Linux或Cygwin這些環境 族繁不及備載 (文字形式的指令處理) Compiler construction is based on important techniques String/stream processing automata – 處理字串的自動機 除了文字辨認之外,幾乎所有連續的離散訊號(signals)、訊息(messages)或事件(events)處理,都可以用自動機的模型加以描述(modeling)。例如,網路協定HTTP/TCP/IP,或是手機操作介面。 An Example 程式 mr += 40; printf(“%d”,3+mr); 辨認‘mr’, ‘+=’, ‘40’, 等符號 小算盤 ‘4’ ‘0’ ‘M+’ ‘3’

文档评论(0)

676200 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档