日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

词法分析

發布時間:2023/12/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 词法分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

源程序

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct node{
char zifuji[20];
struct node *next;
}NODE;

typedef struct stack{
char num[20];
int size;
}STACK;

void cmp(char *ch);
int shizi(char ch[]);
//字轉詞
void zizhuanci(NODE *node){

NODE *p;
p=node->next;

while(p!=NULL){

cmp(p->zifuji);

p=p->next;
}

}
//判斷詞義
void cmp(char *ch){
int key;

if(strcmp(ch,"begin")==0){
printf("<%s 1 >
",ch);
}

else if(strcmp(ch,"if")==0){
printf("<%s 2 >
",ch);
}
else if(strcmp(ch,"then")==0){
printf("<%s 3 >
",ch);
}
else if(strcmp(ch,"while")==0){
printf("<%s 4 >
",ch);
}
else if(strcmp(ch,"do")==0){
printf("<%s 5 >
",ch);
}
else if(strcmp(ch,"end")==0){
printf("<%s 6 >
",ch);
}
else if(strcmp(ch,"+")==0){
printf("<%s 13>
",ch);
}
else if(strcmp(ch,"-")==0){
printf("<%s 14>
",ch);
}
else if(strcmp(ch,"*")==0){
printf("<%s 15>
",ch);
}
else if(strcmp(ch,"/")==0){
printf("<%s 16>
",ch);
}
else if(strcmp(ch,":")==0){
printf("<%s 17>
",ch);
}
else if(strcmp(ch,":=")==0){
printf("<%s 18>
",ch);
}
else if(strcmp(ch,"<")==0){
printf("<%s 20>
",ch);
}
else if(strcmp(ch,"<=")==0){
printf("<%s 21>
",ch);
}
else if(strcmp(ch,"<>")==0){
printf("<%s 22>
",ch);
}
else if(strcmp(ch,">")==0){
printf("<%s 23>
",ch);
}
else if(strcmp(ch,">=")==0){
printf("<%s 24>
",ch);
}
else if(strcmp(ch,"=")==0){
printf("<%s 25>
",ch);
}
else if(strcmp(ch,";")==0){
printf("<%s 26>
",ch);
}
else if(strcmp(ch,"(")==0){
printf("<%s 27>
",ch);
}
else if(strcmp(ch,")")==0){
printf("<%s 28>
",ch);
}
else if(strcmp(ch,"#")==0){
printf("<%s 0>
",ch);
}
else{

key=shizi(ch);

if(key==1)
printf("<%s 12>
",ch,key);
else if(key==2)
printf("<%s 11>
",ch,key);
else
printf("<%s 錯誤>
",ch,key);
}
}
//判斷數字詞義
int shizi(char ch[]){
int i;
int key=0;
for(i=0;i<=sizeof(ch);i++)
if((ch[i]>='0'&&ch[i]<='9')||(ch[i]>='a'&&ch[i]<='z'))
key=1;
else if(ch[i]>='0'&&ch[i]<='9')
key=2;
return key;
}
//字分成詞
int word_splitter(char* str,NODE *node){

NODE *p,*q;
p=node;
int length = strlen(str);
char aword[20];
int number = 0;
int start = 0;

memset(aword, 0, 20);
for(int i = start; i < length; ++i){
if(str[i] == ' '){
memcpy(aword, str + start, i - start);
++number;
//printf("%d %s
", number, aword);

q=(NODE *)malloc(sizeof(NODE));
q->next=NULL;
strcpy(q->zifuji,aword);
p->next=q;
p=q;

memset(aword, 0, 20);
start = i + 1;
}
}

if(start < length)
{
memcpy(aword, str + start, length - start);
++number;
//printf("%d %s
", number, aword);

q=(NODE *)malloc(sizeof(NODE));
q->next=NULL;
strcpy(q->zifuji,aword);
p->next=q;
p=q;

}

return number;
}

int main(){

NODE *node,*p,*q;
int i;
STACK *stack;
int size=-1;

node = p =(NODE *)malloc(sizeof(NODE));
stack=(STACK *)malloc(sizeof(STACK));

printf("請輸入:
");
for(i=0;i<1;i++){
q=(NODE *)malloc(sizeof(NODE));
gets(node->zifuji);
q=p->next;
puts(node->zifuji);
//printf("%d",sizeof(node->zifuji));

}

i=word_splitter(node->zifuji,node);

/*
p=node->next;
while(p){

puts(p->zifuji);
printf("
");
p=p->next;
}
*/
zizhuanci(node);

return 0;

}

運行結果

總結

以上是生活随笔為你收集整理的词法分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99色在线观看 | 风间由美av | 午夜精品免费 | 懂色av色吟av夜夜嗨 | 草在线 | 深夜网站在线观看 | 五月丁香综合激情六月久久 | 欧美成人r级一区二区三区 中文无码一区二区三区在线观看 | 痴汉电车在线播放 | 欧美h在线观看 | 午夜香蕉视频 | 亚洲黄色小说图片 | 99精品欧美一区二区三区 | 色激情网| 亚洲综合久久婷婷 | 99热这里只有精品66 | 一区二区三区不卡视频在线观看 | 日剧大尺度床戏做爰 | 亚洲女人初尝黑人巨大 | 中文字幕一区二区在线观看 | 美女高潮视频在线观看 | 日韩欧美视频一区二区三区 | 伊人超碰| 成人动漫av在线 | 欧美区一区二 | 久久爱影视 | 色爽 av| 日本精品99 | 国产精品亚洲欧美在线播放 | 久久午夜国产精品 | 一级片中文字幕 | 六月综合激情 | 国产人与zoxxxx另类 | av天天有| 亚洲精品ww | 国产精品高清在线 | 日本大片黄 | 国产精品一区二区久久毛片 | 豆花免费跳转入口官网 | 色综合天天干 | 尤物精品在线 | 国产一二三 | 国产a一区| 亚洲经典久久 | 精品人伦一区二区三区蜜桃免费 | 蜜桃av成人永久免费 | 久久久久久久无码 | 男生c女生 | 9i精品福利一区二区三区 | 中文字幕激情 | 五月激情四射网 | 久久九九精品视频 | 无码精品人妻一区二区三区影院 | 国产精品自产拍高潮在线观看 | 国内性爱视频 | 国产一二三区在线视频 | 色片免费看 | 福利在线免费视频 | 免费在线观看av片 | 亚洲福利一区二区三区 | 精品国产免费看 | 国产精品久久久久久久久久久久久久久 | 插插影视 | av免费毛片 | 91久久网 | 日韩国产精品一区二区 | 久久久久国产精品视频 | 九九九九色 | 亚洲国产精品一区 | 成人影视在线看 | 久久网中文字幕 | 97超碰在线播放 | 中文字幕在线观看1 | 久久夜夜操妹子 | 91免费网| 青青草中文字幕 | www.国产区| 国产香蕉久久 | 亚洲调教 | av资源在线免费观看 | 国产第1页| 色呦呦免费视频 | 国产色99 | 日韩精品电影一区二区 | av网站观看| 亚洲狠狠婷婷综合久久久久图片 | 高清中文字幕mv的电影 | 日韩aaaaaa | 无码视频一区二区三区 | 九九久久免费视频 | 国精产品一区二区三区 | 97视频播放 | 国产精品成人久久 | 神马影院午夜伦理 | 男人天堂a在线 | 成人看片黄a免费看视频 | 国精品一区二区三区 | 少妇高潮一区二区三区99小说 | 日韩伦理一区二区三区 |