原创 自己動手寫編譯器、鏈接器-第五章

《自己動手寫編譯器、鏈接器》 第5章SC語言語法分析87 5.1外部定義87 5.1.1翻譯單元87 5.1.2外部聲明88 5.1.3類型區分符90 5.1.4結構區分符92 5.1.5函數調用約定95 5.1.6結構成員對齊95 5

原创 自己動手寫編譯器、鏈接器-第二章

《自己動手寫編譯器、鏈接器》 第2章文法知識10 2.1語言概述10 2.2形式語言11 2.2.1字母表和符號串11 2.2.2文法與語言的形式定義12 2.2.3文法與語言的類型13 2.2.4程序設計語言描述工具15 2.3詞法分

原创 爲什麼學寫編譯器

比爾.蓋茨用親身經歷啓迪廣大程序員:編寫BASIC編譯器的技術積澱對其事業成功很重要,其輝煌的人生履歷從此開始。 有位讀者問作者:學會了寫編譯器能賺多少錢? 作者回答:編譯器編寫是練內功,打基礎,通過實戰完成技術積澱的過程。技術積澱+機遇

原创 自己動手寫編譯器、鏈接器-第四章

《自己動手寫編譯器、鏈接器》 第4章SC語言詞法分析52 4.1詞法分析任務的官方說法52 4.2單詞編碼53 4.3詞法分析用到的數據結構55 4.3.1動態字符串56 4.3.2動態數組58 4.3.3哈希表61 4.3.4單詞表6

原创 自己動手寫編譯器、鏈接器致謝

《自己動手寫編譯器、鏈接器》 本書投稿後,有幸請CSDN暨《程序員》雜誌總編、劉江老師閱讀了本書的初稿,併爲本書作序,在此向劉老師表示最衷心的感謝。 本書臨近出版之際,承蒙清華大學王生原老師閱讀了本書終稿,並對書稿做了中肯評價: “本

原创 自己動手寫編譯器、鏈接器

編譯原理與技術的一整套理論在整個計算機科學領域佔有相當重要的地位,學習它對程序設計人員有很大的幫助。我們考究歷史會發現那些人人稱頌的程序設計大師都是

原创 自己動手寫編譯器、鏈接器-第一章

《自己動手寫編譯器、鏈接器》 第1章引言1 1.1HelloWorld編譯過程分析1 1.1.1HelloWorld程序源文件1 1.1.2詞法分析2 1.1.3語法分析3 1.1.4語義分析3 1.1.5鏈接器4 1.2SCC編譯器簡

原创 自己動手寫編譯器、鏈接器-第三章

《自己動手寫編譯器、鏈接器》 第3章 SC語言定義 3.1SC語言的藍本選擇26 3.1.1K&R C26 3.1.2C8926 3.1.3C9927 3.2SC語言對C89簡化原則27 3.3SC語言的字符集27 3.3.1基本字符集

原创 自己動手寫編譯器、鏈接器章節劃分

《自己動手寫編譯器、鏈接器》章節劃分: 第 1 章 引言  第 2 章 文法知識 第 3 章 SC 語言定義  第 4 章 SC 語言詞法分析 第 5 章 SC 語言語法分析  第 6 章 符號表 第 7 章 生成 COFF 目標文件

原创 編譯實戰視頻教程-王博俊-專題視頻課程

編譯實戰視頻教程—36588人已學習 課程介紹        本課程講授一個真實編譯器、鏈接器的完整開發過程。編寫編譯器用到的知識之廣是編寫一般程序所無法比擬的,將綜合運用編譯原理,數據結構與算法,Intel x86彙編語言、機器語言,目

原创 Lex與Yacc

http://www.ibm.com/developerworks/cn/linux/sdk/lex/ Lex 和 Yacc 是 UNIX 兩個非常重要的、功能強大的工具。事實上,如果你熟練掌握 Lex 和 Yacc 的話,它們的強

原创 Antlr 簡介

Antlr 是一個基於 Java 開發的功能強大的語言識別工具,Antlr 以其簡介的語法和高速的運行效率在這類工具中出類拔萃。當你需要開發一種領域語言時,語言可能像 Excel 中的公式一樣複雜,也可能像本文中的例子一樣簡單(只有算

原创 C語言詞法及語法定義-ANTLR

https://raw.githubusercontent.com/antlr/examples-v3/master/C/C/C.g /** ANSI C ANTLR v3 grammar Adapted for C output t

原创 常用的字符串哈希函數

/* A Simple Hash Function */   unsigned int Simple_hash(char *str)   {       register unsigned int hash;       registe

原创 C語言詞法及語法定義-Lex,Yacc

ANSI C grammar, Lex specification In 1985, Jeff Lee published this Lex specificationtogether with aYaccgrammar for the