class Rouge::Lexers::SAS

def self.data_step_statements

def self.data_step_statements
  # from Data step statements - SAS 9.4 Statements reference
  # http://support.sas.com/documentation/cdl/en/lestmtsref/68024/PDF/default/lestmtsref.pdf
  @data_step_statements ||= Set.new %w(
    ABORT ARRAY ATTRIB BY CALL CARDS CARDS4 CATNAME CHECKPOINT 
    EXECUTE_ALWAYS CONTINUE DATA DATALINES DATALINES4 DELETE DESCRIBE
    DISPLAY DM DO UNTIL WHILE DROP END ENDSAS ERROR EXECUTE FILE FILENAME
    FOOTNOTE FORMAT GO TO IF THEN ELSE INFILE INFORMAT INPUT
    KEEP LABEL LEAVE LENGTH LIBNAME LINK LIST LOCK LOSTCARD MERGE
    MISSING MODIFY OPTIONS OUTPUT PAGE PUT PUTLOG REDIRECT REMOVE RENAME
    REPLACE RESETLINE RETAIN RETURN RUN SASFILE SELECT SET SKIP STOP         
    SYSECHO TITLE UPDATE WHERE WINDOW X
   )
# label:
# Sum
end