You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
516 lines
12 KiB
Plaintext
516 lines
12 KiB
Plaintext
//=======================================================================
|
|
//================ Lex class support ====================================
|
|
//=======================================================================
|
|
// lexClass:
|
|
// + name = c_CPPString
|
|
// + parent:file = <*.h|*.cpp|*.c>
|
|
// + parent = c_CPP
|
|
// + parent:dyn = c_CPP
|
|
//
|
|
// + children = 0
|
|
// + children = class1, class2, ...
|
|
//
|
|
// previous:class =
|
|
// previous:tag =
|
|
// previous:tag:separators =
|
|
//
|
|
// start:class =
|
|
// start:Tag = '"'
|
|
//
|
|
// skip:Tag = '\"'
|
|
//
|
|
// end:class = //
|
|
// end:class:Parent = this
|
|
// end:Tag = '"'
|
|
// end:separators = ' '
|
|
//
|
|
// Token:tag = 'if', 'for', 'while', 'do'
|
|
// Token:start:separators =
|
|
// Token:end:separators =
|
|
//-----------------------------------------------------------------------
|
|
//---------------- Attributes -------------------------------------------
|
|
//-----------------------------------------------------------------------
|
|
// txt:colorFG = 0xffc0c0 // color value in hex format. default: black
|
|
// txt:colorBK = 0xffc0c0 // color value in hex format. default: white
|
|
//
|
|
// txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
|
|
// txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
|
|
//
|
|
// txt:Bold = 1 // {1,0} default: 0
|
|
// txt:Italic = 1 // {1,0} default: 0
|
|
// txt:Underline = 1 // {1,0} default: 0
|
|
//
|
|
// caseSensitive = 1 // {1,0} default: 0
|
|
//
|
|
// Collapsable = 1 // {1,0} default: 0
|
|
// CollapsedText = '/*...*/' // quoted string value. default: '[..]'
|
|
//
|
|
// ParseOnScreen = 1 // {1,0} default: 0
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
//=======================================================================
|
|
//================ Variables support ====================================
|
|
//=======================================================================
|
|
// NON operation - example: @alpha:not
|
|
//
|
|
// @alpha = a-z, A-Z
|
|
// @digit = 0-9
|
|
// @HexDdigit = 0-9, a-f, A-F
|
|
// @specs = "~`!@#$%^&*()_-+=\\|{}[];:'\",.<>/?"
|
|
// @EOL = End Of Line
|
|
//---------------------------------------------
|
|
// special tags: '\t', '\r', '\n'
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
lexClass:
|
|
name = c_LEX_CLASS
|
|
parent:file = <*.schclass>
|
|
caseSensitive = 0
|
|
//txt:colorBK = 0xfff7ff
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexCommentSL
|
|
parent:dyn = c_LEX_CLASS
|
|
children = 0
|
|
start:tag ='//'
|
|
end:tag = @eol
|
|
txt:colorFG = 0x00A000
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_section_header
|
|
parent = c_LEX_CLASS, c_LexClass_section
|
|
children = 0
|
|
Token:tag = 'lexClass:'
|
|
Token:start:separators = @eol, ' ', '\t'
|
|
Token:end:separators = @eol, ' ', '\t'
|
|
|
|
txt:colorFG = 0x0000FF
|
|
txt:colorBK = 0xAAAAAA
|
|
txt:Bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_section
|
|
parent = c_LEX_CLASS, c_LexClass_section
|
|
start:class = c_LexClass_section_header
|
|
//end:separators = 'lexClass:'
|
|
end:class = c_LexClass_section_end
|
|
txt:colorFG = 0xFF0000
|
|
Collapsable = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_section_end
|
|
parent = c_LexClass_section
|
|
previous:tag = @eol
|
|
previous:tag:separators = ' ', '\t'
|
|
start:tag = '//:lexClass'
|
|
end:tag = @EOL
|
|
txt:colorFG = 0x00A000
|
|
txt:colorBK = 0xE0E0E0
|
|
//txt:bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_CommaSeparator
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = 0
|
|
token:tag = ','
|
|
txt:colorFG = 0x808080
|
|
txt:Bold = 0
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Tag_str
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = c_LexClass_Tag_str_specs
|
|
start:tag = '\''
|
|
end:tag = '\'', @eol
|
|
txt:colorFG = 0xA00000
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Tag_str_specs
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Tag_str
|
|
children = 0
|
|
Token:tag = '\\\\'
|
|
Token:tag = '\\t', '\\n', '\\r', '\\a', '\\b', '\\v', '\\f', '\\\''
|
|
txt:colorFG = 0xC00000
|
|
txt:bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Tag_var
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = 0
|
|
|
|
token:tag = '@alpha:not', '@digit:not', '@HexDigit:not', '@specs:not', '@EOL:not'
|
|
token:tag = '@alpha', '@digit', '@HexDdigit', '@specs', '@EOL'
|
|
Token:start:separators = '=', ' ', '\t', ','
|
|
Token:end:separators = ' ', '\t', ',', @EOL
|
|
|
|
txt:colorFG = 0x00A000
|
|
txt:Bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_color
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = 0
|
|
start:tag = '0x'
|
|
end:tag = @HexDigit:not
|
|
txt:colorFG = 0x8000FF
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_number
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = 0
|
|
start:tag = @digit
|
|
end:tag = @digit:not
|
|
txt:colorFG = 0x000080
|
|
//:lexClass
|
|
|
|
//-- NAME -------------------------------------------------
|
|
lexClass:
|
|
name = c_LexClass_Prop_Name_name_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'name'
|
|
|
|
txt:colorFG = 0x505050
|
|
txt:colorBK = 0xEEEEEE
|
|
txt:Bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Name
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = c_LexClass_Prop_EQ, c_LexClass_Prop_Name_value_part
|
|
children = c_LexCommentSL
|
|
start:class = c_LexClass_Prop_Name_name_part
|
|
end:tag = @eol
|
|
txt:colorBK = 0xEEEEEE
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Name_value_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Prop_Name
|
|
children = c_LexClass_ClassName
|
|
|
|
start:class = c_LexClass_Prop_EQ
|
|
end:class = c_LexClass_ClassName
|
|
|
|
txt:bold = 1
|
|
//:lexClass
|
|
|
|
//-- PARENT:file -------------------------------------------------
|
|
lexClass:
|
|
name = c_LexClass_Prop_ParentFile_name_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'parent:file'
|
|
|
|
txt:colorFG = 0x505050
|
|
txt:colorBK = 0xDDDDDD
|
|
|
|
txt:Underline = 1
|
|
txt:Bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Parent_file
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
|
|
children = c_LexClass_Prop_EQ
|
|
children = c_LexClass_Prop_Parent2_value_part
|
|
|
|
start:class = c_LexClass_Prop_ParentFile_name_part
|
|
end:tag = @eol
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Parent2_value_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Prop_Parent_file
|
|
|
|
children = c_LexClass_file_ext_list
|
|
children = c_LexCommentSL
|
|
|
|
start:class = c_LexClass_Prop_EQ
|
|
end:separators = @eol
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_file_ext_list
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Prop_Parent2_value_part
|
|
|
|
children = c_LexClass_file_ext1, c_LexClass_file_ext2
|
|
|
|
previous:tag = '='
|
|
previous:tag:separators = ' ', '\t'
|
|
|
|
start:tag = '<'
|
|
end:tag = '>'
|
|
|
|
txt:colorFG = 0x0000F0
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_file_ext1
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_file_ext_list
|
|
|
|
children = 0
|
|
previous:tag = '<'
|
|
previous:tag:separators = ' ', '\t'
|
|
start:tag = '*.'
|
|
end:separators = '|', '>', ' ', '\t'
|
|
|
|
txt:colorFG = 0x800040
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_file_ext2
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_file_ext_list
|
|
|
|
children = 0
|
|
previous:tag = '|'
|
|
previous:tag:separators = ' ', '\t'
|
|
start:tag = '*.'
|
|
end:separators = '|', '>', ' ', '\t'
|
|
|
|
txt:colorFG = 0x800040
|
|
//:lexClass
|
|
|
|
//-- PARENT (+dyn) -------------------------------------------------
|
|
lexClass:
|
|
name = c_LexClass_Prop_Parent_name_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'parent:dyn', 'parent'
|
|
|
|
txt:colorFG = 0x505050
|
|
txt:Underline = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Parent
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
|
|
children = c_LexClass_Prop_EQ
|
|
children = c_LexClass_ClassName_List
|
|
|
|
start:class = c_LexClass_Prop_Parent_name_part
|
|
end:tag = @eol
|
|
//:lexClass
|
|
|
|
//-- CHILDREN -------------------------------------------------
|
|
lexClass:
|
|
name = c_LexClass_Prop_Children_name_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'children'
|
|
|
|
txt:colorFG = 0x505050
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Children
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
|
|
children = c_LexClass_Prop_EQ
|
|
children = c_LexClass_Prop_Children_value1_part
|
|
children = c_LexClass_ClassName_List
|
|
|
|
start:class = c_LexClass_Prop_Children_name_part
|
|
end:separators = @eol
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Children_value1_part
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Prop_Children
|
|
children = c_LexClass_Prop_Children_value1_error
|
|
//children = c_LexCommentSL
|
|
previous:tag = '='
|
|
previous:tag:separators = ' ', '\t'
|
|
|
|
start:tag = '0'
|
|
end:separators = @eol
|
|
|
|
txt:colorFG = 0x000090
|
|
txt:bold = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_Children_value1_error
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_Prop_Children_value1_part
|
|
children = c_LexCommentSL
|
|
previous:class = c_LexClass_Prop_Children_value1_part
|
|
|
|
end:separators = @eol
|
|
|
|
txt:colorFG = 0xFF0000
|
|
txt:bold = 0
|
|
//:lexClass
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
lexClass:
|
|
name = c_LexClass_Prop_EQ
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
children = 0
|
|
token:tag = '='
|
|
txt:colorFG = 0x0000B0
|
|
txt:Bold = 0
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_ClassName
|
|
ParseOnScreen = 0
|
|
//parent:dyn = c_LexClass_section
|
|
parent = c_LexClass_Prop_Name_value_part //, c_LexClass_ClassName_List,
|
|
|
|
children = 0
|
|
previous:tag = '='
|
|
previous:tag:separators = ' ', '\t'
|
|
start:tag = @alpha, '_'
|
|
skip:Tag = @alpha, @digit, '_'
|
|
end:separators = @alpha:not, @digit:not
|
|
|
|
txt:colorFG = 0x0000EE
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_ClassName_List
|
|
ParseOnScreen = 0
|
|
parent:dyn = c_LexClass_section
|
|
|
|
children = c_LexClass_ClassName_List1
|
|
children = c_LexClass_ClassName_List2
|
|
children = c_LexClass_CommaSeparator
|
|
children = c_LexCommentSL
|
|
|
|
previous:tag = '='
|
|
previous:tag:separators = ' ', '\t'
|
|
|
|
start:tag = @alpha, '_'
|
|
end:separators = @eol
|
|
//:lexClass
|
|
|
|
lexClass: name = c_LexClass_ClassName_List1
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_ClassName_List
|
|
|
|
children = 0
|
|
|
|
start:class = c_LexClass_ClassName_List
|
|
//previous:class = c_LexClass_ClassName_List
|
|
skip:Tag = @alpha, @digit, '_'
|
|
end:separators = @alpha:not, @digit:not
|
|
|
|
txt:colorFG = 0x5000EE
|
|
//:lexClass
|
|
|
|
lexClass: name = c_LexClass_ClassName_List2
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_ClassName_List
|
|
|
|
children = 0
|
|
previous:tag = ','
|
|
previous:tag:separators = ' ', '\t'
|
|
|
|
start:tag = @alpha, '_'
|
|
skip:Tag = @alpha, @digit, '_'
|
|
end:separators = @alpha:not, @digit:not
|
|
|
|
txt:colorFG = 0x5000EE
|
|
//:lexClass
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_ParseOnScreen
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'ParseOnScreen'
|
|
|
|
txt:colorFG = 0x60AF60
|
|
txt:colorBK = 0xDFCFFF
|
|
//txt:Bold = 1
|
|
txt:Italic = 0
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_Prop_DisplayName
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'DisplayName'
|
|
|
|
txt:colorFG = 0x202080
|
|
txt:colorBK = 0xF0FFFF
|
|
//txt:Bold = 1
|
|
txt:Italic = 0
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_AttributeName
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
token:tag = 'previous:class', 'previous:tag:separators', 'previous:tag'
|
|
token:tag = 'start:class', 'start:Tag'
|
|
token:tag = 'skip:Tag'
|
|
token:tag = 'end:class', 'end:class:parent', 'end:Tag', 'end:separators'
|
|
token:tag = 'Token:tag', 'Token:start:separators', 'Token:end:separators'
|
|
|
|
token:tag = 'caseSensitive', 'Collapsable', 'CollapsedText', 'ParseOnScreen'
|
|
token:tag = 'RecurrenceDepth'
|
|
|
|
token:tag = 'txt:colorFG', 'txt:colorBK', 'txt:colorSelFG', 'txt:colorSelBK'
|
|
token:tag = 'txt:Bold', 'txt:Italic', 'txt:Underline'
|
|
|
|
txt:colorFG = 0x505050
|
|
//txt:Bold = 1
|
|
txt:Italic = 1
|
|
//:lexClass
|
|
|
|
lexClass:
|
|
name = c_LexClass_GlobalAttributeName
|
|
ParseOnScreen = 0
|
|
parent = c_LexClass_section
|
|
children = 0
|
|
txt:Bold = 1
|
|
txt:colorFG = 0x0091E0
|
|
|
|
token:tag = 'global:FirstParseInSeparateThread'
|
|
token:tag = 'global:EditReparceInSeparateThread'
|
|
token:tag = 'global:EditReparceTimeout_ms'
|
|
token:tag = 'global:MaxBackParseOffset'
|
|
token:tag = 'global:OnScreenSchCacheLifeTime_sec'
|
|
token:tag = 'global:ParserThreadIdleLifeTime_sec'
|
|
//:lexClass
|