'note'        Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'description' Name
' '           Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'"[\n\t\t\t\t\t\tThis is use to have almost every language element."\n\t\t\t\t\t\t\n\t\t\t\t\t\tThat way, I can correctly test the lexer. %]"\n\t\t\t\t\t\t\n\t\t\t\t\t\tDon\'t try to understand what it does. It\'s not even compilling.\n\t\t\t\t\t]"' Literal.String
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'date'        Name
'        '    Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'"August 6, 2013"' Literal.String
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'revision'    Name
'    '        Text.Whitespace
':'           Punctuation
' '           Text.Whitespace
'"0.1"'       Literal.String
'\n\n'        Text.Whitespace

'class'       Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'SAMPLE'      Name.Class
'\n\n'        Text.Whitespace

'inherit'     Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ARGUMENTS'   Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'rename'      Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Command_line' Name
' '           Text.Whitespace
'as'          Keyword.Reserved
' '           Text.Whitespace
'Caller_command' Name
','           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'command_name' Name
' '           Text.Whitespace
'as'          Keyword.Reserved
' '           Text.Whitespace
'Application_name' Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'undefine'    Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'out'         Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'ANY'         Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'export'      Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'{'           Punctuation
'ANY'         Name.Class
'}'           Punctuation
' '           Text.Whitespace
'out'         Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'redefine'    Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'out'         Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n\n\n'    Text.Whitespace

'create'      Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'make'        Name
'\n\n'        Text.Whitespace

'convert'     Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'as_boolean'  Name
':'           Punctuation
' '           Text.Whitespace
'{'           Punctuation
'BOOLEAN'     Name.Class
'}'           Punctuation
'\n\n'        Text.Whitespace

'feature'     Keyword.Reserved
' '           Text.Whitespace
'{'           Punctuation
'NONE'        Keyword.Reserved
'}'           Punctuation
' '           Text.Whitespace
'-- Initialization' Comment.Single
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'make'        Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'-- Run application.' Comment.Single
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'local'       Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'i1_'         Name
':'           Punctuation
'expanded'    Keyword.Reserved
' '           Text.Whitespace
'INTEGER'     Name.Class
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'f_1'         Name
':'           Punctuation
'REAL_64'     Name.Class
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'l_char'      Name
':'           Punctuation
'CHARACTER_8' Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'do'          Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'l_char'      Name
':='          Operator
"'!'"         Literal.String.Char
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'l_char'      Name
':='          Operator
"'%''"        Literal.String.Char
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'l_char'      Name
':='          Operator
"'%%'"        Literal.String.Char
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'i1_'         Name
':='          Operator
'80'          Literal.Number.Integer
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'0x2F0C'      Literal.Number.Hex
' '           Text.Whitespace
'//'          Operator
' '           Text.Whitespace
'0C70'        Literal.Number.Oct
' '           Text.Whitespace
'\\\\'        Operator
' '           Text.Whitespace
'0b10110'     Literal.Number.Bin
' '           Text.Whitespace
'*'           Operator
' '           Text.Whitespace
'1'           Literal.Number.Integer
';'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'f_1'         Name
':='          Operator
'0.1'         Literal.Number.Float
' '           Text.Whitespace
'/'           Operator
' '           Text.Whitespace
'.567'        Literal.Number.Float
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'f_1'         Name
':='          Operator
'34.'         Literal.Number.Float
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'f_1'         Name
':='          Operator
'12345.67890' Literal.Number.Float
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'inspect'     Keyword.Reserved
' '           Text.Whitespace
'i1_'         Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'when'        Keyword.Reserved
' '           Text.Whitespace
'1'           Literal.Number.Integer
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'io'          Name
'.'           Punctuation
'output'      Name
'.'           Punctuation
'put_integer' Name
' '           Text.Whitespace
'('           Punctuation
'i1_'         Name
')'           Punctuation
'\t\t'        Text.Whitespace
'-- Comment'  Comment.Single
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'io'          Name
'.'           Punctuation
'output'      Name
'.'           Punctuation
'put_real'    Name
' '           Text.Whitespace
'('           Punctuation
'f_1'         Name
'.'           Punctuation
'truncated_to_real' Name
')'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'io'          Name
'.'           Punctuation
'output'      Name
'.'           Punctuation
'put_string'  Name
' '           Text.Whitespace
'('           Punctuation
'CuRrEnt'     Keyword.Constant
'.'           Punctuation
'out'         Name
')'           Punctuation
'\t\t'        Text.Whitespace
'-- Comment'  Comment.Single
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'('           Punctuation
'agent'       Keyword.Reserved
' '           Text.Whitespace
'funct_1'     Name
')'           Punctuation
'.'           Punctuation
'call'        Name
'('           Punctuation
'['           Operator
'1'           Literal.Number.Integer
','           Punctuation
'2'           Literal.Number.Integer
','           Punctuation
'"Coucou"'    Literal.String
']'           Operator
')'           Punctuation
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'feature'     Keyword.Reserved
' '           Text.Whitespace
'-- Access'   Comment.Single
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'funct_1'     Name
'('           Punctuation
'x'           Name
','           Punctuation
'y'           Name
':'           Punctuation
'separate'    Keyword.Reserved
' '           Text.Whitespace
'INTEGER'     Name.Class
';'           Punctuation
'a_text'      Name
':'           Punctuation
'READABLE_STRING_GENERAL' Name.Class
')'           Punctuation
':'           Punctuation
'detachable'  Keyword.Reserved
' '           Text.Whitespace
'BOOLEAN'     Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'obsolete'    Keyword.Reserved
' '           Text.Whitespace
'"This function is obsolete"' Literal.String
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'require'     Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Is_Attached' Name
':'           Punctuation
' '           Text.Whitespace
'AttAched'    Keyword.Reserved
' '           Text.Whitespace
'a_text'      Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'local'       Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'l_list'      Name
':'           Punctuation
'LIST'        Name.Class
'['           Operator
'like'        Keyword.Reserved
' '           Text.Whitespace
'x'           Name
']'           Operator
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'do'          Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'if'          Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'NOT'         Operator.Word
' '           Text.Whitespace
'a_text'      Name
'.'           Punctuation
'is_empty'    Name
'='           Operator
'TrUe'        Keyword.Constant
' '           Text.Whitespace
'or'          Operator.Word
' '           Text.Whitespace
'elSe'        Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'('           Punctuation
'x'           Name
'<'           Operator
'0'           Literal.Number.Integer
' '           Text.Whitespace
'aNd'         Operator.Word
' '           Text.Whitespace
'x'           Name
'>'           Operator
'10'          Literal.Number.Integer
')'           Punctuation
' '           Text.Whitespace
'oR'          Operator.Word
' '           Text.Whitespace
'('           Punctuation
'y'           Name
'>'           Operator
'0'           Literal.Number.Integer
' '           Text.Whitespace
'and'         Operator.Word
' '           Text.Whitespace
'then'        Operator.Word
' '           Text.Whitespace
'y'           Name
'<'           Operator
'10'          Literal.Number.Integer
')'           Punctuation
')'           Punctuation
')'           Punctuation
' '           Text.Whitespace
'xor'         Operator.Word
' '           Text.Whitespace
'True'        Keyword.Constant
' '           Text.Whitespace
'thEn'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'ResuLT'      Keyword.Constant
' '           Text.Whitespace
':='          Operator
' '           Text.Whitespace
'FalSe'       Keyword.Constant
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'elseif'      Keyword.Reserved
' '           Text.Whitespace
'('           Punctuation
'acROss'      Keyword.Reserved
' '           Text.Whitespace
'l_list'      Name
' '           Text.Whitespace
'as'          Keyword.Reserved
' '           Text.Whitespace
'la_list'     Name
' '           Text.Whitespace
'SoMe'        Name
'\t'          Text.Whitespace
'la_list'     Name
'.'           Punctuation
'item'        Name
'<'           Operator
'0'           Literal.Number.Integer
' '           Text.Whitespace
'end'         Keyword.Reserved
')'           Punctuation
' '           Text.Whitespace
'implies'     Operator.Word
' '           Text.Whitespace
'a_text'      Name
'.'           Punctuation
'is_boolean'  Name
' '           Text.Whitespace
'then'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'ResuLT'      Keyword.Constant
' '           Text.Whitespace
':='          Operator
' '           Text.Whitespace
'FalSe'       Keyword.Constant
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'else'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'Result'      Keyword.Constant
' '           Text.Whitespace
':='          Operator
' '           Text.Whitespace
'TruE'        Keyword.Constant
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'eND'         Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'from'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'l_list'      Name
'.'           Punctuation
'start'       Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'until'       Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'l_list'      Name
'.'           Punctuation
'exhausted'   Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'loop'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'l_list'      Name
'.'           Punctuation
'forth'       Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'variant'     Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t\t'    Text.Whitespace
'l_list'      Name
'.'           Punctuation
'count'       Name
' '           Text.Whitespace
'-'           Operator
' '           Text.Whitespace
'l_list'      Name
'.'           Punctuation
'index'       Name
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'check'       Keyword.Reserved
' '           Text.Whitespace
'Current'     Keyword.Constant
' '           Text.Whitespace
'/='          Operator
' '           Text.Whitespace
'Void'        Keyword.Constant
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'debug'       Keyword.Reserved
' '           Text.Whitespace
'print'       Name
'('           Punctuation
'"%"Here%"%N"' Literal.String
')'           Punctuation
' '           Text.Whitespace
'end'         Keyword.Reserved
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'ensure'      Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Is_Cool_Not_Change' Name
':'           Punctuation
' '           Text.Whitespace
'is_cool'     Name
' '           Text.Whitespace
'='           Operator
' '           Text.Whitespace
'old'         Keyword.Reserved
' '           Text.Whitespace
'is_cool'     Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'is_cool'     Name
':'           Punctuation
'BOOLEAN'     Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'attribute'   Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Result'      Keyword.Constant
':='          Operator
'False'       Keyword.Constant
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'froZen'      Keyword.Reserved
' '           Text.Whitespace
'c_malloc'    Name
':'           Punctuation
' '           Text.Whitespace
'POINTER'     Name.Class
' '           Text.Whitespace
'is'          Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'exTErnal'    Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"C inline use <stdlib.h>"' Literal.String
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'alIAs'       Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'"malloc (1)"' Literal.String
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'as_boolean'  Name
':'           Punctuation
'BOOLEAN'     Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'do'          Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Result'      Keyword.Constant
':='          Operator
'True'        Keyword.Constant
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'rescue'      Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'retry'       Keyword.Reserved
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'feature'     Keyword.Reserved
' '           Text.Whitespace
'{'           Punctuation
'ANY'         Name.Class
'}'           Punctuation
' '           Text.Whitespace
'-- The redefine feature' Comment.Single
'\n\n'        Text.Whitespace

'\t'          Text.Whitespace
'out'         Name
':'           Punctuation
'STRING_8'    Name.Class
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'once'        Keyword.Reserved
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'reSUlt'      Keyword.Constant
':='          Operator
'PrecursOr'   Keyword.Constant
' '           Text.Whitespace
'{'           Punctuation
'ANY'         Name.Class
'}'           Punctuation
'\n'          Text.Whitespace

'\t\t\t'      Text.Whitespace
'Result'      Keyword.Constant
' '           Text.Whitespace
':='          Operator
' '           Text.Whitespace
'"Hello Worl"' Literal.String
'+'           Operator
'('           Punctuation
"'d'"         Literal.String.Char
')'           Punctuation
'.'           Punctuation
'out'         Name
'\n'          Text.Whitespace

'\t\t'        Text.Whitespace
'end'         Keyword.Reserved
'\n\n'        Text.Whitespace

'invariant'   Keyword.Reserved
'\n'          Text.Whitespace

'\t'          Text.Whitespace
'Always_Cool' Name
':'           Punctuation
' '           Text.Whitespace
'is_cool'     Name
'\n'          Text.Whitespace

'end'         Keyword.Reserved
'\n'          Text.Whitespace
