private ArvoreNo AnalisarTermo() { ArvoreNo fator = AnalisarFator(); while (tokenAtual.Tipo == TipoToken.Vezes || tokenAtual.Tipo == TipoToken.Dividir) { Token operacao = tokenAtual; ProximoToken(operacao.Tipo); ArvoreNo dir = AnalisarFator(); fator = new ExpressaoNo(fator, operacao, dir); } return(fator); }
private ArvoreNo AnalisarExpressao() { ArvoreNo esq = AnalisarTermo(); while (tokenAtual.Tipo == TipoToken.Mais || tokenAtual.Tipo == TipoToken.Menos) { Token operacao = tokenAtual; ProximoToken(operacao.Tipo); ArvoreNo dir = AnalisarTermo(); esq = new ExpressaoNo(esq, operacao, dir); } return(esq); }