+=============================================+ |/ \| || Ejecución paso a paso de la calculadora || |\ /| +=============================================+ ======================================================= ======================================================= Ejecución de la calculadora en "5": +---------------------------------------------------+ | expr ==> term r1 | | +---------------------------------------+ | | | term ==> factor r2 | | | | +---------------------------+ | | | | | factor ==> num | | | | | | +-------------+ | | | | | | | num ==> '5' | | | | | | | +-------------+ | | | | | | r2 ==> £ | | | | | +---------------------------+ | | | | r1 ==> £ | | | +---------------------------------------+ | +---------------------------------------------------+ En Arbolito: expr / \ term r1 / \ \ factor r2 £ | | num £ | '5' ======================================================= ======================================================= Ejecución de la calculadora en "5 + 3": +---------------------------------------------------------------+ | expr ==> term r1 | | +---------------------------------------------------+ | | | term ==> factor r2 | | | | +---------------------------+ | | | | | factor ==> num | | | | | | +-------------+ | | | | | | | num ==> '5' | | | | | | | +-------------+ | | | | | | r2 ==> £ | | | | | +---------------------------+ | | | | r1 ==> '+' term r1 | | | | +---------------------------------------+ | | | | | '+' | | | | | | term ==> factor r2 | | | | | | +---------------------------+ | | | | | | | factor ==> num | | | | | | | | +-------------+ | | | | | | | | | num ==> '3' | | | | | | | | | +-------------+ | | | | | | | | r2 ==> £ | | | | | | | +---------------------------+ | | | | | | r1 ==> £ | | | | | +---------------------------------------+ | | | +---------------------------------------------------+ | +---------------------------------------------------------------+ En Arbolito: expr / \ / \ term r1 / \ / | \ / \ / | \ factor r2 '+' term r1 | | / \ \ num £ factor r2 £ | | | '5' num £ | '3' ======================================================= ======================================================= Ejecución de la calculadora en "5 * 3": +-----------------------------------------------------------------+ | expr ==> term r1 | | +-----------------------------------------------------+ | | | term ==> factor r2 | | | | +-----------------------------------------+ | | | | | factor ==> num | | | | | | +-------------+ | | | | | | | num ==> '5' | | | | | | | +-------------+ | | | | | | r2 ==> '*' factor r2 | | | | | | +---------------------------+ | | | | | | | '*' | | | | | | | | factor ==> num | | | | | | | | +-------------+ | | | | | | | | | num ==> '3' | | | | | | | | | +-------------+ | | | | | | | | r2 ==> £ | | | | | | | +---------------------------+ | | | | | +-----------------------------------------+ | | | | r1 ==> £ | | | +-----------------------------------------------------+ | +-----------------------------------------------------------------+ En Arbolito: expr / \ term r1 / \ \ factor r2 £ | / | \ | / | \ num '*' factor r2 | | | '5' num £ | '3'