English
Kamil Dudka

IFJ 05 (Jazyk C)

Detail souboru

Jméno:Stáhnoutproj.c [Stáhnout]
Umístění: ifj05 > tests > testy-magik
Velikost:2.1 KB
Poslední změna:2022-09-09 13:06

Zdrojový kód

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lex.h"
 
int main(int argc, char **argv)
{
 
FILE *file_cfg;
 
file_cfg=NULL;
char *soubor;
 
if (argc == 2)   // kontrola parametru
{
  soubor=argv[1];
}
else
{  
  printf("Pocet parametru neni 2 \n");
  return -1;      
}
 
file_cfg = fopen(soubor, "r"); 
if (file_cfg != NULL)
{
  end_file = 0;
  int token;
 
  while ((token = yylex(file_cfg)) != EOF)
  {
    if (token == ID)
    {
      printf("Tohle je ID a je v nem %s\n", yytext);    
    }
    else
    if (token == BIND)
    {
      printf("Tohle je BIND \n" );    
    }
    else
    if (token == NUM)
    {
      printf("Tohle je NUM a je v nem %d\n", yynum);    
    }
    else
    if (token == TEXT)
    {
      printf("Tohle je TEXT a je v nem %s\n", yytext);    
    }
    else
    if (token == LABEL)
    {
      printf("Tohle je LABEL a je v nem %s\n", yytext);    
    }
    else
    if (token == DBL)
    {
      printf("Tohle je DBL %f\n",yydbl);    
    }
    else
    if (token == ERR_SLASH_TEXT)
    {
      printf("Tohle je ERR_SLASH_TEXT\n");    
    }
    else
    if (token == ERR_BIND)
    {
      printf("Tohle je ERR_BIND\n");    
    }
    else
    if (token == ERR_LABEL)
    {
      printf("Tohle je ERR_LABEL\n");    
    }
    else
    if (token == ERR_DBL)
    {
      printf("Tohle je ERR_DBL \n");    
    }
    else
    if (token == ERR_INT_OFW)
    {
      printf("Tohle je ERR_INT_OFW \n");    
    }
    else
    if (token == NEQ)
    {
      printf("Tohle je NEQ \n");    
    }
    else
    if (token == LEQ)
    {
      printf("Tohle je LEQ \n");    
    }
    else
    if (token == GEQ)
    {
      printf("Tohle je GEQ \n");    
    }
    else
    if (token == GO_TO)
    {
      printf("Tohle je GO_TO \n");    
    }
    else
    if (token == ERR_NEQ)
    {
      printf("Tohle je ERR_NEQ \n");    
    }
    else
    if (token == ERR_GO_TO)
    {
      printf("Tohle je ERR_GO_TO \n");    
    }
 
 
 
 
    else
      printf("Token je neco uplne jineho: %c cislene %d\n", token, token); 
  }
 
}
else
  printf("Soubor nelze otevrit.");     
fclose(file_cfg);      
 
 
return 0;  
}