Exemple #1
0
        /**
         * Metodos generico
         */
        /**
         * Define uma variavel na tabela de simbolo
         * @param type
         * @param nameToken
         */
        Symbol defineVar(Symbol.Type type, IToken nameToken, ParserRuleContext ctx)
        {
            String varName = nameToken.Text.ToUpper();

            if (!currentScope.existLocalScope(varName))
            {
                VariableSymbol var = new VariableSymbol(nameToken.Text, type);
                currentScope.define(var); // Define symbol in current scope
                var.setContext(ctx);
                return(var);
            }
            else
            {
                /*  String msg = String.format(Messages.DefPhase_2, varName);
                 * Token ec = nameToken;
                 * int st = this.m_converter.convert(ec).getColumn();
                 * String sm = ec.getText();
                 * int et = st + ((sm != null) ? sm.length() : 1);
                 * if (st == -1)
                 *    return null;
                 *
                 * DefaultProblem defaultProblem = new DefaultProblem("", msg, 0,
                 * new String[] { }, ProblemSeverities.Error, st, et,
                 * ec.getLine());
                 * m_reporter.reportProblem(defaultProblem);*/
            }
            return(null);
        }