编译原理--词法分析程序

本文介绍了编译原理中的词法分析程序,包括取词和分析两个阶段。在取词阶段,程序逐个读取字符,遇到空字符停止,并合并成字符串。分析阶段则通过与关键字、分隔符和运算符数组对比,对字符串进行分类。算法实现部分提到,分析方法基于缓冲区操作,并未实现注释过滤功能。
摘要由CSDN通过智能技术生成

1  算法思想

程序分为4个关键方法,用户输入方法,读、写文件方法以及词法分析方法。其中词法分析方法是程序的核心。

词法分析程序主要分为两个部分,第一是取词,第二是分析。

1.1  取词阶段

依次取字符串的每一个字符,遇到空字符时停下,将取到的字符合并成一个字符串,送去进行分析阶段。

1.2  分析阶段

程序先构建有关键字数组、分隔符数组和运算符数组,通过将取词阶段送来的字符串与各数组中元素进行比较,将字符串分类到相应的类别数组中保存。

1.3  伪代码

While (源码字符串没有取完){

        Getchar(获取一个非空字符);

        If (是字母) {

               拼接到目标字符串后;

               While (继续获取字符直到空字符出现);

               If (目标字符串是关键字)     记录为关键字;

               Else  记录为标识符;

        }Else If (是数字){

               While(循环获取直到非数字);

               记录为常数;

       }Else if (是运算符){

               标记为运算符;

       }Else(是分隔符){

               标记为分隔符;

      }

}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值