Using "SM" library for State Maching, error compiling the key words

Forum,

I downloaded and imported the SM library from this site and I am attempting to use it for my Arduino Uno to solve a finite state machine problem. However, when I attempt to verify the code, my states State 1, State 2, or State 3 throw an error:

exit status 1
‘State1’ was not declared in this scope

I notice that my new SM library has not turned orange and I notice that there is not a “keywords” file included. Is this the issue? Does anybody know how to resolve this?

#include <SM.h>
#include <State.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(8,9,4,5,6,7);

//Constants
#define btnRIGHT  0
#define btnUP     1
#define btnDOWN   2
#define btnLEFT   3
#define btnSELECT 4
#define btnNONE   5

//Define values used by panel and buttons
int lcd_key       = 5; //reads which push button was pressed
int adc_key_in    = 0;
int ZonAir_Temp = 75;  //temperature reading from thermostat
int Zon1_Temp  = 75; //temperature reading from far end thermometer
int ZonAir_Set = 77; //temperature setting for thermostat
int Zon1_Set = 77; //temperature setting for far end thermometer

//Set up the different states
SM Thermostat(State1);
SM ThermostatTempSet(State2);
SM Zon1TempSet(State3);

void setup() {
  lcd.begin(16,2);  //set up LCD 16x2 size
  lcd.print("ZonAir");
  lcd.setCursor(0,1);
  lcd.print(ZonAir_Temp); //input from near-end thermometer, display
  lcd.setCursor(12,0);
  lcd.print("Zon1");
  lcd.setCursor(12,1);
  lcd.print(Zon1_Temp);  //display title and temperature of zone 1
}

void loop()   /*----( LOOP: RUNS CONSTANTLY )----*/
{
  lcd_key = read_LCD_buttons();  // read the buttons
  EXEC(Thermostat);
}

int read_LCD_buttons()
{
  adc_key_in = analogRead(0);      // read the value from the sensor 
  delay(5); //switch debounce delay. Increase this delay if incorrect switch selections are returned.
  int k = (analogRead(0) - adc_key_in); //gives the button a slight range to allow for a little contact resistance noise
  if (5 < abs(k)) return btnNONE;  // double checks the keypress. If the two readings are not equal +/-k value after debounce delay, it tries again.
  // my buttons when read are centered at these valies: 0, 98, 256, 409, 640
  // we add approx 50 to those values and check to see if we are close
  if (adc_key_in > 1000) return btnNONE; // We make this the 1st option for speed reasons since it will be the most likely result
  if (adc_key_in < 50)   return btnRIGHT;  
  if (adc_key_in < 150)  return btnUP; 
  if (adc_key_in < 310)  return btnDOWN; 
  if (adc_key_in < 460)  return btnLEFT; 
  if (adc_key_in < 690)  return btnSELECT;   
  return btnNONE;  // when all others fail, return this...
}

//Define state machines--------------------------------------------------------------------------------------------------------------------------------------------------
/*State State1(){
  lcd.clear(); 
  lcd.print("ZonAir");
  lcd.setCursor(0,1);
  lcd.print(ZonAir_Temp);
  lcd.setCursor(12,0);
  lcd.print("Zon1");
  lcd.setCursor(12,1);
  lcd.print(Zon1_Temp);

  if(lcd_key != btnNONE)   EXEC(ThermostatTempSet);
}

State State2(){
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("ZonAir Set");
  lcd.setCursor(0,1);
  lcd.print(ZonAir_Set);
  lcd_key = 5;

  if((lcd_key == btnSELECT) || (ThermostatTempSet.Timeout(5000)))   EXEC(Thermostat);
  if(lcd_key == btnUP)   ZonAir_Set++;
  if(lcd_key == btnDOWN)   ZonAir_Set--;
  if(lcd_key == btnLEFT)   EXEC(Zon1TempSet);
  if(lcd_key == btnRIGHT)   EXEC(Zon1TempSet);
}

State State3(){
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Zon1 Set");
  lcd.setCursor(0,1);
  lcd.print(Zon1_Set);
  lcd_key = 5;

  if((lcd_key == btnSELECT) || (Zon1TempSet.Timeout(5000)))   EXEC(Thermostat);
  if(lcd_key == btnUP)   Zon1_Set++;
  if(lcd_key == btnDOWN)   Zon1_Set--;
  if(lcd_key == btnLEFT)   EXEC(ZonAirTempSet);
  if(lcd_key == btnRIGHT)   EXEC(ZonAirTempSet);
}*/

Please ignore the commenting on the state definitions at the bottom (/* */)... I was doing that to troubleshoot this error.

Thanks for any help that can be provided.