Exemplo n.º 1
0
        private INoArvore OpCientifico()
        {
            INoArvore no = null;

            switch (token.TipoToken)
            {
            case Tokens.LOG:
                Casamento(Tokens.LOG);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.LOG2:
                Casamento(Tokens.LOG2);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.LOG10:
                Casamento(Tokens.LOG10);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.SEN:
                tokenAnterior = token;
                Casamento(Tokens.SEN);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.COS:
                Casamento(Tokens.COS);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.TANG:
                Casamento(Tokens.TANG);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.ASEN:
                Casamento(Tokens.ASEN);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.ACOS:
                Casamento(Tokens.ACOS);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.PI:
                Casamento(Tokens.PI);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.NEP:
                Casamento(Tokens.NEP);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            case Tokens.RQD:
                Casamento(Tokens.RQD);
                no = new NoArvore(tokenAnterior, TipoExpressao.Expressao, TipoOperador.Cientifico);
                break;

            default:
                EmiteErroSintaxe(token.Lexema);
                break;
            }
            return(no);
        }