Compiling Error

I don't get it. This seems like such an easy fix but I can't spot the compiling problem. The code below.

/*
 TLC5940 demonstration sketch
 John Boxall - http://tronixstuff.com/partreviews - 17 July 2010
 uses code and library by Alex Leone 
 <acleone ~AT~ gmail.com>, 2009-02-03 
 TLC5940 library falls under GPLv3 license - see http://www.gnu.org/licenses/
 */
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Warning //////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////// You need external power for your Arduino board - USB is not enough!!/////////////
///////////// TLC5940 + 16 LEDs draw over 300 mA at full brightness! ///////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////

#include <IRremote.h>
#include "Tlc5940.h"

#define PIN_IR 2 //output to IR transmitter
#define PIN_IR_DETECT 4 //tied to output of IR detector
#define PIN_IR_STATUS 6 //IR LED indicator
#define PIN_PIR_DETECT 5 //tied to output of PIR detector
#define PIN_PIR_STATUS 7 //PIR LED indicator
#define LDR_PIN 2;
boolean IR_Status;
boolean PIR_Status;
int LDR_Value;
boolean Night_Status;

void setup()
{
  /* Call Tlc.init() to setup the tlc.
   You can optionally pass an initial PWM value (0 - 4095) for all channels.*/
  Tlc.init();
}
void knightrider()
/* This loop will create a Knight Rider-like effect if you have LEDs plugged
 into all the TLC outputs.  NUM_TLCS is defined in "tlc_config.h" in the
 library folder.  After editing tlc_config.h for your setup, delete the
 Tlc5940.o file to save the changes. */
{
  int direction = 1;
  for (int channel = 0; channel < 1 * 10; channel += direction) {
    /* Tlc.clear() sets all the grayscale values to zero, but does not send
     them to the TLCs.  To actually send the data, call Tlc.update() */
    Tlc.clear();
    /* Tlc.set(channel (0-15), value (0-4095)) sets the grayscale value for
     one channel (15 is OUT15 on the first TLC, if multiple TLCs are daisy-
     chained, then channel = 16 would be OUT0 of the second TLC, etc.).
     
     value goes from off (0) to always on (4095).
     Like Tlc.clear(), this function only sets up the data, Tlc.update()
     will send the data. */
    if (channel == 0) {
      direction = 1;
    } 
    else {
      Tlc.set(channel - 1, 1000);
    }
    Tlc.set(channel, 4095);
    if (channel != 1 * 10 - 1) {
      Tlc.set(channel + 1, 1000);
    } 
    else {
      direction = -1;
    }
    /* Tlc.update() sends the data to the TLCs.  This is when the LEDs will
     actually change. */
    Tlc.update();
    delay(50);
  }
}
void breathe(int qq) // qq is number of times to breathe :)
// displays all LEDs and alters the brightness
{
  Tlc.clear();
  for (int q=0; q<qq; q++) //File: 
    //Unsaved Document 1 Page 2 of 2
  {
    for (int p=0; p<4096; p+=10) // increase brightness
    {
      for (int l=0; l<10; l++)
      {
        Tlc.set(l, p);
      }
      Tlc.update();
      delay(5);
    }
    for (int p=4095; p>=0; p-=10) // decrease brightness
    {
      for (int l=0; l<10; l++)
      {
        Tlc.set(l, p);
      }
      Tlc.update();
      delay(5);
    }
  }
}
void randomled(int m)
// displays random LEDs for m times
{
  randomSeed(analogRead(0));
  for (int qq=0; qq<m; qq++)
  {
    Tlc.clear();
    Tlc.set(random(10), 4095);
    Tlc.update();
    delay(200);
  }
}
void loop(){
 
  IR_Status = digitalRead(PIN_IR_DETECT);
  LDR_Value = analogRead(LDR_PIN);
  PIR_Status = digitalRead(PIN_PIR_DETECT);
  if (LDR_Value >700){
    Night_Status = false;
    Serial.print ("It is daytime. No sensors monitored.  ");
    Serial.print ("LDR Value = ");
    Serial.println(LDR_Value);
  }
  else{
    Serial.println("It is nightime. Sensors are monitored.  ");
    Serial.print ("LDR Value = ");
    Serial.println(LDR_Value);
  }

  if (IR_Status){
    digitalWrite(PIN_IR_STATUS,HIGH);
    Serial.println(" IR BEAM BROKEN ");
  }
  else{
    digitalWrite(PIN_IR_STATUS,LOW);
  }

  if (PIR_Status){
    digitalWrite(PIN_PIR_STATUS,HIGH);
    Serial.println(" PIR DETECTION");
  }
  else{
    digitalWrite(PIN_PIR_STATUS,LOW);
  }

  if(Night_Status == false &&(IR_Status || PIR_Status))
    randomled(100);
  delay(1000);
  breathe(3);
  delay(1000);
  knightrider();
}
////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Warning //////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////// You need external power for your Arduino board - USB is not enough!!/////////////
///////////// TLC5940 + 16 LEDs draw over 300 mA at full brightness! ///////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////

If I comment out the line:
LDR_Value = analogRead(LDR_PIN);
It'll compiles so it's gotta be a problem solely with that line.

The error is:
TLC5940_10leds_demo.cpp: In function 'void loop()':
TLC5940_10leds_demo:114: error: expected )' before ';' token TLC5940_10leds_demo:114: error: expected primary-expression before ')' token TLC5940_10leds_demo:114: error: expected ;' before ')' token

I copied that line from another sketch where it compiles without a problem. I just can't see it. - Scotty

scottyjr:
#define LDR_PIN 2;

Very rarely will you be putting a semicolon at the end of a define directive.

Thank You, Sir. I would've searched for hours for that one and would still not have found it. - Scotty