using serial data for neoPixel

I am getting some sort of error that don’t understand. My code is as follows.

#include <SoftwareSerial.h>
#include <Adafruit_NeoPixel.h>

#define PIN 6
#define a[0] = 0xff0000
#define a[1] = 0x00ff00
#define a[2] = 0x0000ff
#define a[3] = 0xffffff
#define a[4] = 0xff7f00
#define a[5] = 0xffff00
#define a[6] = 0x4b0082
#define a[7] = 0x8b00ff

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

SoftwareSerial mySerial(2,3); // RX, TX

int pixel[15];
int i= 0;
int y;
int x;
unsigned long color;


void setup()  
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) 
  {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  strip.begin();
  strip.show();
  delay(50);

}

void loop() // run over and over
{
  i=0;
  if (mySerial.available())
  {
    pixel[i]=mySerial.parseInt();
    Serial.println(pixel[i]);
    i++;
  }
  y = i;
  for (i=0;i<y;i++)
  {
    x = pixel[i];
    Serial.println(x);
    color = a[x];
    strip.PixelColor(i, color);
  }
  strip.show();
  delay(50);
}

This code is showing error as

sketch_feb19b.ino: In function ‘void loop()’:
sketch_feb19b:86: error: expected primary-expression before ‘[’ token
sketch_feb19b:86: error: invalid types ‘long int[int]’ for array subscript

If I comment

    color = a[x];
    strip.PixelColor(i, color);

It gets compiled.
I am new to Arduino as well as neoPixel.
Please help.

Thanks in advance.

#define a[0] = 0xff0000
#define a[1] = 0x00ff00
#define a[2] = 0x0000ff
#define a[3] = 0xffffff
#define a[4] = 0xff7f00
#define a[5] = 0xffff00
#define a[6] = 0x4b0082
#define a[7] = 0x8b00ff

Rubbish. What is all this crap here for? Clearly, you have no idea how to use a #define statement. So, don't.