object SyntAnal4: TLibSyntAnalyzer
  Formats = <
    item
      DisplayName = 'Default'
      Font.Charset = ANSI_CHARSET
      Font.Color = clBlack
      Font.Height = -13
      Font.Name = 'Consolas'
      Font.Style = []
      VertAlignment = vaTop
      FormatType = ftCustomFont
    end
    item
      DisplayName = 'Marked block'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clHighlightText
      Font.Height = -13
      Font.Name = 'Consolas'
      Font.Style = []
      BgColor = clHighlight
      FormatType = ftColor
    end
    item
      DisplayName = 'Comment'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clGreen
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsItalic]
    end
    item
      DisplayName = 'String'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clBlue
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    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 = clTeal
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = [fsBold]
    end
    item
      DisplayName = 'Preprocessor'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clOlive
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Identifier'
      Enabled = False
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clFuchsia
      Font.Height = -13
      Font.Name = 'Courier New'
      Font.Style = []
    end
    item
      DisplayName = 'Keyword'
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clFuchsia
      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 = 'Comment (FunctionUsage)'
      StyleName = 'Comment'
      TokenType = 1
      Expression = 
        '[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn][Uu][Ss][Aa][Gg][Ee]((.|\r\n)*?)' +
        '[Ee][Nn][Dd][Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn][Uu][Ss][Aa][Gg][Ee]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Comment (DllUsage)'
      StyleName = 'Comment'
      TokenType = 1
      Expression = 
        '[Dd][Ll][Ll][Uu][Ss][Aa][Gg][Ee]((.|\r\n)*?)[Ee][Nn][Dd][Dd][Ll]' +
        '[Ll][Uu][Ss][Aa][Gg][Ee]'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String'
      StyleName = 'String'
      TokenType = 4
      Expression = '"(\\"|\\\\|.)*?("|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'String 2'
      StyleName = 'String'
      TokenType = 4
      Expression = #39'(\\'#39'|\\\\|.)*?('#39'|$)'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Symbol'
      StyleName = 'Symbol'
      TokenType = 3
      Expression = '[~!@%\^&\*\(\)-\+=\|\/\{\}\[\]:;<>,\?]+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Integer'
      StyleName = 'Number'
      TokenType = 5
      Expression = '\d+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Float'
      StyleName = 'Number'
      TokenType = 6
      Expression = 
        '#with exp. dot is optional '#13#10'(\d+ \.)? \d+ e [\+\-]? \d+ |'#13#10'#wit' +
        'hout exp. dot is required'#13#10'\d+ \. \d+'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'HEX'
      StyleName = 'Number'
      TokenType = 7
      Expression = '0x[\da-f]*'
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Define'
      Enabled = False
      StyleName = 'Preprocessor'
      TokenType = 9
      Expression = '(?-i)'#13#10'\#define(.*\\\s*\n)*'#13#10'.*  # last line'#13#10#13#10
      ColumnFrom = 0
      ColumnTo = 0
    end
    item
      DisplayName = 'Preprocessor'
      StyleName = 'Preprocessor'
      TokenType = 9
      Expression = '\#\w+'
      ColumnFrom = 0
      ColumnTo = 0
    end>
  BlockRules = <
    item
      DisplayName = 'Key words'
      StyleName = 'Keyword'
      BlockType = btTagDetect
      ConditionList = <
        item
          TagList.Strings = (
            'abort.program'
            'add.set'
            'all'
            'and'
            'array'
            'as'
            'asc'
            'at'
            'avg'
            'base'
            'based'
            'between'
            'bms'
            'break'
            'bset'
            'buffer'
            'by'
            'call'
            'case'
            'cast'
            'change.frm'
            'change.order'
            'chm'
            'clear'
            'clearunref'
            'common'
            'const'
            'cont.process'
            'continue'
            'count'
            'create.job'
            'current_date'
            'current_timestamp'
            'date'
            'date.num'
            'date.to.num'
            'def.find'
            'default'
            'delete'
            'deleteempty'
            'deleteerror'
            'desc'
            'dim'
            'display.set'
            'distinct'
            'domain'
            'double'
            'dupl.occur'
            'else'
            'empty'
            'end'
            'end.program'
            'endcase'
            'enddelete'
            'endfor'
            'endif'
            'endselect'
            'endupdate'
            'endwhile'
            'eq'
            'exists'
            'extern'
            'false'
            'fetching'
            'find.data'
            'first'
            'first.frm'
            'first.set'
            'first.view'
            'fixed'
            'for'
            'from'
            'function'
            'ge'
            'get.defaults'
            'global'
            'global.copy'
            'global.delete'
            'goto'
            'group'
            'gt'
            'having'
            'hint'
            'hints'
            'if'
            'in'
            'index'
            'inner'
            'input'
            'inrange'
            'integer'
            'interrupt'
            'is'
            'join'
            'last'
            'last.frm'
            'last.set'
            'last.view'
            'le'
            'left'
            'like'
            'long'
            'lt'
            'mark.delete'
            'mark.occur'
            'max'
            'mb'
            'min'
            'modify.set'
            'multibyte'
            'ne'
            'next.frm'
            'next.set'
            'next.view'
            'no'
            'not'
            'null'
            'on'
            'or'
            'order'
            'ordered'
            'outer'
            'path'
            'prepared'
            'prev.frm'
            'prev.set'
            'prev.view'
            'print'
            'print.data'
            'prompt'
            'raw'
            'real'
            'recover.set'
            'ref'
            'reference'
            'refers'
            'repeat'
            'resize.frm'
            'retry'
            'return'
            'right'
            'rotate.curr'
            'row'
            'rows'
            'run.job'
            'save.defaults'
            'select'
            'selectbind'
            'selectdo'
            'selectempty'
            'selecteos'
            'selecterror'
            'set'
            'setunref'
            'size'
            'skip'
            'start.query'
            'start.set'
            'static'
            'step'
            'stop'
            'string'
            'subhint'
            'sum'
            'table'
            'text.manager'
            'then'
            'timestamp'
            'to'
            'true'
            'union'
            'unref'
            'until'
            'update'
            'update.db'
            'updateempty'
            'updateerror'
            'use'
            'user.0'
            'user.1'
            'user.2'
            'user.3'
            'user.4'
            'user.5'
            'user.6'
            'user.7'
            'user.8'
            'user.9'
            'void'
            'where'
            'wherebind'
            'whereused'
            'while'
            'with'
            'zoom')
          TokenTypes = 4
          IgnoreCase = True
        end>
      HighlightPos = cpBound
      TokenType = 2
      IgnoreAsParent = False
    end>
  CodeTemplates = <
    item
      Name = 'if'
      Description = 'if statement'
      Code.Strings = (
        'if (|) then'
        #9
        'else'
        #9
        'endif')
    end
    item
      Name = 'case'
      Description = 'Case Statement'
      Code.Strings = (
        'on case (|)'
        #9'case :'
        '    '#9
        '    '#9'break'
        '    case :'
        '    '#9
        '    '#9'break'
        '    default:'
        '    '
        'endcase')
    end
    item
      Name = 'while'
      Description = 'While Statement'
      Code.Strings = (
        'while (|)'
        ''
        'endwhile')
    end
    item
      Name = 'for'
      Description = 'For Loop'
      Code.Strings = (
        'for | =  to  step '
        #9
        'endfor')
    end
    item
      Name = 'repeat'
      Description = 'Repeat Loop'
      Code.Strings = (
        'repeat'
        #9
        'until (|)')
    end
    item
      Name = 'id'
      Description = 'Idents'
      Code.Strings = (
        '|#<paste>.<caret>')
      Advanced = True
    end>
  SubAnalyzers = <>
  TokenTypeNames.Strings = (
    'Unknown'
    'Comment'
    'Identifier'
    'Symbol'
    'String'
    'Integer const'
    'Float const'
    'Hex const'
    'Char const'
    'Preprocessor')
  MarkedBlockStyle = 'Marked block'
  DefaultStyleName = 'Default'
  Extentions = 'bc cln'
  LexerName = 'MyOwn'
  LineComment = '|'
  Charset = DEFAULT_CHARSET
end
