⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c++builder.xs

📁 支持自定义语法高亮显示的编辑器控件
💻 XS
字号:
//Language: C++ Builder
//Copyright (c) 1992-2002 Altium Limited            
//All rights reserved.                              
//http://www.dream-com.com                          
//contact@dream-com.com                             

// states
State=snormal, CaseSensitive
State=sstring1
State=sstring2
State=sstring3
State=scomment1
State=scomment2
State=sdirective
// tokens
Token=tnone
Token=tstring
Token=tcomment
Token=tident
Token=tinteger
Token=tfloat
Token=tresword
Token=tassembler
Token=turl
Token=twhitespace
Token=tdirective
//delims
Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/

// reswords
snormal '__asm'         snormal tresword
snormal '__automated'   snormal tresword
snormal '__cdecl'       snormal tresword
snormal '__classid'     snormal tresword
snormal '__closure'     snormal tresword
snormal '__declspec'    snormal tresword
snormal '__dispid'      snormal tresword
snormal '__except'      snormal tresword
snormal '__export'      snormal tresword
snormal '__fastcall'    snormal tresword
snormal '__finally'     snormal tresword
snormal '__import'      snormal tresword
snormal '__int16'       snormal tresword
snormal '__int32'       snormal tresword
snormal '__int64'       snormal tresword
snormal '__int8'        snormal tresword
snormal '__pascal'      snormal tresword
snormal '__property'    snormal tresword
snormal '__published'   snormal tresword
snormal '__rtti'        snormal tresword
snormal '__stdcall'     snormal tresword
snormal '__thread'      snormal tresword
snormal '__try'         snormal tresword
snormal '_asm'          snormal tresword
snormal '_cdecl'        snormal tresword
snormal '_export'       snormal tresword
snormal '_fastcall'     snormal tresword
snormal '_import'       snormal tresword
snormal '_pascal'       snormal tresword
snormal '_stdcall'      snormal tresword
snormal 'asm'           snormal tresword
snormal 'auto'          snormal tresword
snormal 'bool'          snormal tresword
snormal 'break'         snormal tresword
snormal 'case'          snormal tresword
snormal 'catch'         snormal tresword
snormal 'cdecl'         snormal tresword
snormal 'char'          snormal tresword
snormal 'class'         snormal tresword
snormal 'const'         snormal tresword
snormal 'const_cast'    snormal tresword
snormal 'continue'      snormal tresword
snormal 'default'       snormal tresword
snormal 'delete'        snormal tresword
snormal 'do'            snormal tresword
snormal 'double'        snormal tresword
snormal 'dynamic_cast'  snormal tresword
snormal 'else'          snormal tresword
snormal 'enum'          snormal tresword
snormal 'explicit'      snormal tresword
snormal 'extern'        snormal tresword
snormal 'false'         snormal tresword
snormal 'float'         snormal tresword
snormal 'for'           snormal tresword
snormal 'friend'        snormal tresword
snormal 'goto'          snormal tresword
snormal 'if'            snormal tresword
snormal 'inline'        snormal tresword
snormal 'int'           snormal tresword
snormal 'long'          snormal tresword
snormal 'mutable'       snormal tresword
snormal 'namespace'     snormal tresword
snormal 'new'           snormal tresword
snormal 'operator'      snormal tresword
snormal 'pascal'        snormal tresword
snormal 'private'       snormal tresword
snormal 'protected'     snormal tresword
snormal 'public'        snormal tresword
snormal 'register'      snormal tresword
snormal 'reinterpret_cast' snormal tresword
snormal 'return'        snormal tresword
snormal 'short'         snormal tresword
snormal 'signed'        snormal tresword
snormal 'sizeof'        snormal tresword
snormal 'static'        snormal tresword
snormal 'static_cast'   snormal tresword
snormal 'struct'        snormal tresword
snormal 'switch'        snormal tresword
snormal 'template'      snormal tresword
snormal 'this'          snormal tresword
snormal 'throw'         snormal tresword
snormal 'true'          snormal tresword
snormal 'try'           snormal tresword
snormal 'typedef'       snormal tresword
snormal 'typeid'        snormal tresword
snormal 'typename'      snormal tresword
snormal 'union'         snormal tresword
snormal 'unsigned'      snormal tresword
snormal 'using'         snormal tresword
snormal 'virtual'       snormal tresword
snormal 'void'          snormal tresword
snormal 'volatile'      snormal tresword
snormal 'wchar_t'       snormal tresword
snormal 'while'         snormal tresword

// numbers
snormal [0-9][0-9]*                            snormal  tinteger
snormal 0X[0-9A-F]+                            snormal  tinteger
snormal 0x[0-9A-F]+                            snormal  tinteger
snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat

//idents
snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident

//white space
snormal #32*                      snormal   twhitespace

//comments
snormal   //                      scomment1 tcomment
scomment1 [#1-#255]*              snormal   tcomment
scomment1 $                       snormal   tcomment

snormal   /\*                     scomment2 tcomment
scomment2 [^\*]*                  scomment2 tcomment
scomment2 \*[^/]                  scomment2 tcomment
scomment2  [\*]*/                 snormal   tcomment


//strings
snormal   \'                      sstring1   tstring
sstring1   [^\']*                 sstring1   tstring
sstring1   \'                     snormal    tstring
sstring1   \'\'                   sstring1   tstring
sstring1   \\                     sstring1   tstring
sstring1   \\\'                   sstring1   tstring
sstring1   $                      snormal    tstring

//strings
snormal    \"                     sstring2   tstring
sstring2   [^\"]*                 sstring2   tstring
sstring2   \"                     snormal    tstring
sstring2   \"\"                   sstring2   tstring
sstring2   \\                     sstring2   tstring
sstring2   \\\"                   sstring2   tstring
sstring2   $                      snormal    tstring

//strings
snormal    {L\"}                  sstring3   tstring
sstring3   [^\"]*                 sstring3   tstring
sstring3   \"                     snormal    tstring
sstring3   \"\"                   sstring3   tstring
sstring3   $                      snormal    tstring

//directives

snormal  \#                       sdirective tdirective
sdirective [#1-#255]*             snormal tdirective
sdirective $                      snormal tdirective

// urls
snormal   www\.[a-z_A-Z0-9@\-.]*   snormal turl
snormal   mailto:[a-z_A-Z0-9@\-.]*   snormal turl

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -