class Rouge::Lexers::IecST
def self.keywords
def self.keywords blocks = %w( PROGRAM CONFIGURATION INITIAL_STEP INTERFACE FUNCTION_BLOCK FUNCTION ACTION TRANSITION TYPE STRUCT STEP NAMESPACE LIBRARY CHANNEL FOLDER RESOURCE VAR_ACCESS VAR_CONFIG VAR_EXTERNAL VAR_GLOBAL VAR_INPUT VAR_IN_OUT VAR_OUTPUT VAR_TEMP VAR CONST METHOD PROPERTY CASE FOR IF REPEAT WHILE ) @keywords ||= Set.new %w( AT BEGIN BY CONSTANT CONTINUE DO ELSE ELSIF EXIT EXTENDS FROM GET GOTO IMPLEMENTS JMP NON_RETAIN OF PRIVATE PROTECTED PUBLIC RETAIN RETURN SET TASK THEN TO UNTIL USING WITH __CATCH __ENDTRY __FINALLY __TRY ) + blocks + blocks.map {|kw| "END_" + kw} end
def self.literals
def self.literals @literals ||= Set.new %w(TRUE FALSE NULL) end
def self.operators
def self.operators @operators ||= Set.new %w(AND EQ EXPT GE GT LE LT MOD NE NOT OR XOR) end
def self.types
def self.types @types ||= Set.new %w( ANY ARRAY BOOL BYTE POINTER STRING DATE DATE_AND_TIME DT TIME TIME_OF_DAY TOD INT DINT LINT SINT UINT UDINT ULINT USINT WORD DWORD LWORD REAL LREAL ) end