词法分析器

这篇博客详细介绍了词法分析的过程,包括词法分析的目的、要求、算法思想和运行结果。它提供了一个简单的C语言词法分析器,能够识别关键字、运算符、标识符和整型常数,对输入的源程序进行分析并输出单词的内部编码和单词自身值。
摘要由CSDN通过智能技术生成

词法分析

摘  要:词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程。进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer,简称Lexer),也叫扫描器(Scanner)。词法分析器一般以函数的形式存在,供语法分析器调用。 完成词法分析任务的程序称为词法分析程序或词法分析器或扫描器。 完成词法分析任务的程序称为词法分析程序或词法分析器或扫描器。从左至右地对源程序进行扫描,按照语言的词法规则识别各类单词,并产生相应单词的属性字。

 

关键词: 词法分析;编译原理;c语言

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

一、目的

词法分析器又称扫描器,词法分析是指将我们编写的文本代码流解析为一个一个的记号,分析得到的记号以供后续语法分析使用。词法分析器的工作是低级别的分析:将字符或者字符序列转化成记号.。本次实验通过用C语言 设计、编制、调试一个词法分析子程序,识别单词,实现一个C语言词法分析器,经过此过程可以加深对编译器解析单词流的过程的了解。

 

二、要求

2.1 待分析的简单词法

(1)关键字:void  main  int  char  if  else  for  while  

所有关键字都为小写

(2)运算符和界符

:  =  +  -  *  ,  /  <  <=  >  >=  = =  !=  ;  (   )  

(3)其他单词是标识符(ID)和整型常数(SUM),通过以下正规式定义:

ID = letter (letter | digit)*

NUM = digit digit*

(4)空格有空白、制表符和换行符组成。空格一般用来分隔ID、SUM、运算符、界符和关键字,词法分析阶段通常被忽略。

2.2 各种单词符号对应的简单编码

 

表2.1 简单语言单词符号及内部表示

单词符号

种别码

单词符号

种别码

void

1

(

26

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值