_schclass.schclass
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:12k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. //=======================================================================
  2. //================ Lex class support ====================================
  3. //=======================================================================
  4. //  lexClass:
  5. // + name = c_CPPString
  6. // + parent:file = <*.h|*.cpp|*.c>
  7. // + parent = c_CPP
  8. // + parent:dyn = c_CPP
  9. //
  10. // + children = 0
  11. // + children = class1, class2, ...
  12. //
  13. // previous:class =
  14. // previous:tag =
  15. // previous:tag:separators =
  16. //
  17. // start:class = 
  18. // start:Tag = '"'
  19. //
  20. // skip:Tag = '"'
  21. //
  22. // end:class = //
  23. // end:class:Parent = this
  24. // end:Tag = '"'
  25. // end:separators = ' '
  26. //
  27. // Token:tag = 'if', 'for', 'while', 'do'
  28. // Token:start:separators = 
  29. // Token:end:separators = 
  30. //-----------------------------------------------------------------------
  31. //---------------- Attributes -------------------------------------------
  32. //-----------------------------------------------------------------------
  33. // txt:colorFG = 0xffc0c0 // color value in hex format. default: black
  34. // txt:colorBK = 0xffc0c0 // color value in hex format. default: white
  35. //
  36. // txt:colorSelFG = 0xffc0c0 // color value in hex format. default: white
  37. // txt:colorSelBK = 0xffc0c0 // color value in hex format. default: black
  38. //
  39. // txt:Bold = 1 // {1,0} default: 0
  40. // txt:Italic = 1 // {1,0} default: 0
  41. // txt:Underline = 1 // {1,0} default: 0
  42. //
  43. // caseSensitive = 1 // {1,0} default: 0
  44. //
  45. // Collapsable = 1 // {1,0} default: 0
  46. // CollapsedText = '/*...*/' // quoted string value. default: '[..]'
  47. //
  48. // ParseOnScreen = 1 // {1,0} default: 0
  49. /////////////////////////////////////////////////////////////////////////
  50. //=======================================================================
  51. //================ Variables support ====================================
  52. //=======================================================================
  53. // NON operation - example:   @alpha:not
  54. //
  55. // @alpha = a-z, A-Z
  56. // @digit = 0-9
  57. // @HexDdigit = 0-9, a-f, A-F
  58. // @specs = "~`!@#$%^&*()_-+=\|{}[];:'",.<>/?"
  59. // @EOL = End Of Line
  60. //---------------------------------------------
  61. // special tags:  't', 'r', 'n'
  62. /////////////////////////////////////////////////////////////////////////
  63. lexClass:
  64.   name = c_LEX_CLASS
  65. parent:file = <*.schclass>
  66. caseSensitive = 0
  67. //txt:colorBK = 0xfff7ff
  68. lexClass:
  69. name = c_LexCommentSL
  70. parent:dyn = c_LEX_CLASS
  71. children = 0
  72. start:tag ='//'
  73. end:tag = @eol
  74. txt:colorFG = 0x00A000
  75. lexClass:
  76. name = c_LexClass_section_header
  77. parent = c_LEX_CLASS, c_LexClass_section
  78. children = 0
  79. Token:tag = 'lexClass:'
  80. Token:start:separators = @eol, ' ', 't'
  81. Token:end:separators = @eol, ' ', 't'
  82. txt:colorFG = 0x0000FF
  83. txt:colorBK = 0xAAAAAA
  84. txt:Bold = 1
  85. lexClass:         
  86. name = c_LexClass_section
  87. parent = c_LEX_CLASS, c_LexClass_section
  88. start:class = c_LexClass_section_header
  89. //end:separators = 'lexClass:'
  90. end:class =  c_LexClass_section_end
  91. txt:colorFG = 0xFF0000
  92. Collapsable = 1
  93. lexClass:
  94. name = c_LexClass_section_end
  95. parent = c_LexClass_section
  96. previous:tag = @eol
  97. previous:tag:separators = ' ', 't'
  98. start:tag = '//:lexClass'
  99. end:tag = @EOL
  100. txt:colorFG = 0x00A000
  101. txt:colorBK = 0xE0E0E0
  102. //txt:bold = 1
  103. lexClass:
  104. name = c_LexClass_CommaSeparator
  105. ParseOnScreen = 0
  106. parent:dyn = c_LexClass_section
  107. children = 0
  108. token:tag = ','
  109. txt:colorFG = 0x808080
  110. txt:Bold = 0
  111. lexClass:
  112. name = c_LexClass_Tag_str
  113. ParseOnScreen = 0
  114. parent:dyn = c_LexClass_section
  115. children = c_LexClass_Tag_str_specs
  116. start:tag = '''
  117. end:tag = ''', @eol 
  118. txt:colorFG = 0xA00000
  119. lexClass:
  120. name = c_LexClass_Tag_str_specs
  121. ParseOnScreen = 0
  122. parent = c_LexClass_Tag_str
  123. children = 0
  124. Token:tag = '\\'
  125. Token:tag = '\t', '\n', '\r', '\a', '\b', '\v', '\f', '\'' 
  126. txt:colorFG = 0xC00000
  127. txt:bold = 1
  128. lexClass:
  129. name = c_LexClass_Tag_var
  130. ParseOnScreen = 0
  131. parent:dyn = c_LexClass_section
  132. children = 0
  133. token:tag = '@alpha:not', '@digit:not', '@HexDigit:not', '@specs:not', '@EOL:not'
  134. token:tag = '@alpha', '@digit', '@HexDdigit', '@specs', '@EOL'
  135. Token:start:separators = '=', ' ', 't', ','
  136. Token:end:separators = ' ', 't', ',', @EOL
  137. txt:colorFG = 0x00A000
  138. txt:Bold = 1
  139. lexClass:
  140. name = c_LexClass_color
  141. ParseOnScreen = 0
  142. parent:dyn = c_LexClass_section
  143. children = 0
  144. start:tag = '0x'
  145. end:tag = @HexDigit:not
  146. txt:colorFG = 0x8000FF
  147. lexClass:
  148. name = c_LexClass_number
  149. ParseOnScreen = 0
  150. parent:dyn = c_LexClass_section
  151. children = 0
  152. start:tag = @digit
  153. end:tag = @digit:not
  154. txt:colorFG = 0x000080
  155. //-- NAME -------------------------------------------------
  156. lexClass:
  157. name = c_LexClass_Prop_Name_name_part
  158. ParseOnScreen = 0
  159. parent = c_LexClass_section
  160. children = 0
  161. token:tag = 'name'
  162. txt:colorFG = 0x505050
  163. txt:colorBK = 0xEEEEEE
  164. txt:Bold = 1
  165. lexClass:
  166. name = c_LexClass_Prop_Name
  167. ParseOnScreen = 0
  168. parent = c_LexClass_section
  169. children = c_LexClass_Prop_EQ, c_LexClass_Prop_Name_value_part 
  170. children = c_LexCommentSL
  171. start:class = c_LexClass_Prop_Name_name_part
  172. end:tag = @eol
  173. txt:colorBK = 0xEEEEEE
  174. lexClass:
  175. name = c_LexClass_Prop_Name_value_part
  176. ParseOnScreen = 0
  177. parent = c_LexClass_Prop_Name
  178. children = c_LexClass_ClassName
  179. start:class = c_LexClass_Prop_EQ
  180. end:class = c_LexClass_ClassName
  181. txt:bold = 1
  182. //-- PARENT:file -------------------------------------------------
  183. lexClass:
  184. name = c_LexClass_Prop_ParentFile_name_part
  185. ParseOnScreen = 0
  186. parent = c_LexClass_section
  187. children = 0 
  188. token:tag = 'parent:file' 
  189. txt:colorFG = 0x505050
  190. txt:colorBK = 0xDDDDDD
  191. txt:Underline = 1
  192. txt:Bold = 1
  193. lexClass:
  194. name = c_LexClass_Prop_Parent_file
  195. ParseOnScreen = 0
  196. parent = c_LexClass_section
  197. children = c_LexClass_Prop_EQ 
  198. children = c_LexClass_Prop_Parent2_value_part 
  199. start:class = c_LexClass_Prop_ParentFile_name_part
  200. end:tag = @eol
  201. lexClass:
  202. name = c_LexClass_Prop_Parent2_value_part
  203. ParseOnScreen = 0
  204. parent = c_LexClass_Prop_Parent_file
  205. children = c_LexClass_file_ext_list
  206. children = c_LexCommentSL
  207. start:class = c_LexClass_Prop_EQ
  208. end:separators = @eol
  209. lexClass:
  210. name = c_LexClass_file_ext_list
  211. ParseOnScreen = 0
  212. parent = c_LexClass_Prop_Parent2_value_part
  213. children = c_LexClass_file_ext1, c_LexClass_file_ext2
  214. previous:tag = '='
  215. previous:tag:separators = ' ', 't'
  216. start:tag = '<'
  217. end:tag = '>'
  218. txt:colorFG = 0x0000F0
  219. lexClass:
  220. name = c_LexClass_file_ext1
  221. ParseOnScreen = 0
  222. parent = c_LexClass_file_ext_list
  223. children = 0
  224. previous:tag = '<'
  225. previous:tag:separators = ' ', 't'
  226. start:tag = '*.'
  227. end:separators = '|', '>', ' ', 't'
  228. txt:colorFG = 0x800040
  229. lexClass:
  230. name = c_LexClass_file_ext2
  231. ParseOnScreen = 0
  232. parent = c_LexClass_file_ext_list
  233. children = 0
  234. previous:tag = '|'
  235. previous:tag:separators = ' ', 't'
  236. start:tag = '*.'
  237. end:separators = '|', '>', ' ', 't'
  238. txt:colorFG = 0x800040
  239. //-- PARENT (+dyn) -------------------------------------------------
  240. lexClass:
  241. name = c_LexClass_Prop_Parent_name_part
  242. ParseOnScreen = 0
  243. parent = c_LexClass_section
  244. children = 0 
  245. token:tag = 'parent:dyn', 'parent'
  246. txt:colorFG = 0x505050
  247. txt:Underline = 1
  248. lexClass:
  249. name = c_LexClass_Prop_Parent
  250. ParseOnScreen = 0
  251. parent = c_LexClass_section
  252. children = c_LexClass_Prop_EQ 
  253. children = c_LexClass_ClassName_List
  254. start:class = c_LexClass_Prop_Parent_name_part
  255. end:tag = @eol
  256. //-- CHILDREN -------------------------------------------------
  257. lexClass:
  258. name = c_LexClass_Prop_Children_name_part
  259. ParseOnScreen = 0
  260. parent = c_LexClass_section
  261. children = 0 
  262. token:tag = 'children' 
  263. txt:colorFG = 0x505050
  264. lexClass:
  265. name = c_LexClass_Prop_Children
  266. ParseOnScreen = 0
  267. parent = c_LexClass_section
  268. children = c_LexClass_Prop_EQ 
  269. children = c_LexClass_Prop_Children_value1_part
  270. children = c_LexClass_ClassName_List
  271. start:class = c_LexClass_Prop_Children_name_part
  272. end:separators = @eol
  273. lexClass:
  274. name = c_LexClass_Prop_Children_value1_part
  275. ParseOnScreen = 0
  276. parent = c_LexClass_Prop_Children
  277. children = c_LexClass_Prop_Children_value1_error 
  278. //children = c_LexCommentSL
  279. previous:tag = '='
  280. previous:tag:separators = ' ', 't'
  281. start:tag = '0'
  282. end:separators = @eol
  283. txt:colorFG = 0x000090
  284. txt:bold = 1
  285. lexClass:
  286. name = c_LexClass_Prop_Children_value1_error
  287. ParseOnScreen = 0
  288. parent = c_LexClass_Prop_Children_value1_part
  289. children = c_LexCommentSL
  290. previous:class = c_LexClass_Prop_Children_value1_part
  291. end:separators = @eol
  292. txt:colorFG = 0xFF0000
  293. txt:bold = 0
  294. //////////////////////////////////////////////////////////////////////////////
  295. lexClass:
  296. name = c_LexClass_Prop_EQ
  297. ParseOnScreen = 0
  298. parent:dyn = c_LexClass_section
  299. children = 0
  300. token:tag = '='
  301. txt:colorFG = 0x0000B0
  302. txt:Bold = 0
  303. lexClass:
  304. name = c_LexClass_ClassName
  305. ParseOnScreen = 0
  306. //parent:dyn = c_LexClass_section
  307. parent = c_LexClass_Prop_Name_value_part //, c_LexClass_ClassName_List, 
  308. children = 0
  309. previous:tag = '='
  310. previous:tag:separators = ' ', 't'
  311. start:tag = @alpha, '_'
  312. skip:Tag = @alpha, @digit, '_'
  313. end:separators = @alpha:not, @digit:not
  314. txt:colorFG = 0x0000EE
  315. lexClass: 
  316. name = c_LexClass_ClassName_List
  317. ParseOnScreen = 0
  318. parent:dyn = c_LexClass_section
  319. children = c_LexClass_ClassName_List1 
  320. children = c_LexClass_ClassName_List2
  321. children = c_LexClass_CommaSeparator
  322. children = c_LexCommentSL
  323. previous:tag = '='
  324. previous:tag:separators = ' ', 't'
  325. start:tag = @alpha, '_'
  326. end:separators = @eol
  327. lexClass: name = c_LexClass_ClassName_List1
  328. ParseOnScreen = 0
  329. parent = c_LexClass_ClassName_List
  330. children = 0 
  331. start:class = c_LexClass_ClassName_List
  332. //previous:class = c_LexClass_ClassName_List
  333. skip:Tag = @alpha, @digit, '_'
  334. end:separators = @alpha:not, @digit:not
  335. txt:colorFG = 0x5000EE
  336. lexClass: name = c_LexClass_ClassName_List2
  337. ParseOnScreen = 0
  338. parent = c_LexClass_ClassName_List
  339. children = 0 
  340. previous:tag = ','
  341. previous:tag:separators = ' ', 't'
  342. start:tag = @alpha, '_'
  343. skip:Tag = @alpha, @digit, '_'
  344. end:separators = @alpha:not, @digit:not
  345. txt:colorFG = 0x5000EE
  346. //////////////////////////////////////////////////////////////////////////////
  347. lexClass:
  348. name = c_LexClass_Prop_ParseOnScreen
  349. ParseOnScreen = 0
  350. parent = c_LexClass_section
  351. children = 0
  352. token:tag = 'ParseOnScreen'
  353. txt:colorFG = 0x60AF60
  354. txt:colorBK = 0xDFCFFF
  355. //txt:Bold = 1
  356. txt:Italic = 0 
  357. lexClass:
  358. name = c_LexClass_AttributeName
  359. ParseOnScreen = 0
  360. parent = c_LexClass_section
  361. children = 0
  362. token:tag = 'previous:class', 'previous:tag:separators', 'previous:tag'
  363. token:tag = 'start:class', 'start:Tag'
  364. token:tag = 'skip:Tag'  
  365. token:tag = 'end:class', 'end:class:parent', 'end:Tag', 'end:separators'
  366. token:tag = 'Token:tag', 'Token:start:separators', 'Token:end:separators'
  367. token:tag = 'caseSensitive', 'Collapsable', 'CollapsedText', 'ParseOnScreen'
  368. token:tag = 'RecurrenceDepth', 'DisplayName'
  369. token:tag = 'txt:colorFG', 'txt:colorBK', 'txt:colorSelFG', 'txt:colorSelBK'
  370. token:tag = 'txt:Bold', 'txt:Italic', 'txt:Underline'
  371. txt:colorFG = 0x505050
  372. //txt:Bold = 1
  373. txt:Italic = 1 
  374. lexClass:
  375. name = c_LexClass_GlobalAttributeName
  376. ParseOnScreen = 0
  377. parent = c_LexClass_section
  378. children = 0
  379. txt:Bold = 1
  380. txt:colorFG = 0x0091E0
  381. token:tag = 'global:FirstParseInSeparateThread'
  382. token:tag = 'global:EditReparceInSeparateThread'
  383. token:tag = 'global:EditReparceTimeout_ms'
  384. token:tag = 'global:MaxBackParseOffset'
  385. token:tag = 'global:OnScreenSchCacheLifeTime_sec'
  386. token:tag = 'global:ParserThreadIdleLifeTime_sec'