PL/0语言词法分析
一、 实验目的
通过完成词法分析程序,了解词法分析的过程。编制一个读单词程序,对PL/0语言进行词法分析,把输入的字符串形式的源程序分割成一个个单词符号,即基本保留字、标识符、常数、运算符、界符五大类。
二、 实验环境
操作系统:window xp
编写环境:visual c++ 、c-free、turbo c
编写语言:c语言
分析语言:PL/0
三、 实验...
分类:
编程语言 时间:
2014-10-20 23:23:13
阅读次数:
534
本文通过实验阐述了关于全文索引中两种词法分析器的分词效果...
分类:
其他好文 时间:
2014-10-19 19:59:06
阅读次数:
244
一、实验目的通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。并依次输出各个单词的内部编码...
分类:
编程语言 时间:
2014-10-19 01:19:49
阅读次数:
399
先说下UBUNTU12.04下Y86模拟器的安装:(参考http://archive.cnblogs.com/a/1865627/ 作适当修改)
1.安装bison和flex词法分析工具
sudo apt-get install bison flex
2.下载sim解压,地址http://csapp.cs.cmu.edu/public/students.html
...
分类:
移动开发 时间:
2014-10-15 19:23:31
阅读次数:
260
做了一个能够计算简单数学表达式值的小计算器,算不上是编译器,但用到了编译器的知识。最近在看一些编译器的东西,所以动手写这个最简单的计算器,既是对那些抽象的编译器知识有个形象的认识,也为后面添加复杂的东西--语句打下基础。此计算器是以《编译原理与实践》中实现的tiny编译器为参考写的,tiny是一个值得去研究的编译器,可以说是麻雀虽小,五脏俱全。从词法分析到代码生成都有,并且代码非常清晰易懂。我觉得...
分类:
其他好文 时间:
2014-10-12 18:00:18
阅读次数:
327
1.词法分析中的“贪心法”
C语言的某些符号,例如/、*和=,只有一个字符长,称为单字符符号。而C语言中的其他符号,例如/*和==,以及标识符等都包含了多个字符,称为多字符符号。当C编译器读入一个字符'/'后又跟了一个字符'*',那么编译器就必须做出判断:是将其作为两个分别的符号对待,还是合起来作为一个符号来对待。C语言对这个问题的解决方案可以归纳为一个很简单的规则:每一个符号应该包含尽...
分类:
其他好文 时间:
2014-10-11 08:52:35
阅读次数:
245
自己写的版本:问题:1:考虑到由于是嵌套接收,浮点型感觉少麻烦,因为还要判断是否两个小数点等,古没有实现2:对于一些特殊符号,如三元运算符,格式控制符%d等分析不到位3:类别应该分的更细,否则用唯一的symbol(sym)标识的话无法进行后续的语法分析4:没有用文件指针,数据输入要在控制台,不利于交...
分类:
其他好文 时间:
2014-10-09 22:46:21
阅读次数:
285
先看看头文件里的定义,定义了一些出错信息,几个内存管理接口,和宏。 几个宏的定义也是用到了内存分配的几个接口。newvector 在之前的词法分析里已经出现了。 几个接口,看函数名字比较容易看出来它的作用。下面...
分类:
其他好文 时间:
2014-10-08 00:06:14
阅读次数:
302
先看一下在打开文件里用到的一个函数 lua_setinput void?lua_setinput?(Input?fn)
{
??current?=?‘?‘;
??input?=?fn;
??if?(yytext?==?NULL)
??{
????textsize?=?MINBUFF;
????yyt...
分类:
其他好文 时间:
2014-10-06 19:18:20
阅读次数:
294
概述 词法分析是编译阶段的第一步。这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号)。词法分析程序实现这个任务。词法分析...
分类:
编程语言 时间:
2014-09-28 19:02:45
阅读次数:
348