object SyntAnal6: TLibSyntAnalyzer
  Formats = <
    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 = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Id'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Id keyword'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Id spec'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clPurple
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Id Linq'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = 12615808
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Comment doc'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = 12615808
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Preprocessor'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Bracket BG'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
      BgColor = clMoneyGreen
      FormatType = ftBackGround
      BorderTypeLeft = blSolid
      BorderColorLeft = clSilver
      BorderTypeTop = blSolid
      BorderColorTop = clSilver
      BorderTypeRight = blSolid
      BorderColorRight = clSilver
      BorderTypeBottom = blSolid
      BorderColorBottom = clSilver
    end>
  TokenRules = <
    item
      DisplayName = 'Comment doc'
      StyleName = 'Comment doc'
      TokenType = 1
      Expression = '///.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment 1'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '(?s)/\*.*?(\*/|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment 2'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '//.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Region name'
      StyleName = 'Preprocessor'
      BlockName = 'Region header'
      TokenType = 7
      Expression = '.*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String verbatim'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s) @" .*? ("|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '(?s) "(\\"|\\\\|.)*?("|\Z)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id keyword'
      StyleName = 'Id keyword'
      TokenType = 2
      Expression = '\b(if | foreach | while | catch)\b'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Id'
      TokenType = 2
      Expression = '[a-z_]\w*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Hex'
      StyleName = 'Number'
      TokenType = 5
      Expression = '0x[\da-f]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Float'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+ \.? \d+ e [\+\-]? \d+ [mdf]? |'#13#10'\d+ \. \d+ [mdf]?'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Integer'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+ (LU|L|UL|U)?'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Preprocessor'
      StyleName = 'Preprocessor'
      TokenType = 6
      Expression = '\# \x20* \w+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Char'
      StyleName = 'String'
      TokenType = 4
      Expression = #39'.*?('#39'|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Single symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[\{\}\(\)\[\],;\.@]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[/\+\-\*:=<>&/\|\^!~]+'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Id keywords'
      StyleName = 'Id keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'abstract'
            'add'
            'as'
            'base'
            'bool'
            'break'
            'byte'
            'case'
            'catch'
            'char'
            'checked'
            'class'
            'const'
            'continue'
            'decimal'
            'default'
            'delegate'
            'do'
            'double'
            'else'
            'enum'
            'event'
            'explicit'
            'extern'
            'false'
            'finally'
            'fixed'
            'float'
            'for'
            'foreach'
            'get'
            'goto'
            'if'
            'implicit'
            'in'
            'int'
            'interface'
            'internal'
            'is'
            'lock'
            'long'
            'namespace'
            'new'
            'null'
            'object'
            'operator'
            'out'
            'override'
            'params'
            'partial'
            'private'
            'protected'
            'public'
            'readonly'
            'ref'
            'remove'
            'return'
            'sbyte'
            'sealed'
            'set'
            'short'
            'sizeof'
            'stackalloc'
            'static'
            'string'
            'struct'
            'switch'
            'this'
            'throw'
            'true'
            'try'
            'typeof'
            'uint'
            'ulong'
            'unchecked'
            'unsafe'
            'ushort'
            'using'
            'value'
            'var'
            'virtual'
            'void'
            'where'
            'while'
            'yield')
          TokenTypes = 4
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Id types'
      StyleName = 'Id spec'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'bool'
            'byte'
            'char'
            'decimal'
            'double'
            'float'
            'int'
            'long'
            'object'
            'sbyte'
            'short'
            'string'
            'uint'
            'ulong'
            'ushort'
            'void')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Id Linq'
      StyleName = 'Id Linq'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'ascending'
            'by'
            'descending'
            'equals'
            'from'
            'group'
            'into'
            'join'
            'let'
            'on'
            'orderby'
            'select'
            'where')
          TokenTypes = 4
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = '#if'
      ConditionList = <
        item
          TagList.Strings = (
            '#if*'
            '#ifdef*'
            '#ifndef*')
          CondType = tcMask
          TokenTypes = 1024
        end>
      BlockEnd = '#endif'
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = '#endif'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '#endif')
          TokenTypes = 1024
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'function begin'
      BlockName = 'function begin'
      NotParent = True
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TagList.Strings = (
            ')')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 12
        end
        item
          TagList.Strings = (
            '(')
          TokenTypes = 8
        end
        item
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            '('
            'class')
          CondType = tcNotEqual
          TokenTypes = 12
        end>
      IdentIndex = -1
      BlockEnd = 'function end'
      NameFmt = '%s-1~s[(]1'
      RefToCondEnd = True
      HighlightPos = cpBound
      GrammaRuleName = 'func'
      TreeItemImage = 5
      IgnoreAsParent = False
    end
    item
      DisplayName = '{'
      StyleName = 'Bracket BG'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end>
      BlockEnd = '}'
      DisplayInTree = False
      DynHighlight = dhBound
      HighlightPos = cpRange
      DynSelectMin = True
      DrawStaple = True
      CollapseFmt = '{ ... }'
      IgnoreAsParent = False
      AutoCloseMode = acmCloseNearest
      AutoCloseText = '}'
    end
    item
      DisplayName = 'class'
      ConditionList = <
        item
          TagList.Strings = (
            'class')
          TokenTypes = 4
        end>
      IdentIndex = -1
      BlockEnd = 'end of class'
      NameFmt = 'class %s-1'
      HighlightPos = cpBound
      CollapseFmt = 'class %s-1'
      TreeItemImage = 1
      IgnoreAsParent = False
    end
    item
      DisplayName = 'namespace'
      ConditionList = <
        item
          TagList.Strings = (
            'namespace')
          TokenTypes = 4
        end>
      IdentIndex = -1
      BlockEnd = 'end of namespace'
      NameFmt = 'ns %s-1'
      HighlightPos = cpBound
      CollapseFmt = 'ns %s-1'
      TreeItemImage = 0
      IgnoreAsParent = False
    end
    item
      DisplayName = '}'
      BlockName = '{'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'function end'
      BlockName = 'function begin'
      StrictParent = True
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'end of class'
      BlockName = 'class'
      StrictParent = True
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'end of namespace'
      BlockName = 'namespace'
      StrictParent = True
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Region header'
      ConditionList = <
        item
          TagList.Strings = (
            '#region')
          TokenTypes = 512
          IgnoreCase = True
        end>
      DisplayInTree = False
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Region header end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TokenTypes = 1024
        end>
      BlockEnd = 'Region header'
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'prop begin'
      BlockName = 'prop begin'
      NotParent = True
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          TagList.Strings = (
            'get'
            'set')
          TokenTypes = 4
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TokenTypes = 4
        end>
      BlockEnd = 'prop end'
      NameFmt = '%s0'
      RefToCondEnd = True
      HighlightPos = cpAny
      TreeItemImage = 4
      IgnoreAsParent = False
    end
    item
      DisplayName = 'prop end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      BlockEnd = 'prop begin'
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'enum begin'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            'enum')
          TokenTypes = 4
        end>
      BlockEnd = 'enum end'
      NameFmt = '%s0 %s-1'
      RefToCondEnd = True
      HighlightPos = cpAny
      TreeItemImage = 2
      IgnoreAsParent = False
    end
    item
      DisplayName = 'enum end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      BlockEnd = 'enum begin'
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'indexer begin'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TagList.Strings = (
            ']')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            '[')
          TokenTypes = 8
        end
        item
          TagList.Strings = (
            'this')
          TokenTypes = 4
        end
        item
          TokenTypes = 4
        end>
      BlockEnd = 'indexer end'
      NameFmt = 'indexer %s0'
      RefToCondEnd = True
      HighlightPos = cpAny
      TreeItemImage = 7
      IgnoreAsParent = False
    end
    item
      DisplayName = 'indexer end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      BlockEnd = 'indexer begin'
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'struct begin'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            'struct')
          TokenTypes = 4
        end>
      BlockEnd = 'struct end'
      NameFmt = '%s-1'
      RefToCondEnd = True
      HighlightPos = cpAny
      TreeItemImage = 2
      IgnoreAsParent = False
    end
    item
      DisplayName = 'struct end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      BlockEnd = 'struct begin'
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'oper begin'
      ConditionList = <
        item
          TagList.Strings = (
            '{')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TagList.Strings = (
            ')')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 12
        end
        item
          TagList.Strings = (
            '(')
          TokenTypes = 8
        end
        item
          TokenTypes = 8
        end
        item
          TagList.Strings = (
            'operator')
          TokenTypes = 4
        end
        item
          TokenTypes = 4
        end>
      BlockEnd = 'oper end'
      NameFmt = 'operator %s-2'
      RefToCondEnd = True
      HighlightPos = cpAny
      TreeItemImage = 7
      IgnoreAsParent = False
    end
    item
      DisplayName = 'oper end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            '}')
          TokenTypes = 8
        end>
      BlockEnd = 'oper begin'
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'field'
      ConditionList = <
        item
          TagList.Strings = (
            ','
            ';'
            '=')
          TokenTypes = 8
        end
        item
          TokenTypes = 4
        end
        item
          CondType = tcMask
          TokenTypes = 4
        end
        item
          TagList.Strings = (
            'private'
            'public'
            'static')
          TokenTypes = 4
        end>
      NameFmt = '%sz-1'
      RefToCondEnd = True
      HighlightPos = cpAny
      NoEndRule = True
      GrammaRuleName = 'field'
      TreeItemImage = 3
      IgnoreAsParent = False
    end
    item
      DisplayName = 'delegate begin'
      ConditionList = <
        item
          TagList.Strings = (
            '(')
          TokenTypes = 8
        end
        item
          CondType = tcSkip
          TokenTypes = 2
        end
        item
          TokenTypes = 4
        end
        item
          CondType = tcSkip
          TokenTypes = 12
        end
        item
          TagList.Strings = (
            'delegate')
          TokenTypes = 4
        end>
      NameFmt = '%sz0'
      HighlightPos = cpAny
      NoEndRule = True
      TreeItemImage = 3
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    '//Comment'
    '   ///Comment doc'
    '   ///doc'
    '#  pragma Test'
    'test = @"begin'
    'end\" + "str\"d\"" + '#39'd'#39' + 0xA0F0;'
    'from nn select dd; //Linq'
    'enum Days {P1, P2, P3};'
    ' '
    'public class Stack: IEdit, IEdit2'
    '{'
    '  public delegate int[] DelDemo();'
    '  private Node first = null;'
    '  public bool Empty {'
    '    //property'
    '    get {'
    '      return (first == null);'
    '    }'
    '  }'
    '  public object IEdit.Pop() {'
    '    if (first == null)'
    '      throw new Exception("Err");'
    '    else {'
    '      return temp;'
    '    }'
    '  }'
    '  '
    '  static void RegisterFunction(Type reg1; Type2 reg2)'
    '  {'
    '    CategoryRegistration(registerType);'
    '  }'
    ''
    '  [ComUnregisterFunction()]'
    '  [ComVisible(false)] '
    
      '  static void UnregisterFunction(Type reg1; Type[] regs; Type2 r' +
      'eg2)'
    '  {'
    '    CategoryUnregistration(registerType);'
    '  }'
    '}')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Number'
    'Preprocessor'
    'Region name')
  Gramma.Gramma = 
    'Complex_name =  <Identifier> | Complex_name "." <Identifier>;'#13#10'f' +
    'ield = ('#39'private'#39' | '#39'public'#39' | '#39'static'#39') Complex_name <Identifie' +
    'r> ('#39'='#39' | '#39','#39' | '#39';'#39');'#13#10#13#10'Params = <Identifier> | Params <Identif' +
    'ier> | Params ('#39','#39' | '#39'.'#39' | '#39';'#39' | '#39':'#39' | '#39'['#39' | '#39']'#39');'#13#10'func = <Iden' +
    'tifier> ('#39'['#39' '#39']'#39')? Complex_name '#39'('#39' Params? '#39')'#39' '#39'{'#39';'#13#10
  Extentions = 'cs csx'
  LexerName = 'C#'
  Notes.Strings = (
    'Original was from EControl package'
    'Improved much by Alexey (SynWrite)')
  LineComment = '//'
  Charset = DEFAULT_CHARSET
end
