private void parseType() throws SyntaxError {
        switch(currentToken.kind) {
        case Token.BOOLEAN:
        case Token.VOID:
            acceptIt();
            break;

        case Token.IDENTIFIER:
            parseIdentifier();
            if(currentToken.kind == Token.LBRACKET) {
                acceptIt();
                accept(Token.RBRACKET);
            }
            break;

        case Token.INT:
            acceptIt();
            if(currentToken.kind == Token.LBRACKET) {
                acceptIt();
                accept(Token.RBRACKET);
            }
            break;

        default:
            syntacticError("\"%\" cannot start a type", currentToken.spelling);
            break;
        }
    }