de pascal a c
Publicado por marian (1 intervención) el 05/05/2018 06:37:54
tengo unos conceptos de pascal pero no se lo suficiente y tengo que realizar un proyecto... esto es algo de eso.. espero me puedan ayudar...
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
type
alfabeto = set of char;
numero = set of char;
nodos = (inic,proc,is,beg,endd,intege,inpu,outpu,nul,id,cont,dp,pc,iparen,
dparen.asig,plus,men,by,divide,sp,desc,prog,hea,bod,decla,bloc,
stats,stat,asstat,instat,outstat,nstat,exp,ter,fact,ad,mult,iden,
cnst,dig);
terminles = inic..desc;
nterminales = prog..dig;
palabra = (aa,be,ce,de,ee,efe,ge,ache,ii,jota,ka,ele,eme,ene,oo,pe,qu,
ere,ese,te,uu,ve,du,exe,yy,ze,cero,uno,dos,tres,cuatro,cinco,
seis,siete,ocho,nueve,dpuntos,igual,mas,por,entre,menos,pyc,
pareizq,parder,blanco);
estados = (e00,e01,e02,e03,e04,e05,e06,e07,e08,e09,e10,e11,e12,e13,e14,
e15,e16,e17,e18,e19,e20,e21,e22,e23,e24,e25,e26,e27,e28,e29,
e30,e31,e32,e33,e34,e35,e36,e37,e38,e39,e40,e41,e42,e43,e44,
e45,e46,e47,e48,e49,e50,e51,e52,e53,e54,e_error);
acciones = (s00,s01,s04,s08,s10,s11,s19,s20,s21,s22,s23,s24,s25,s26,s27,
s28,s29,s35,s38,s43,s44,s46,s47,s50,s51,s54,r01,r02,r03,r04,r05,
r06,r07,r08,r09,r10,r11,r12,r13,r14,r15,r16,r17,r18,19,r20,r21,
r22,r23,r24,r25,r26,r27,r28,r29,r30,r_a,acc);
tlex = array[0..66,palabra] of acciones;
let = array[1..10] of char;
a_tabla = array[estados,terminles] of acciones;
g_tabla = array[estados,nterminales] of estados;
list = ^lista;
lista = record
ltoken:nodos;
lstate:estados;
ant:list;
end;
arbol = ^nodoarbol;
nodarbol = record
ltoken:nodos;
pila:arbol;
asig:arbol:
bsig:arbol;
csig:arbol;
dsig:arbol;
esig:arbol;
end;
cod = ^codi;
codi = record
operador:string[6];
operadov:char;
operadoc:integer;
ant:cod;
pos:cod;
end;
var
nodo_token, nodo:list;
inic_cod,nodo_hijo,nodo_raiz,nodo_rama,anodo,anodo_token:arbol;
inicia,codigo,lcodigo:cod;
linerr,avalorp,apuntador,valorp,estdo1,constante2,ides2,identifica:integer;
tipoerr,cuenta,control,count,c,i,j:integer;
filename:string[20];
ide:string;
token2,token1,valor1,variabl2,signo:char;
archivo_final,archivo_fuente:text;
nulo,errores,action,analisis,arch,fin,variable,inserta:boolean;
act_tabla : a_tabla;
gt_tabla : g_tabla;
tkc:terminles;
shift:acciones;
state:estados;
cambio,s:nterminales;
tabla_var:array[1..26] of char;
tabla_var:array[1..26] of integer;
tabla_tip:array[1..26] of string[15];
tipo:string[15];
ides:array[1..50] of char;
constantes:array[1..50] of char;
tempo2:array[1..50] of char;
token, valor : let;
v_alfabeto : alfabeto;
v_numero : numero;
t :tlex;
letra:palabra;
Valora esta pregunta


0