背景知识在开始之前先说一下符号表,这个编译器中的东西。下面看一下百度百科中的描述:符号表是一种用于语言翻译器中的数据结构。在符号表中,程序源代码中的每个标识符都和它的声明或使用信息绑定在一起,比如其数据类型、作用域以及内存地址。符号表在编译程序工作的过程中不断收集、记录和使用源程序中一些语法符号的类...
分类:
编程语言 时间:
2015-04-11 19:08:02
阅读次数:
138
上篇笔记介绍了语法分析相关的一些基础概念,本篇笔记根据龙书第2.5节的内容实现一个针对简单表达式的后缀式语法翻译器Demo。
备注:原书中的demo是java实例,我给出的将是逻辑一致的Python版本的实现。
在简单后缀翻译器代码实现之前,还需要介绍几个基本概念。
1. 自顶向下分析法(top-down parsing)
顾名思义,top-down分析法的思路是推导产生式时,以产生式开始...
分类:
编程语言 时间:
2015-04-06 14:19:05
阅读次数:
384
本篇笔记是我对龙书第2.3-2.5节内容的理解,主要介绍编译器前端关于语法分析的众多基础概念。下篇笔记将根据本篇笔记的主要内容,实现一个针对简单表达式的后缀式语法翻译器Demo(原书中是java实例,我给出的将是逻辑一致的Python版本的实现)。
1. 语法分析(Syntax Analysis)
简单来说,语法分析的任务是分析输入的符号字符串(string of symbols, 通常是词法...
分类:
其他好文 时间:
2015-04-06 10:11:33
阅读次数:
129
转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件里,hibernate.query.factory_class属性用来选...
分类:
Web程序 时间:
2015-03-20 17:49:44
阅读次数:
137
一、干嘛的?(作用)
在java中,所有新的格式化功能都有formatter类处理。可以将formatter看作一个翻译器,它将你的格式化字符串与数据翻译成需要的结果。比如很多地方格式输出都有用到,像我们在超市购物付款时候打印的购物小票啊,所以还是很实用的。
二、籍贯(所在库)
java中的Formatter类位于java.util.Formatter中,所以需要用到的时候只要imp...
分类:
编程语言 时间:
2014-12-04 12:09:44
阅读次数:
233
Oops:
万一不能访问,请自带梯子和火星文翻译器
官方网站:
https://linuxcontainers.org/
Github:
https://github.com/lxc/lxc
火星文简介:
What's LXC?
LXC is a userspace interface for the Li...
分类:
系统相关 时间:
2014-11-30 20:11:28
阅读次数:
253
转载自:http://blog.csdn.net/yuhua3272004/article/details/2909538Hibernate3.0 採用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件里,hibernate.query.factory_class属性用来选...
分类:
Web程序 时间:
2014-10-14 23:32:39
阅读次数:
222
在写编译器的过程中,我意识到编译其实是一种符号变换,比如C语言编译成机器码,其实是C源码文件中的符号变换成EXE的16进制符号,这和中文翻译成英语的语言翻译器没什么区别。
每个程序员都有自己喜欢的编程语言和编码风格,所以世界上就出现了大量的编程语言,各种编程语言之间相互通信并不那么简单,C语言是个例外,所以C语言适合做接口。
那么能不能写一个通用的引擎充当各种语言的中间翻译层呢...
分类:
其他好文 时间:
2014-10-09 15:42:08
阅读次数:
292
网关1、网关可以作为某种翻译器使用,它抽象除了一种能够到达资源的方法。网关是资源和应用程序之间的粘合剂。应用程序可以(通过HTTP或其他已定义的结构)请求网关来处理某条请求,网关可以提供一条响应。网关可以向数据库发送查询语句,或者生成动态的内容,就像一个门一样:..
分类:
其他好文 时间:
2014-09-26 21:12:19
阅读次数:
137