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