
Compiler & Interpreter
文章平均质量分 78
chosen0ne
互联网码农,对Linux,分布式计算和存储,编译器,nginx,脚本语言感兴趣
展开
-
一个简单的解释器——python实现
一直以来都对编译器和解析器有着很大的兴趣,也很清楚一个编译器的概念和整体的框架,但是对于细节部分却不是很了解。我们编写的程序源代码实际上就是一串字符序列,编译器或者解释器可以直接理解并执行这个字符序列,这看起来实在是太奇妙了。本文会用python实现一个简单的解析器,用于解释一种小的列表操作语言(类似于python的list)。其实编译器、解释器并不神秘,只要对基本的理论理解之后,实现起来也比较简原创 2012-09-27 17:13:17 · 10129 阅读 · 0 评论 -
Python语法解析器PLY——lex and yacc in Python
PLY是lex和yacc的python实现,包含了它们的大部分特性。PLY采用COC(Convention Over Configuration,惯例优于配置)的方式实现各种配置的组织,比如:强制词法单元的类型列表的名字为tokens,强制描述词法单元的规则的变量名为t_TOKENNAME等。本文主要是对PLY做一个基本的介绍。一. 词法分析1. 词法单元的类型列表(token list)原创 2012-10-16 22:56:50 · 45834 阅读 · 4 评论 -
构造文法时表达式中算符优先级的问题
文法用于描述一种语言,语言中包含多个句子,句子又是由表达式组成的。多个原子表达式(不可再分的表达式,比如:a+b,c*d,-a等)和操作符或者括号一起又可以组成复合表达式(比如:a+b*c,a*(b+c)等)。在书写表达式文法时需要注意算符优先级问题,比如:四则运算中要优先计算乘除,然后才是加减,而被括号括起的表达式具有更高的优先级。解决优先级问题可以采取从优先级低的算符到优先级高的算符的顺序构造原创 2012-10-31 10:16:16 · 5121 阅读 · 0 评论 -
fql——File Query Language
用python实现了一门小语言FQL,用类似SQL的语法,查询文件的相关信息。希望大家可以玩的开心原创 2015-01-23 23:18:12 · 4518 阅读 · 0 评论