Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.79 KB | None | 0 0
  1. /*******************************************************************
  2. * Predmet: IFJ & IAL
  3. * Projekt: Implementácia prekladača IF19
  4. * Tim: 074
  5. * Varianta: II
  6. * Subor: scanner.c
  7. * Autori:
  8. * Tomáš Kender (xkende01@stud.fit.vutbr.cz)
  9. * Tomáš Ďuriš (xduris05@stud.fit.vutbr.cz)
  10. * Adam Å venk (xsvenk00@stud.fit.vutbr.cz)
  11. * Michaela Karásková, Bc. (xkaras37@stud.fit.vutbr.cz)
  12. *
  13. * *****************************************************************/
  14.  
  15.  
  16. #include "test.h"
  17.  
  18. FILE *f;
  19. f = fopen("jmeno_souboru.txt", "r");
  20.  
  21.  
  22. int A_STATE = 1;
  23.  
  24. Token* process_next_token(FILE *f)
  25. {
  26. Token *token = malloc(sizeof(struct Token));
  27.  
  28. if (token == NULL)
  29. {
  30. token->type = ERROR;
  31. return token;
  32. }
  33.  
  34.  
  35. bool have_token = false;
  36. bool have_eof = false;
  37.  
  38. while(have_eof)
  39. {
  40. c=getchar(f);
  41.  
  42. switch (A_STATE)
  43. {
  44. case true:
  45. {
  46. if (c >= '0' && c <= '9' )
  47. {
  48. printf("number\n");
  49. }
  50. else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c == '_'))
  51. {
  52. printf("ID\n");
  53. }
  54. else if (c == '\'')
  55. {
  56. printf("STRING\n");
  57. }
  58. else if (c == '+' || c == '-' || c == '/' || c == '*')
  59. {
  60. printf("OPERATOR\n");
  61. }
  62. else if (c == '<' || c == '>' || c == '!')
  63. {
  64. printf("EQ_OPERATOR\n");
  65. }
  66.  
  67.  
  68. }
  69. break;
  70.  
  71. default:
  72. break;
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement