PrimaryExpression parsePrimary() { PrimaryExpression PE; if (CurrentToken == null) return null; switch (CurrentToken.getType()) { case Identifier: Identifier I = parseIdentifier(); PE = new IdentifierPE(I); break; case LPar: acceptIt(); PE = new BracketsPE(parseExpression()); accept(RPar); break; default: Console.WriteLine("Syntax Error in Primary at token: " + CurrentToken.getSpelling()); PE = null; break; } return PE; }
public object visitBracketsPE(BracketsPE expr, object arg) { Type eType = (Type)expr.E.visit(this, null); return(eType); }