Esempio n. 1
0
int adicionaSimboloListaBloco(char *palavra, noLista **lista, int bloco) {

    int identificadorAnterior = ultimoIdentificador(*lista);
    int identificador;
    if (identificadorAnterior < 0) {
        identificador = 1;
    } else {
        identificador = identificadorAnterior + 1;
    }

    insereNo(identificador, palavra, lista,bloco);
    return identificador;

}
Esempio n. 2
0
void populaTabelaPalavrasReservadas(noLista **palavraReservada) {

    FILE *entrada;
    int id = 1, ret=1;

    entrada = fopen("palavrasreservadas.txt" , "r");

    while (ret == 1)
    {
        char palavraLida[255]="/0";
        ret = fscanf(entrada, "%s", palavraLida);
        char * palavraNova = malloc(strlen(palavraLida) + 1);
        strcpy(palavraNova, palavraLida);

        insereNo(id, palavraNova, palavraReservada,0);

        id++;
    }

    fclose(entrada);
}
void populaTabelaPalavrasReservadas(noLista *palavraReservada) {
    
    
    criaTabelaPalavrasReservadas(palavraReservada);
    
    FILE *entrada;
    char caracterLido;
    int identificador = 0;
    
    entrada = fopen("palavrasreservadas.txt", "r");
    
    while (!feof(entrada)) {
        
        char palavra[MAX];
        fscanf(entrada, "%c", &caracterLido);
        int cont = 0;
        
        
//        Coleta letras do arquivo de entrada até chegar ao final da palavra
        while (caracterLido != '\n') {
            
            palavra[cont] = caracterLido;
            cont ++;
            fscanf(entrada, "%c", &caracterLido);
        }
        
        
        insereNo(identificador, palavra, palavraReservada);
        
        identificador ++;
        
    }
    
    fclose(entrada);
    
}