Pytocs.Syntax.Parser.factor C# (CSharp) Method

factor() public method

public factor ( ) : Exp
return Exp
        public Exp factor()
        {
            Op op;
            int posStart;
            switch (lexer.Peek().Type)
            {
            case TokenType.OP_PLUS:  posStart = lexer.Get().Start; op = Op.Add; break;
            case TokenType.OP_MINUS: posStart = lexer.Get().Start; op = Op.Sub; break;
            case TokenType.OP_TILDE: posStart = lexer.Get().Start; op = Op.Complement; break;
            default: return power();
            }
            var e = factor();
            if (e == null)
                Unexpected();
            return new UnaryExp(op, e, filename, posStart, e.End);
        }