Run Code  | API  | Code Wall  | Misc  | Feedback  | Login  | Theme  | Privacy  | Patreon 

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