Pascal/Turbo Pascal - de pascal a c

 
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder