词法分析程序「建议收藏」

词法分析程序

大家好,又见面了,我是全栈君。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define N 100
int a=1;
long g=0;
char nchar[N]
int k=0;
char ch=NULL;
char m[30]={“”};
int sym=-1;
main()
{

char cr;
int n;
printf(“请输入一串字符串:”);
while((cr=getchar())!=’$’)
{

nchar[g]=cr;
g++;
}
do
{

n=getsym();
}while(n);
}
int getsym()
{

int i;
char a[2]={“”};
char word[][15]={“begin”,”do”,”end”,”if”,”then”,”while”};
int wsym[6]={1,2,3,4,5,6};
int ssym[9]={25,26,27,28,0,13,14,15,16};
char b[9]={‘=’,’;’,'(‘,’)’,’#’,’+’,’-‘,’*’,’/’};
if(a==1&&k<g)
{

ch=nchar[k];
j++;
k++;
}
while(ch==’ ‘||ch==10||ch==9||ch==13)
{

if(k==g)
{

return 0;
}
ch=nchar[k];
k++;
}

词法分析程序「建议收藏」

用文法描述词法规则
•<字母>   A->a|b|c|d|……|z|A|B…|Z

•<数字>  B->0|1|2|….|9

•<整数常数>  S->C|SB

      C->1|2|3|…|9


•<标识符>  S->A|SB|SA|S_

•<关键字>  S->begin|if|then|while|do|end

•<运算符>  S->+|-|*|/|=|#|<|<=|>|>=|:=

•<界符>  S->(|),|;|.

转载于:https://www.cnblogs.com/plokm792413896/p/5925065.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108853.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql行转列转换

    mysql行转列转换mysql行列转换,在项目中应用的极其频繁,尤其是一些金融项目里的报表。其中最为头痛的就是多行转多列,动态的列行转换。最近在研究这些行里转换,还是从最为简单的行列转换开始。sql脚本–创建表学生表CREATETABLE`student`(`stuid`VARCHAR(16)NOTNULLCOMMENT’学号’,`stunm`VARCHAR(20

    2022年6月14日
    47
  • 时滞/延迟微分方程(delay-differential equation)

    时滞/延迟微分方程(delay-differential equation)问题原来微分方程里面还有一类比较特殊复杂的。delaydifferentialequation(维基).翻了几篇相关的硕士和博士论文,感觉用处不大。不过,用软件做出来效果比较漂亮。与之相关的,分支或分叉(bifurcation)是一个似乎在包括迭代的动力系统里面都普遍的一个概念。Wolfram关于这个概念的文档延迟微分方程是一种微分方程,其在当前时间的时间导数取决于它在以往时间的解

    2022年9月30日
    3
  • 移动端网页设计_redis client命令

    移动端网页设计_redis client命令一、服务器与客户端的交互Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复 Redis服务器通过使用由I/O多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信clients属性stru…

    2022年10月9日
    3
  • linux之管道

    1.进程间通信概述进程是一个独立的资源分配单元,不同进程之间的资源是独立的,没有关联,不能在一个进程中直接访问另一个进程的资源。进程不是孤立的,不同的进程需要进行信息的交互和状态的传递等,因此需要

    2021年12月28日
    54
  • Python3列表_python tuple

    Python3列表_python tuple列表列表特点:是一种序列结构,与元组不同,列表具有可变性,可以追加、插入、删除、替换列表中的元素新增元素appendappend添加一个对象,可以是任意类型a=['zhangsa

    2022年7月30日
    6
  • SNMP协议具体解释

    SNMP协议具体解释

    2021年12月3日
    157

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号