简单词法分析器设计(c++)

该博客介绍了一个超简单的C++词法分析器设计,能识别关键字如'while'和'do',关系运算符,标识符和数值。作者提供了源代码,并指出仅实现了部分词法,适用于初步理解词法分析器工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目的:设置一个简单的词法分析器。

一个超简单的词法分析器

1.要求

1.词法分析器将识别关键字while和do,还有关系算符,标识符和数值。假设词法单元之间在必要时用空格,换行等,词法分析器通过把剩余输入的前缀和下面的正规定义相比较来完成忽视词法单元之间的空白。

2.考虑下面的正规定义:
While—>while
Do----->do
Relop------> < | <= | = | <> | > | >=
Letter-----> [A-Za-z]
Id----->letter(letter | dight )*
Number-----> dight*(.dight*)? (E ( +| - )? dight* )?

relop:LT,LE,EQ,NE,GT,GE.
id:符号表条目的指针
number:数目表条目的指针
关键词:do,while;

4.标识符和关键字的转化图
略。
5.**只挑选了几个词法进行编写,望周知。**如果想深入探索,请另找资料。

2.源代码

#include <iostream>
#include<vector>
using namespace std;
int en=0;
int q=0;//定位字符的走向
vector<char>a;
char s[6][10]={"while&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值