2 - codificador JSON Funcion IF - ELSE Anidado
objeto :- write('{'),aux1, write('}').
atributo :-cadena, write(':'),valor,aux2.
aux1 :- read(X),(X='atributo'->atributo;
X='fin'->write('')).
aux2 :- read(X),(X='atributo'->write(','),atributo;
X='fin'->write('')).
aux3 :- read(X),(X='valor'->valor,aux4;
X='fin'->write('')).
aux4 :- read(X),(X='valor'->write(','),valor,aux4;
X='fin'->write('')).
aux5 :- read(X), (X='return' -> return;
X='fin'->write('')).
cadena :- read(X),write('"'),write(X),write('"').
numero :- read(X),write(X).
arreglo :- write('['), aux3, write(']').
metodo :- write('"function () {'),instruccion, write('"}').
instruccion :- read(X),(X='asignacion'->asignacion,instruccion;
X='decision'-> decision , instruccion;
X='else' ->else ,instruccion;
X='return'->return , instruccion;
X='fin'->write('')).
finMetodo :- write(' }"').
asignacion :- read(X) , write(X), write('=') , read(Y) , write(Y) ,write(';').
decision :- write('if (') , read(X) , write(X) , write(') {') , instruccion , write('}').
else :- write('else') , write('{') , instruccion , write('}').
return :- read(X), write('return '), write(X).
valor :-read(T),(T='cadena'->cadena;
T='numero'->numero;
T='arreglo'->arreglo;
T='metodo'->metodo;
T='objeto'->objeto).
:- objeto.
|
run
| edit
| history
| help
|
0
|
|
|