h:16: error: expected ',' or '...' before numeric

Hi, i am trying to figure out what is wrong with my code, the program isn't suggesting anything specific...

#define a 22
#define b 23
#define c 24
#define d 25
#define e 26
#define f 27
#define g 28
#define h 29
#define i 30
#define j 31
#define k 32
#define l 33
#define m 34

void setup()
{
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(h, OUTPUT);
pinMode(i, OUTPUT);
pinMode(j, OUTPUT);
pinMode(k, OUTPUT);
pinMode(l, OUTPUT);
pinMode(m, OUTPUT);
}

void loop()
{
digitalWrite(a, HIGH);
delay(100);
digitalWrite(a, LOW);

digitalWrite(b, HIGH);
delay(100);
digitalWrite(b, LOW);

digitalWrite(c, HIGH);
delay(100);
digitalWrite(c, LOW);

digitalWrite(d, HIGH);
delay(100);
digitalWrite(d, LOW);

digitalWrite(e, HIGH);
delay(100);
digitalWrite(e, LOW);

digitalWrite(f, HIGH);
delay(100);
digitalWrite(f, LOW);

digitalWrite(g, HIGH);
delay(100);
digitalWrite(g, LOW);

digitalWrite(h, HIGH);
delay(100);
digitalWrite(h, LOW);
}

The error is reads:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\arduino-0018\hardware\arduino\cores\arduino/WProgram.h:16: error: expected ',' or '...' before numeric constant

It's probably best not to go defining single letter #define's
because in WProgram.h, at line 16, there is this:

uint16_t makeWord(byte h, byte l);

Your

#define h 29
...
#define l 31

causes that line to be interpreted as this:

uint16_t makeWord(byte 29, byte 31);

which isn't legal C/C++

Change those #define a 22 to something more meaningful like
#define pinA 22
etc...

BTW, the Arduino IDE puts a "#include <WProgram.h>" into your
program for you. Apparently it puts it in a less-than-wonderful place
for your program.