惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
雷峰网
雷峰网
Recent Announcements
Recent Announcements
WordPress大学
WordPress大学
The GitHub Blog
The GitHub Blog
博客园_首页
The Cloudflare Blog
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
S
SegmentFault 最新的问题
P
Proofpoint News Feed
Y
Y Combinator Blog
Jina AI
Jina AI
博客园 - 聂微东
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
F
Full Disclosure
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
T
Tailwind CSS Blog
J
Java Code Geeks
Vercel News
Vercel News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Blog of Author Tim Ferriss
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
W
WeLiveSecurity
PCI Perspectives
PCI Perspectives
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
宝玉的分享
宝玉的分享
IT之家
IT之家
Hacker News: Ask HN
Hacker News: Ask HN
The Register - Security
The Register - Security
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs

博客园 - Haozes

新Blog 拼写检查算法 Golang 版 Windbg 离线调试.Net 程序入门 (译)你必须知道的位运算技巧 Low Level Bit Hacks You Absolutely Must Know Windows 下 命令行增强工具 WPF Layout & Image异步加载 WPF Binding Validation 数据验证 WPF 实现Loading效果 推荐一个.NET 命令行参数Parser 库 常用开发工具介绍 使用.Net Memory Profiler 分析.Net程序内存泄露 使用Mdbg.exe 调试.Net 程序 WPF 多语言方案 .Net 2 Tip :捕获CSE和Thread.Timer与Thread.Sleep比较 使用CSharp Driver操作Mongodb介绍 使用Python操作MSSQL数据库. 运行.Net4.0程序是否要安装之前的.Net版本 javascript Disable <div> or other tag in Other Browser like FF,Chrome Delphi 无类型参数传递动态数组和静态数组
几篇文章了解编译原理
Haozes · 2012-07-07 · via 博客园 - Haozes

如果你是一个从来没有上过一节计算机课,半道出家的程序猿.像我一样,一定被各种计算机名词唬过,什么算法啦,编译原理啦.被唬过后的你去买过算法导论,虎书回去啃,结果啃的很辛苦,更苦逼的是中国人写的书,特别是大学的教材,看不懂那真不是你智商问题.  

   作为一个普通的应用程序开发人员,我相信大部分人都没有真正认真啃完过那些厚书,我始终觉得大学时候你不把妹,你在那啃算法,这种人是不是有病.毕业时候二十来岁,不去玩乐,天天在写字楼里盯着屏幕,只能是DIAO丝(我承认我是这种厮).哪怕像我这样马马虎虎啃过一些的,了解这些除了解惑,还真没用上过.平时做项目的时候,一个星期还在那哼唧哼唧编代码,什么界面效果也看不到,老大就彪了:"什么?!,搞到现在啥也看不到?!" 两星期功能没增加,界面没啥变化. "什么?这段时间你们在干啥?"

别人说啥你也不会相信,你天天在写js的时候用不上编译原理,非要花时间去折腾弄懂,那就推荐几篇文章,了解一下所谓的编译原理.让你节约一点时间去陪陪家人,锻炼一下身体,以免技术还不突出的时候,颈椎已经突出了.

Create a Language Compiler for the .NET Framework

http://msdn.microsoft.com/en-us/magazine/cc136756.aspx

如果你是.NET的程序猿,这篇文章就是为你准备的,这篇文章用C#实现了一个简单的语言然后最终生成IL代码.打印下来一共十几页,就这么点东西.所谓的词法分析(Lexer),语法分析器(Parser)生成AST(Abstract Syntax Tree)抽象语法树,到编译器后端都有了.你还需要知道什么.

Let's Build a Compiler

http://compilers.iecc.com/crenshaw/

这是一个物理学Phd 写的,写这些文章的时候,我出生没多久.搞物理的懂吧,完全的和我一样门外汉,所以一定很容易懂.代码是Pascal的.看了第一篇我都没多大兴趣看完这个了.

我这辈子很显然没机会,有机会也不会去写个毛编译器,哪怕是IronPython那种转换,生命是如此的短暂,却去Hacker这些玩意,那么还是可能会有需要写个转换器,那么看一点Antlr吧. 只要了解一点NBNF写个grammar,那玩意把你lexer,parser都生成好了,生成java,python,c#随你.

探索Antlr

http://dreamhead.blogbus.com/logs/10756716.html

Five minute introduction to ANTLR 3

http://www.antlr.org/wiki/display/ANTLR3/Five+minute+introduction+to+ANTLR+3

OK了,差不多了,好久没有全休过完整的双休日,去做个饭.