modificar para escribir arreglos vacíos, de un valor y de varios valores
objeto :- write('{'), auxobjeto, write('}').
atributo :- cadena, write(':'), valor.
auxobjeto :- read(X), (X='fin'->write('');
X='atributo'->atributo,auxobjeto2;
write('errorauxobjeto '), write(X) ).
auxobjeto2 :- read(X), (X='fin'->write('');
X='atributo'->write(','),atributo,auxobjeto2;
write('errorauxobjeto2 '), write(X) ).
valor :- read(X), (X='numero'->numero;
X='cadena'->cadena;
X='objeto'->objeto;
X='arreglo'->arreglo;
write('errorvalor '), write(X) ).
numero :- read(X), write(X).
cadena :- read(X), write('"'), write(X), write('"').
arreglo :- write('['), auxarreglo, write(']').
auxarreglo :- read(X), (X='fin'->write('');
X='valor'->write(', '),valor,auxarreglo;
write('error '), write(X) ).
:- objeto.
|
run
| edit
| history
| help
|
0
|
|
|