计算机科学之编译器
文章平均质量分 56
ClassicWuHao
Research: Metamodel instance generation, UML/OCL, ATL, SAT/SMT Solvers, Metrics, Model Checking, Compiler.
展开
-
Infix->Postfix
词法分析,lexical analysis属Compiler的front end部分,infix到postfix只是其中很小的一部分。从infix转postfix的关键是写出它的Context Free Grammar,写出了Context Free Grammar算法也就实现了。在转成代码的时候,和Context Free Grammar有细微的差别。我是用C#写的,lexer是用C写的原创 2005-05-31 01:05:00 · 1156 阅读 · 0 评论 -
编译器,原理,工具,技术一书中的一个问题
书的原名> International Edition问题来源: SEC3.2原书算法描述如下:forward=forward+1;if forward=eof then begin if forward at the end of first half then begin reload second half; forward=forward+1; en原创 2006-01-12 01:46:00 · 847 阅读 · 1 评论 -
GWR 3.0
1个月前正式投入到GWR(Geographically Weighted Regression) 3.0的开发。前天终于算出了第一组数据,兴奋不以。表明之前的所有基础工作和计算都没有错误。GWR涉及到很多统计公式和矩阵的计算,而且数据比较大。当中用了很多算法。总的来说感觉Numeric Programming是真正CS功力的体现。算法和数据结构是整个软件的核心。速度和重用性排在了首位,CSSE就再原创 2007-04-09 10:17:00 · 2844 阅读 · 0 评论 -
Postfix (Polish Notation) 后缀表达式的转换
我的编译器之旅 (1):写在最前面:研究编译原理纯粹是我的个人爱好。大概1年半前的1个暑假,闲着在家没事做,读了1部分龙书,然后自己写了个Regular Expression(正则表达式)的分析器,有点类似Lex,根据定义的Regular Expression在内存中构建相对应的DFA。C++写的,今天看来那个时候的代码很幼稚。不过这对复习和巩固了词法分析起了很大帮助,由于自己动手写过原创 2008-02-01 06:08:00 · 985 阅读 · 0 评论 -
fix point combinator(untyped)
Y combinator是一个在lambda calculus中的递归(Gernal Recursion)操作符。其定义为: Y = λf·(λx·f (x x)) (λx·f (x x)) 如Y作用于函数g上,Y g => (λx.g (x x))(λx. g (x x))=> g ((λx.g (x x)) (λx.g (x x)))=> g Y g=>*原创 2009-07-24 15:54:00 · 440 阅读 · 0 评论