object SyntAnal24: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Default'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      FormatType = ftCustomFont
    end
    item
      DisplayName = 'Symbol'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Number'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'String'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlue
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Identifier'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Reserved word'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Marked block'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clHighlightText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = clHighlight
      FormatType = ftColor
    end
    item
      DisplayName = 'Variable'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Something'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlue
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsUnderline]
    end
    item
      DisplayName = 'String regex'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '\#.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Variable'
      StyleName = 'Variable'
      TokenType = 8
      Expression = '\$\w+::\w+ |'#13#10'[\$\#%@]+\w+'#13#10
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String Regex subst'
      StyleName = 'String regex'
      TokenType = 4
      Expression = 's/ (\\/|.)*? / (\\/|.)*? / \w* '
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String Regex'
      StyleName = 'String regex'
      TokenType = 4
      Expression = '\w* / (\\/|.)+? (/|$) \w* '
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Identifier'
      TokenType = 2
      Expression = '[a-z_]\w*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '"(\\\\|\\"|.)*?("|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String 2'
      StyleName = 'Something'
      TokenType = 9
      Expression = #39'.*?('#39'|$)'#13#10
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol single'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[\(\)\[\]\{\}]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[/\*,\.;:=<>\+\-\?!@&%\|~]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Float'
      StyleName = 'Number'
      TokenType = 6
      Expression = '\d+ \.? \d+ e [\+\-]? \d+ |'#13#10'\d+ \. \d+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Integer'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Key words'
      StyleName = 'Reserved word'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            '__DATA__'
            '__END__'
            '__FILE__'
            '__LINE__'
            '__PACKAGE__'
            'abs'
            'accept'
            'alarm'
            'and'
            'atan2'
            'AUTOLOAD'
            'BEGIN'
            'bind'
            'binmode'
            'bless'
            'caller'
            'chdir'
            'CHECK'
            'chmod'
            'chomp'
            'chop'
            'chown'
            'chr'
            'chroot'
            'close'
            'closedir'
            'cmp'
            'connect'
            'continue'
            'CORE'
            'cos'
            'crypt'
            'dbmclose'
            'dbmopen'
            'define'
            'defined'
            'delete'
            'DESTROY'
            'die'
            'do'
            'dump'
            'each'
            'else'
            'elsif'
            'END'
            'endgrent'
            'endhostent'
            'endnetent'
            'endprotoent'
            'endpwent'
            'endservent'
            'eof'
            'EQ'
            'eval'
            'exec'
            'exists'
            'exit'
            'exp'
            'fcntl'
            'fileno'
            'flock'
            'for'
            'foreach'
            'fork'
            'format'
            'formline'
            'GE'
            'getc'
            'getgrent'
            'getgrgid'
            'getgrnam'
            'gethostbyaddr'
            'gethostbyname'
            'gethostent'
            'getlogin'
            'getnetbyaddr'
            'getnetbyname'
            'getnetent'
            'getpeername'
            'getpgrp'
            'getppid'
            'getpriority'
            'getprotobyname'
            'getprotobynumber'
            'getprotoent'
            'getpwent'
            'getpwnam'
            'getpwuid'
            'getservbyname'
            'getservbyport'
            'getservent'
            'getsockname'
            'getsockopt'
            'glob'
            'gmtime'
            'goto'
            'grep'
            'GT'
            'hex'
            'if'
            'index'
            'INIT'
            'int'
            'ioctl'
            'join'
            'keys'
            'kill'
            'last'
            'lc'
            'lcfirst'
            'LE'
            'length'
            'link'
            'listen'
            'local'
            'localtime'
            'lock'
            'log'
            'lstat'
            'LT'
            'm'
            'map'
            'mkdir'
            'msgctl'
            'msgget'
            'msgrcv'
            'msgsnd'
            'my'
            'NE'
            'next'
            'no'
            'not'
            'NULL'
            'oct'
            'open'
            'opendir'
            'or'
            'ord'
            'our'
            'pack'
            'package'
            'pipe'
            'pop'
            'pos'
            'print'
            'printf'
            'prototype'
            'push'
            'q'
            'qq'
            'qr'
            'qu'
            'quotemeta'
            'qw'
            'qx'
            'rand'
            'read'
            'readdir'
            'readline'
            'readlink'
            'readpipe'
            'recv'
            'redo'
            'ref'
            'rename'
            'require'
            'reset'
            'return'
            'reverse'
            'rewinddir'
            'rindex'
            'rmdir'
            's'
            'scalar'
            'seek'
            'seekdir'
            'select'
            'semctl'
            'semget'
            'semop'
            'send'
            'setgrent'
            'sethostent'
            'setnetent'
            'setpgrp'
            'setpriority'
            'setprotoent'
            'setpwent'
            'setservent'
            'setsockopt'
            'shift'
            'shmctl'
            'shmget'
            'shmread'
            'shmwrite'
            'shutdown'
            'sin'
            'sleep'
            'socket'
            'socketpair'
            'sort'
            'splice'
            'split'
            'sprintf'
            'sqrt'
            'srand'
            'stat'
            'study'
            'sub'
            'substr'
            'symlink'
            'syscall'
            'sysopen'
            'sysread'
            'sysseek'
            'system'
            'syswrite'
            'tell'
            'telldir'
            'tie'
            'tied'
            'time'
            'times'
            'tr'
            'truncate'
            'uc'
            'ucfirst'
            'umask'
            'undef'
            'unless'
            'unlink'
            'unpack'
            'unshift'
            'untie'
            'until'
            'use'
            'utime'
            'values'
            'vec'
            'wait'
            'waitpid'
            'wantarray'
            'warn'
            'while'
            'write'
            'x'
            'xor'
            'y')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Sub'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
        end
        item
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            'sub')
          TokenTypes = 1028
        end>
      BlockEnd = '}'
      NameFmt = 'sub %s-1'
      RefToCondEnd = True
      HighlightPos = cpAny
      CollapseFmt = 'sub %s-1'
      IgnoreAsParent = False
    end
    item
      DisplayName = '{'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end>
      BlockEnd = '}'
      DisplayInTree = False
      HighlightPos = cpAny
      DrawStaple = True
      CollapseFmt = '...'
      IgnoreAsParent = False
    end
    item
      DisplayName = '}'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '#!/bin/perl'
    'require "cgi-lib.pl";   '
    'use sigtrap;'
    'do '#39'envars.pl'#39';'
    ''
    '$re = m/text/i; #Usual regex'
    '$sLine =~ s/x/y/; #Subst regex'
    '$sLine =~ s/x\/y/y\*z/g; #Subst too'
    ''
    '$MyVar or $MyLib::MyVar '
    'or @MyArray or $#MyArray or %MyHash'
    ''
    'sub MyOpen(*$) {  # debug'
    '  my ($sKey);'
    '}  '
    ''
    'sub WriteBack() {'
    '        while ($_ ne "fred")    {'
    '                sleep 5;'
    '        }'
    '}'
    ''
    'sub Some {'
    '  print "Test";'
    '  while (test) {'
    '    print "TT";'
    '  }  '
    '}')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Integer const'
    'Float const'
    'Hex const'
    'Char const'
    'String 2')
  MarkedBlockStyle = 'Marked block'
  Extentions = 'pl pm cgi pod plx'
  LexerName = 'Perl'
  Notes.Strings = (
    'Fixes by Alex, uvviewsoft.com')
  LineComment = '#'
  Charset = DEFAULT_CHARSET
end
