object SyntAnal21: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGray
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'Identifier'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'String'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Number'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clNavy
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Symbol'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    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 = 'Function separator'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = clLime
    end
    item
      DisplayName = 'Function background'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      BgColor = clCream
      FormatType = ftBackGround
    end
    item
      DisplayName = 'Current block bound'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clMaroon
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
      BgColor = 13369046
      FormatType = ftColor
      BorderTypeLeft = blSolid
      BorderColorLeft = clGray
      BorderTypeTop = blSolid
      BorderColorTop = clGray
      BorderTypeRight = blSolid
      BorderColorRight = clGray
      BorderTypeBottom = blSolid
      BorderColorBottom = clGray
    end
    item
      DisplayName = 'Operator Keywords'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
      FormatFlags = [ffBold, ffItalic, ffUnderline, ffStrikeOut, ffReadOnly, ffHidden]
    end
    item
      DisplayName = 'Label'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clRed
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end>
  TokenRules = <
    item
      DisplayName = 'Comment'
      StyleName = 'Comment'
      TokenType = 1
      Expression = #39'.* | rem\b .*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '".*?("|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Label'
      StyleName = 'Label'
      TokenType = 6
      Expression = '^\x20*\w+:'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id_spec_beginif'
      StyleName = 'Reserved word'
      TokenType = 7
      Expression = '\b if \b (?= .*? (\b then \x20* | \x20 _) $)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id_spec_next'
      StyleName = 'Reserved word'
      TokenType = 8
      Expression = '\b next \x20* $'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = '_ continuation'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '_$'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Id'
      StyleName = 'Identifier'
      TokenType = 2
      Expression = '[a-z_]\w*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Float'
      StyleName = 'Number'
      TokenType = 5
      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
    item
      DisplayName = 'Hex'
      StyleName = 'Number'
      TokenType = 5
      Expression = '&H[\da-f]+&? |'#13#10'&o[0-7]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment in JSP'
      StyleName = 'Comment'
      TokenType = 1
      Expression = '//.*'
      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>
  BlockRules = <
    item
      DisplayName = 'Keywords'
      StyleName = 'Reserved word'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'addressof'
            'alias'
            'and'
            'appactivate'
            'as'
            'beep'
            'binary'
            'boolean'
            'byref'
            'byte'
            'byval'
            'call'
            'case'
            'catch'
            'chdir'
            'chdrive'
            'choose'
            'class'
            'close'
            'const'
            'currency'
            'date'
            'decimal'
            'declare'
            'deletesetting'
            'dim'
            'do'
            'doevents'
            'double'
            'each'
            'else'
            'elseif'
            'empty'
            'end'
            'enum'
            'eqv'
            'erase'
            'error'
            'event'
            'execute'
            'executeglobal'
            'exit'
            'explicit'
            'False'
            'filecopy'
            'finally'
            'for'
            'friend'
            'function'
            'get'
            'gosub'
            'goto'
            'if'
            'imp'
            'implements'
            'in'
            'input'
            'integer'
            'is'
            'kill'
            'let'
            'lib'
            'like'
            'line'
            'load'
            'lock'
            'long'
            'loop'
            'lset'
            'mod'
            'module'
            'namespace'
            'new'
            'next'
            'not'
            'nothing'
            'null'
            'object'
            'on'
            'option'
            'optional'
            'or'
            'paramarray'
            'property'
            'redim'
            'resume'
            'return'
            'select'
            'set'
            'single'
            'static'
            'step'
            'stop'
            'string'
            'sub'
            'switch'
            'then'
            'to'
            'True'
            'try'
            'type'
            'typeof'
            'unlock'
            'until'
            'using'
            'variant'
            'wend'
            'while'
            'with'
            'withevents'
            'write'
            'xor')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Keywords modifiers'
      StyleName = 'Operator Keywords'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'default'
            'imports'
            'inherits'
            'overloads'
            'overrides'
            'partial'
            'private'
            'protected'
            'public'
            'shared')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Sub begin line break'
      StyleName = 'Function separator'
      BlockName = 'Func'
      NotParent = True
      BlockType = btLineBreak
      ConditionList = <
        item
          TagList.Strings = (
            'function'
            'property'
            'sub')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end'
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Sub end line break'
      StyleName = 'Function separator'
      BlockType = btLineBreak
      ConditionList = <
        item
          TagList.Strings = (
            'function'
            'property'
            'sub')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end')
          TokenTypes = 4
          IgnoreCase = True
        end>
      LinePos = lbBottom
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Dim'
      ConditionList = <
        item
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'dim')
          TokenTypes = 4
          IgnoreCase = True
        end>
      NotCollapsed = True
      GroupFmt = 'Variables'
      HighlightPos = cpBound
      NoEndRule = True
      TreeItemImage = 4
      TreeGroupImage = 0
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Func end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            'function'
            'sub')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      CancelNextRules = True
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Func'
      StyleName = 'Function background'
      ConditionList = <
        item
          TagList.Strings = (
            'function'
            'sub')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'Func end'
      Highlight = True
      NameFmt = '%s0 %s-1'
      DynHighlight = dhRange
      HighlightPos = cpRange
      DynSelectMin = True
      CollapseFmt = '%s0 %s-1'
      TreeItemStyle = 'Reserved word'
      TreeItemImage = 5
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Prop end'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            'property')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      CancelNextRules = True
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Prop'
      StyleName = 'Function background'
      ConditionList = <
        item
          TagList.Strings = (
            'get'
            'let'
            'set')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'property')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'Prop end'
      Highlight = True
      NameFmt = '%s0 %s-1'
      DynHighlight = dhRange
      HighlightPos = cpRange
      DynSelectMin = True
      CollapseFmt = '%s0 %s-1'
      TreeItemStyle = 'Reserved word'
      TreeItemImage = 6
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Begin'
      StyleName = 'Current block bound'
      ConditionList = <
        item
          TagList.Strings = (
            'end')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'class'
            'enum'
            'get'
            'module'
            'namespace'
            'select'
            'set'
            'try'
            'type'
            'using'
            'while'
            'with')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end'
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      IdentIndex = 1
      BlockOffset = 1
      BlockEnd = 'End'
      DisplayInTree = False
      DynHighlight = dhBound
      HighlightPos = cpRange
      DynSelectMin = True
      DrawStaple = True
      CollapseFmt = '%sz1'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'End'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'end')
          TokenTypes = 4
          IgnoreCase = True
        end>
      IdentIndex = -1
      SameIdent = True
      RefToCondEnd = True
      HighlightPos = cpBound
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Begin If'
      StyleName = 'Current block bound'
      ConditionList = <
        item
          TokenTypes = 128
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'case'
            'end')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'End'
      DisplayInTree = False
      DynHighlight = dhBound
      HighlightPos = cpRange
      DrawStaple = True
      CollapseFmt = '%sz0'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Begin For'
      StyleName = 'Current block bound'
      ConditionList = <
        item
          TagList.Strings = (
            'for')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockOffset = -1
      BlockEnd = 'End For'
      DisplayInTree = False
      RefToCondEnd = True
      DynHighlight = dhBound
      HighlightPos = cpRange
      DrawStaple = True
      CollapseFmt = '%sz-1'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'End For'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TokenTypes = 256
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'resume')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Begin Do'
      StyleName = 'Current block bound'
      ConditionList = <
        item
          TagList.Strings = (
            'do')
          TokenTypes = 4
          IgnoreCase = True
        end
        item
          TagList.Strings = (
            'exit')
          CondType = tcNotEqual
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'End Do'
      DisplayInTree = False
      DynHighlight = dhBound
      HighlightPos = cpRange
      DrawStaple = True
      CollapseFmt = '%sz0'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'End Do'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            'loop')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end
    item
      DisplayName = 'Begin While'
      StyleName = 'Current block bound'
      ConditionList = <
        item
          TagList.Strings = (
            'while')
          TokenTypes = 4
          IgnoreCase = True
        end>
      BlockEnd = 'End While'
      DisplayInTree = False
      DynHighlight = dhBound
      HighlightPos = cpRange
      DrawStaple = True
      CollapseFmt = '%sz0'
      IgnoreAsParent = False
    end
    item
      DisplayName = 'End While'
      BlockType = btRangeEnd
      ConditionList = <
        item
          TagList.Strings = (
            'wend')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpAny
      IgnoreAsParent = False
    end>
  CodeTemplates = <>
  SubAnalyzers = <>
  SampleText.Strings = (
    #39'Comment'
    'Test rem - comment'
    ''
    'Class Printer'
    '  Private intEolFormat'
    ''
    '  Public Property Let EolFormat(intValue)'
    '    For i As Integer = 1 To 16'
    '      '#39'don'#39't interpret object property Next as end of For loop'
    '      Dim idx As Integer = r.Next(0, 35)'
    ''
    '      With sb'
    '        .Append(.Substring(idx, 1))'
    '      End With'
    '    Next'
    ''
    '    '#39'old While...Wend loop'
    '    While X = 0'
    '      X = x + 1'
    '    Wend'
    ''
    '    '#39'don'#39't fold If'
    
      '    '#39'don'#39't interpret Exit Property as beginning of property gett' +
      '/setter'
    
      '    If intValue <> vbCrLf And intValue <> vbLf Then Exit Propert' +
      'y'
    ''
    '    intEolFormat = intValue'
    '  End Property'
    ''
    '  Public Sub PrintString(I)'
    '    Dim I, X'
    ''
    '    Select Case I'
    '      Case 0'
    '        X = 1'
    '      Case 1'
    '        X = 3'
    '      Case Else'
    '        X = 5'
    '    End Select'
    ''
    '    '#39'don'#39't fold If'
    '    '#39'don'#39't interpret Exit Sub as beginning of sub'
    '    If X = 5 Then Exit Sub'
    ''
    '    '#39'variants of Do...Loop'
    '    Do'
    '      X = x + 1'
    '    Loop Until X = 10'
    ''
    '    Do Until X = 0'
    '      X = x - 1'
    '    Loop'
    ''
    '    Do While X < 10'
    '      X = X + 1'
    '    Loop'
    ''
    '    Do'
    '      X = x - 1'
    '    Loop While X > 0'
    '  End Sub'
    ''
    '  Public Function PrintNumber'
    '    Dim Number'
    ''
    '    Number = 12 + 12.2 + 1.2e3 + 1.2e-3'
    '    Response.Write "The number is " & number'
    ''
    '    '#39'don'#39't fold If'
    '    '#39'don'#39't interpret Exit Function as beginning of function'
    '    If Number = 0 Then Exit Function'
    ''
    '    '#39'folded'
    '    If nnn Then'
    '      '#39'not folded'
    '      If True Then name'
    '    End If'
    ''
    '    '#39'more variants of If'
    '    If I = 0 Then'
    '      I = -1'
    '    End If'
    ''
    '    If I = 0 Then'
    '      I = -1'
    '    Else'
    '      I = 1'
    '    End If'
    ''
    '    If I = 0 Then'
    '      I = -1'
    '    ElseIf I = 1 Then'
    '      I = 0'
    '    End If'
    ''
    '    If I = 0 Then'
    '      I = -1'
    '    ElseIf I = 1 Then'
    '      I = 0'
    '    Else'
    '      I = 1'
    '    End If'
    ''
    '   '#39'if with multi-line condition and one-line if...then'
    '    If I = 0 Or _'
    '       I = 2 Then'
    '      I = -1'
    '      If X = 4 Then I = -2'
    '    ElseIf I = 1 Or _'
    '           I = 3 Then'
    '      If X = 5 Then I = 0'
    '    Else'
    '      I = 1'
    '    End If'
    ''
    '    For I = 0 To Number'
    '      X = X + &hFF'
    '      X = X - &o7'
    ''
    '      '#39'don'#39't fold If'
    '      '#39'don'#39't interpret Exit For as beginning of For loop'
    '      If X = 0 Then Exit For'
    '    Next'
    ''
    '    Do'
    '      '#39'don'#39't fold If'
    '      '#39'don'#39't interpret Exit Do as beginning of Do loop'
    '      If X > 100 Then Exit Do'
    '    Loop While X = 0'
    ''
    '    I = I + @;'
    '  End Function'
    'End Class')
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Number'
    'Label'
    'Id_spec_BeginIf'
    'Id_spec_Next')
  Extentions = 'vb vbs'
  LexerName = 'VBScript'
  Notes.Strings = (
    'Changed by Alexey (CudaText):'
    '- folded For-Next'
    '- folded If-EndIf, but only multi-line If'
    '- less token names'
    '- parser Octal nums')
  LineComment = #39
  Charset = DEFAULT_CHARSET
  Left = 144
  Top = 184
end
