class Rouge::Lexers::ArmAsm

def self.builtin

def self.builtin
  @builtin ||= %w(
    ARCHITECTURE AREANAME ARMASM_VERSION CODESIZE COMMANDLINE CONFIG CPU
    ENDIAN FALSE FPIC FPU INPUTFILE INTER LINENUM LINENUMUP LINENUMUPPER
    OBJASM_VERSION OPT PC PCSTOREOFFSET REENTRANT ROPI RWPI TRUE VAR
  )
end

def self.file_directive

def self.file_directive
  @file_directive ||= %w(
    BIN GET INCBIN INCLUDE LNK
  )
end

def self.general_directive

def self.general_directive
  @general_directive ||= %w(
    ALIAS ALIGN AOF AOUT AREA ARM ASSERT ATTR CN CODE16 CODE32 COMMON CP
    DATA DCB DCD DCDO DCDU DCFD DCFDU DCFH DCFHU DCFS DCFSU DCI DCI.N DCI.W
    DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT
    EXPORTAS EXTERN FIELD FILL FN FRAME FUNCTION GBLA GBLL GBLS GLOBAL IF
    IMPORT INFO KEEP LCLA LCLL LCLS LEADR LEAF LTORG MACRO MAP MEND MEXIT
    NOFP OPT ORG PRESERVE8 PROC QN RELOC REQUIRE REQUIRE8 RLIST RN ROUT
    SETA SETL SETS SN SPACE STRONG SUBT THUMB THUMBX TTL WEND WHILE
    \[ \] [|!#*=%&^]
  )
end

def self.operator

def self.operator
  @operator ||= %w(
    AND BASE CC CC_ENCODING CHR DEF EOR FATTR FEXEC FLOAD FSIZE INDEX LAND
    LEFT LEN LEOR LNOT LOR LOWERCASE MOD NOT OR RCONST REVERSE_CC RIGHT ROL
    ROR SHL SHR STR TARGET_ARCH_[0-9A-Z_]+ TARGET_FEATURE_[0-9A-Z_]+
    TARGET_FPU_[A-Z_] TARGET_PROFILE_[ARM] UAL UPPERCASE
  )
end

def self.preproc_keyword

def self.preproc_keyword
  @preproc_keyword ||= %w(
    define elif else endif error if ifdef ifndef include line pragma undef warning
  )
end

def self.shift_or_condition

def self.shift_or_condition
  @shift_or_condition ||= %w(
    ASR LSL LSR ROR RRX AL CC CS EQ GE GT HI HS LE LO LS LT MI NE PL VC VS
    asr lsl lsr ror rrx al cc cs eq ge gt hi hs le lo ls lt mi ne pl vc vs
  )
end