-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTablaSimbolos.h
32 lines (29 loc) · 996 Bytes
/
TablaSimbolos.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
#include <stdlib.h>
/*
* La estructura utilizada va a ser Simbolo
* esta representa cada uno de los símbolos
* de la tabla de símbolos
*/
typedef struct Simbolo
{
struct Simbolo* siguiente; // Símbolo siguiente a este, de modo que tengamos una lista
int id;
char* nombre; // nombre que identifica a dicho símbolo
char* tipo; // tipo del símbolo, de momento es un string
short entradaSalida; // 1 si es de entrada, 2 si es de salida, 3 si es ambas, 0 si no es ninguna
}Simbolo;
typedef struct TablaSimbolos
{
struct Simbolo* primero;
struct Simbolo* ultimo;
int ultimoId;
}TablaSimbolos;
void insertar (TablaSimbolos* tabla, Simbolo* sim);
Simbolo* buscar(char* nombre, Simbolo* tabla);
int buscarId(char* nombre, Simbolo* tabla);
Simbolo* nuevoSimbolo();
void muestraTabla(TablaSimbolos tabla);
Simbolo* newTemp(TablaSimbolos *tablaSimbolos);
char* consulta_tipo_TS(int id, Simbolo* tabla);
void modifica_tipo_TS(Simbolo* id, char* tipo);