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

词法分析程序

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

#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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

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

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