Exemplo n.º 1
0
        private void ParseRelationalExpression()
        {
            ParseAddExpression();
            while (IsNextTokenRelationalOp())
            {
                Token relationalOp = NextToken();
                ParseAddExpression();
                switch (relationalOp.Value)
                {
                case "<":
                    _codeGenerator.Less();
                    break;

                case ">":
                    _codeGenerator.Greater();
                    break;

                case "=":
                    _codeGenerator.Equal();
                    break;

                case "<=":
                    _codeGenerator.LessOrEqual();
                    break;

                case ">=":
                    _codeGenerator.GreaterOrEqual();
                    break;

                case "!=":
                    _codeGenerator.NotEqual();
                    break;

                default:
                    ThrowCompilationException("Unexpected relational operator " + relationalOp.Value);
                    break;
                }
            }
        }