Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2018
4,027
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<ctype.h>
  5.  
  6. int isKeyword(char buffer[]){
  7. char keywords[32][10] = {"auto","break","case","char","const","continue","default",
  8. "do","double","Else","enum","Function","Float","for","goto",
  9. "If","Integer","long","register","Return","short","signed",
  10. "sizeof","static","struct","switch","typedef","union",
  11. "DOWhile","void","Write","while"};
  12. int i, flag = 0;
  13.  
  14. for(i = 0; i < 32; ++i){
  15. if(strcmp(keywords[i], buffer) == 0){
  16. flag = 1;
  17. break;
  18. }
  19. }
  20. //new
  21. int k, flag2 = 0;
  22.  
  23. for (k = 0; k<32; ++k){
  24. if(strcmp(keywords[k], buffer) == 0){
  25. flag2 = 1;
  26. break;
  27. }
  28. }
  29.  
  30. return flag;
  31.  
  32. //new
  33. return flag2;
  34. }
  35.  
  36. int main(){
  37. char ch, buffer2[15], operators[] = "+-*/%=";
  38. //eh
  39. char ch2, buffer[15], seperators[] = "{}(),;";
  40. FILE *fp;
  41. //k is new
  42. int i,k,j=0;
  43.  
  44. fp = fopen("APU_CS370_input.txt","r");
  45.  
  46. if(fp == NULL){
  47. printf("error while opening the file\n");
  48. exit(0);
  49. }
  50.  
  51. while((ch = fgetc(fp)) != EOF){
  52. for(i = 0; i < 6; ++i){
  53. if(ch == operators[i])
  54. printf("%c is operator\n", ch);
  55.  
  56. // new
  57. while((ch2 = fgetc(fp)) != EOF){
  58. for(k = 0; k < 6; ++k){
  59. if(ch2 == seperators[k])
  60. printf("%c is seperator\n", ch2);
  61. }
  62. }
  63. }
  64. if(isalnum(ch)){
  65. buffer[j++] = ch;
  66.  
  67. //new
  68. if(isalnum(ch2)){
  69. buffer[j++] = ch2;
  70. }
  71. }
  72. else if((ch == ' ' || ch == '\n') && (j != 0)){
  73. buffer[j] = '\0';
  74. j = 0;
  75.  
  76. if(isKeyword(buffer) == 1)
  77. printf("%s is keyword\n", buffer);
  78. else
  79. printf("%s is indentifier\n", buffer);
  80. }
  81.  
  82. }
  83.  
  84. fclose(fp);
  85.  
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement