摘要: 前两个周末写了《手写PHP转Python编译器》的词法,语法分析部分,上个周末卡文了。 访问器部分写了两次都不满意,没办法,只好停下来,参考一下Python的实现。a56爆大奖在线娱乐实现的部分正好和Python是一个思路,就是生成CST(Concrete syntax tree)之后,再生成AST。由于a56爆大奖在线娱乐想创(to 阅读全文
posted @ 2017-03-22 08:37 windfic 阅读(2450) 评论(1) 推荐(0) 编辑
摘要: 写完词法部分,又有很多杂事,周末终于有空来实现伟大的语法解析部分了。 撸完代码之后发现,程序太短了,不算上状态机,才186行(含注释),关键代码不到100行。运行调试过后,发现还行。居然可以解析OneThink里面的function.php。这个文件堪称Php程序的集大成者,里面什么妖魔鬼怪都有,调 阅读全文
posted @ 2017-03-13 19:25 windfic 阅读(2290) 评论(1) 推荐(0) 编辑
摘要: 上周写了《ThinkPhp模板转Flask、Django模板》 一时技痒,自然而然地想搞个大家伙,把整个PHP程序转成Python。不比模板,可以用正则匹配偷懒,这次非写一个Php编译器不可。 上网搜了一下,发现大部分Python to xxx的transpile都是直接基于AST,省略了最重要的T 阅读全文
posted @ 2017-03-12 09:56 windfic 阅读(1419) 评论(0) 推荐(0) 编辑
摘要: 前天写了个《ThinkPhp模板转Flask模板》 居然被同事鄙视了,原因是他用Django,a56爆大奖在线娱乐用Flask,为了避免被他继续安利Django的强大。a56爆大奖在线娱乐决定写一个Django模板转换器。 为了复用代码,得用继承,a56爆大奖在线娱乐把原代码分成三段,一下子获得了三个转换器。 class ConverterTempla 阅读全文
posted @ 2017-03-04 13:26 windfic 阅读(903) 评论(0) 推荐(0) 编辑
摘要: Template Converter 网上的PHP资源很多,项目要用Python,a56爆大奖在线娱乐想起做一个模板转换器,从ThinkPhp转成Flask的Jinja模板。 直接指定两个目录,将目录下的模板文件转换。 依赖于chardety库,自动检测模板的编码。 1 if __name__ == '__main 阅读全文
posted @ 2017-03-01 19:30 windfic 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 为什么会是Node.JS? 从技术上讲,Node.JS不是一个非常好的项目,Node.JS只是把一个烂想法实现到了可以接受的程度。 但是人们为什么愿意用Node.JS? 从历史看来,成功的项目从来都不是技术一流的,比如PC,以太网,TCP/IP,HTML。这些项目都是被科学家们鄙视到死的技术。唯一的 阅读全文
posted @ 2013-09-24 19:19 windfic 阅读(537) 评论(1) 推荐(0) 编辑