qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

设计、编制、调试一个具体的词法分析程序,代码

时间2023-04-07 09:49:14 提问来自 河北省石家庄市 的网友 分类创作 浏览386
如下#include <stdio.h> #include <string.h> //定义单词类型常量 #define IDENTIFIER 0 //标识符 #define NUMBER 1 //数字 #define OPERATOR 2 //操作符 //定义操作符常量,以及其对应的字符串值 (可自行扩充) #define PLUS "+" //加法运算 "+" "-" "*" "/" "%" "=" "<>" "<=" "<" ">=" ">" "( )"; char token[50];//保存当前分析出来的单词 int isDigit(char c){//判断是否是数字 if (c >= '0' && c <= '9'){ return 1; }else{ return 0; } } int isLetter(char c){//判断是否是英文字母或者下划线_开头的标识符中的一部分。 if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c == '_')){ return 1; } else { return 0; } } void getToken(){//从输入流中得到一个token,并将token保存在token[]中。 char ch = getchar(); int i = 0; while ((ch == '\n') || (ch == '\t') || (ch == 32)) { ch = getchar(); } if (isDigit(ch)) { while ((isDigit(ch) || isLetter(ch))) { token[i++] = ch; ch = getchar(); } token[i] = 0; ungetc(ch, stdin); printf("%s\t\t number\n", token); } else if (isLetter(ch)) { while ((isDigit(ch) || isLetter(ch))) { token[i++] = ch; ch = getchar(); } token[i] = 0; ungetc(ch, stdin); printf("%s \t\t identifier \n", token); } else if (strcmp(&PLUS, &token)==0) { printf("+ \t\t operator \n"); }} void main() { while (!feof()) { getToken(); }}

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 设计、编制、调试一个具体的词法分析程序 下一篇 得出结论 一、调研背景与目的 随着经济的发展和人们生活水平的提高,消费者对于饮品的需求也在不断增长。蜜雪冰城作为一家知名的饮品品牌,凭借其独特的产品和优质的服务,吸引了大量的消费者。为了更好地了解大学生对蜜雪冰城的消费行为偏好,本次调研旨在收集大学生对蜜雪冰城的消费习惯、消费动机、消费心理等方面的信息,为蜜雪冰城提供有针对性的市场营销策略建议。 二、调研方法与样本 本次调研采用问卷调查的方法,共发放问卷100份,回收有效问卷80份。调查对象为本校大学生与教职工,涵盖了各个职业的职工与不同年级、专业和