Arreglos_TunRojasCarolina
objeto:- write('{'),read(X), (X='atributo'->atributo),write('}').
atributo:- read(X), write('"'), write(X), write('":'),tipoatributo(X),a1.
a1:- read(X),(X='atributo'-> write(','),atributo;(X='fin'->write(''))).
tipoatributo(M):- read(X), (X='metodo'->metodo(M); X='numero'->numero; X='cadena'-> cadena ; X='objeto'->objeto; X='arreglo'-> arreglo;write('error')).
cadena:- read(X), write('"'), write(X), write('"').
numero:- read(X), write(X).
arreglo:- read(X),write('['),(read(X), atributoA (X)), write (']').
atributoA (X):- (X= 'fin', write ('entrada')); (X='numero'-> numero, Agregar); (X='cadena'-> cadena , Agregar);
(X='objeto'->objeto, Agregar);(X='arreglo'->arreglo, Agregar).
Arreglar:- read(X), write (','), atributoA(X).
metodo(M):- write('"function() {'),a2,write(' return '), write(M), write(';}"').
a2:- read(X), (X='decision'->decision; X='asignacion' -> asignacion; X='fin' -> write('');(write('ERROR: '),write(X))).
asignacion:- read(X), write(X), write('='), read(Y), write(Y), write(';'),a2.
decision:- write('if('),condicion,write(')'), verdadero,falso.
condicion:- read(X), write(X).
verdadero:- write('{'),a2('}').
falso:- write('else {'),a2.('}').
:-objeto.
|
run
| edit
| history
| help
|
0
|
|
|