//-------------------------------------------------------------------//
//                                                                   //
// Anaizador Sintáctico:                                            //
//                                                                   //
//	- Sangrado                                                   //
//      - Control de posiciones					     //
//                                                                   //
//-------------------------------------------------------------------//

//
// Objetos
//


objeto{}

objeto{
}

objeto{
	miembro1: null
}

objeto{
	miembro1:null
	miembro2:null
}

objeto{
	miembro1:null
	 miembroMalSangrado:null	/* error */
}

objeto{
	miembro1:null
miembroMalSangrado:null			/* error */
}

objeto{
miembroMalSangrado:null			/* error */
}

//
// Expresiones
//

expresion: x
expresion:
	x
expresion:
	x
	y
	z
expresion:
	x+
		a
		b
expresion:
	x+
		a
		b
	y+
		b
		c
	z

expresion:
	x
	 expresionMalSangrada	/* error */
	
expresion:
	x
	 expresionMalSangrada	/* error */
	z

//
// if (nota: else sin if es un error semántico)
//

expresion: 
	if a then b else c

expresion:
	if a
	then b
	else c

expresion:
	if
		a
	then
		b
	else
		c
expresion:
	if a then
		b
	else 
		c

//
// while, do-while, for
//

expresion:
	do a while b
	
expresion:
	do a
	while b
	
expresion:
	do 
		a
	while
		b
	
expresion:
	while a do b

expresion:
	while a
	do b
	
expresion:
	while
		a
	do
		b

expresion:
	for a,b,c do d

expresion:
	for a,b,c 
	do d
	
expresion:
	for a,b,c
	do
		d