Guest User

smali.hrc (far colorer)

a guest
Apr 19th, 2019
280
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.20 KB | None | 0 0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE hrc PUBLIC "-//Cail Lomecb//DTD Colorer HRC take5//EN"
  3. "http://colorer.sf.net/2003/hrc.dtd">
  4. <hrc version="take5" xmlns="http://colorer.sf.net/2003/hrc"
  5. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  6. xsi:schemaLocation="http://colorer.sf.net/2003/hrc
  7. http://colorer.sf.net/2003/hrc.xsd">
  8.  
  9. <type name="smali">
  10. <annotation>
  11. <documentation>
  12. smali (android asm) syntax
  13. </documentation>
  14. </annotation>
  15.  
  16. <region name="asmString" parent="String"/>
  17. <region name="asmComment" parent="Comment"/>
  18. <region name="asmToDo" parent="TODO"/>
  19. <region name="asmDefinition" parent="Directive"/>
  20. <region name="asmDirective" parent="Directive"/>
  21. <region name="asmMnemonics" parent="Keyword"/>
  22. <region name="asmLabel" parent="Label"/>
  23. <region name="LabelOutline" parent="Outlined"/>
  24. <region name="asmSymbol" parent="def:Symbol"/>
  25. <region name="asmNumBin" parent="NumberBin"/>
  26. <region name="asmNumHex" parent="NumberHex"/>
  27. <region name="asmNumDec" parent="NumberDec"/>
  28. <region name="asmNumOct" parent="NumberOct"/>
  29. <region name="asmRegister" parent="Register"/>
  30. <region name="asmiBase" parent="asmMnemonics"/>
  31. <region name="asmiProt" parent="asmMnemonics"/>
  32. <region name="asmiFPU" parent="asmMnemonics"/>
  33. <region name="asmiMMX" parent="asmMnemonics"/>
  34. <region name="asmiSSE" parent="asmMnemonics"/>
  35. <region name="asmiCyrix" parent="KeywordStrong"/>
  36. <region name="asmi3dnow" parent="KeywordStrong"/>
  37. <region name="asmiAMD" parent="KeywordStrong"/>
  38. <region name="asmiUndoc" parent="KeywordStrong"/>
  39.  
  40. <scheme name="asm_registers">
  41. <regexp match="/\bv[0-9]+\b/i" region0="asmRegister"/>
  42. </scheme>
  43.  
  44. <scheme name="asm_shared">
  45. <keywords ignorecase="yes" region="asmMnemonics">
  46. <word name="add-double"/>
  47. <word name="add-double/2addr"/>
  48. <word name="add-float"/>
  49. <word name="add-float/2addr"/>
  50. <word name="add-int"/>
  51. <word name="add-int/2addr"/>
  52. <word name="add-int/lit16"/>
  53. <word name="add-int/lit8"/>
  54. <word name="add-long"/>
  55. <word name="add-long/2addr"/>
  56. <word name="aget"/>
  57. <word name="aget-boolean"/>
  58. <word name="aget-byte"/>
  59. <word name="aget-char"/>
  60. <word name="aget-object"/>
  61. <word name="aget-short"/>
  62. <word name="aget-wide"/>
  63. <word name="and-int"/>
  64. <word name="and-int/2addr"/>
  65. <word name="and-int/lit16"/>
  66. <word name="and-int/lit8"/>
  67. <word name="and-long"/>
  68. <word name="and-long/2addr"/>
  69. <word name="aput"/>
  70. <word name="aput-boolean"/>
  71. <word name="aput-byte"/>
  72. <word name="aput-char"/>
  73. <word name="aput-object"/>
  74. <word name="aput-short"/>
  75. <word name="aput-wide"/>
  76. <word name="array-length"/>
  77. <word name="check-cast"/>
  78. <word name="cmp-long"/>
  79. <word name="cmpg-double"/>
  80. <word name="cmpg-float"/>
  81. <word name="cmpl-double"/>
  82. <word name="cmpl-float"/>
  83. <word name="const"/>
  84. <word name="const-class"/>
  85. <word name="const-string"/>
  86. <word name="const-string-jumbo"/>
  87. <word name="const-wide"/>
  88. <word name="const-wide/16"/>
  89. <word name="const-wide/32"/>
  90. <word name="const-wide/high16"/>
  91. <word name="const/16"/>
  92. <word name="const/4"/>
  93. <word name="const/high16"/>
  94. <word name="div-double"/>
  95. <word name="div-double/2addr"/>
  96. <word name="div-float"/>
  97. <word name="div-float/2addr"/>
  98. <word name="div-int"/>
  99. <word name="div-int/2addr"/>
  100. <word name="div-int/lit16"/>
  101. <word name="div-int/lit8"/>
  102. <word name="div-long"/>
  103. <word name="div-long/2addr"/>
  104. <word name="double-to-float"/>
  105. <word name="double-to-int"/>
  106. <word name="double-to-long"/>
  107. <word name="execute-inline"/>
  108. <word name="fill-array-data"/>
  109. <word name="filled-new-array"/>
  110. <word name="filled-new-array/range"/>
  111. <word name="float-to-double"/>
  112. <word name="float-to-int"/>
  113. <word name="float-to-long"/>
  114. <word name="goto"/>
  115. <word name="goto/16"/>
  116. <word name="goto/32"/>
  117. <word name="if-eq"/>
  118. <word name="if-eqz"/>
  119. <word name="if-ge"/>
  120. <word name="if-gez"/>
  121. <word name="if-gt"/>
  122. <word name="if-gtz"/>
  123. <word name="if-le"/>
  124. <word name="if-lez"/>
  125. <word name="if-lt"/>
  126. <word name="if-ltz"/>
  127. <word name="if-ne"/>
  128. <word name="if-nez"/>
  129. <word name="iget"/>
  130. <word name="iget-boolean"/>
  131. <word name="iget-byte"/>
  132. <word name="iget-char"/>
  133. <word name="iget-object"/>
  134. <word name="iget-object-quick"/>
  135. <word name="iget-quick"/>
  136. <word name="iget-short"/>
  137. <word name="iget-wide"/>
  138. <word name="iget-wide-quick"/>
  139. <word name="instance-of"/>
  140. <word name="int-to-byte"/>
  141. <word name="int-to-char"/>
  142. <word name="int-to-double"/>
  143. <word name="int-to-float"/>
  144. <word name="int-to-long"/>
  145. <word name="int-to-short"/>
  146. <word name="invoke-direct"/>
  147. <word name="invoke-direct-empty"/>
  148. <word name="invoke-direct/range"/>
  149. <word name="invoke-interface"/>
  150. <word name="invoke-interface/range"/>
  151. <word name="invoke-static"/>
  152. <word name="invoke-static/range"/>
  153. <word name="invoke-super"/>
  154. <word name="invoke-super-quick"/>
  155. <word name="invoke-super-quick/range"/>
  156. <word name="invoke-super/range"/>
  157. <word name="invoke-virtual"/>
  158. <word name="invoke-virtual-quick"/>
  159. <word name="invoke-virtual-quick/range"/>
  160. <word name="invoke-virtual/range"/>
  161. <word name="iput"/>
  162. <word name="iput-boolean"/>
  163. <word name="iput-byte"/>
  164. <word name="iput-char"/>
  165. <word name="iput-object"/>
  166. <word name="iput-object-quick"/>
  167. <word name="iput-quick"/>
  168. <word name="iput-short"/>
  169. <word name="iput-wide"/>
  170. <word name="iput-wide-quick"/>
  171. <word name="long-to-double"/>
  172. <word name="long-to-float"/>
  173. <word name="long-to-int"/>
  174. <word name="monitor-enter"/>
  175. <word name="monitor-exit"/>
  176. <word name="move"/>
  177. <word name="move-exception"/>
  178. <word name="move-object"/>
  179. <word name="move-object/16"/>
  180. <word name="move-object/from16"/>
  181. <word name="move-result"/>
  182. <word name="move-result-object"/>
  183. <word name="move-result-wide"/>
  184. <word name="move-wide"/>
  185. <word name="move-wide/16"/>
  186. <word name="move-wide/from16"/>
  187. <word name="move/16"/>
  188. <word name="move/from16"/>
  189. <word name="mul-double"/>
  190. <word name="mul-double/2addr"/>
  191. <word name="mul-float"/>
  192. <word name="mul-float/2addr"/>
  193. <word name="mul-int"/>
  194. <word name="mul-int/2addr"/>
  195. <word name="mul-int/lit8"/>
  196. <word name="mul-int/lit16"/>
  197. <word name="mul-long"/>
  198. <word name="mul-long/2addr"/>
  199. <word name="neg-double"/>
  200. <word name="neg-float"/>
  201. <word name="neg-int"/>
  202. <word name="neg-long"/>
  203. <word name="new-array"/>
  204. <word name="new-instance"/>
  205. <word name="nop"/>
  206. <word name="not-int"/>
  207. <word name="not-long"/>
  208. <word name="or-int"/>
  209. <word name="or-int/2addr"/>
  210. <word name="or-int/lit16"/>
  211. <word name="or-int/lit8"/>
  212. <word name="or-long"/>
  213. <word name="or-long/2addr"/>
  214. <word name="rem-double"/>
  215. <word name="rem-double/2addr"/>
  216. <word name="rem-float"/>
  217. <word name="rem-float/2addr"/>
  218. <word name="rem-int"/>
  219. <word name="rem-int/2addr"/>
  220. <word name="rem-int/lit16"/>
  221. <word name="rem-int/lit8"/>
  222. <word name="rem-long"/>
  223. <word name="rem-long/2addr"/>
  224. <word name="return"/>
  225. <word name="return-object"/>
  226. <word name="return-void"/>
  227. <word name="return-wide"/>
  228. <word name="rsub-int"/>
  229. <word name="rsub-int/lit8"/>
  230. <word name="sget"/>
  231. <word name="sget-boolean"/>
  232. <word name="sget-byte"/>
  233. <word name="sget-char"/>
  234. <word name="sget-object"/>
  235. <word name="sget-short"/>
  236. <word name="sget-wide"/>
  237. <word name="shl-int"/>
  238. <word name="shl-int/2addr"/>
  239. <word name="shl-int/lit8"/>
  240. <word name="shl-long"/>
  241. <word name="shl-long/2addr"/>
  242. <word name="shr-int"/>
  243. <word name="shr-int/2addr"/>
  244. <word name="shr-int/lit8"/>
  245. <word name="shr-long"/>
  246. <word name="shr-long/2addr"/>
  247. <word name="sparse-switch"/>
  248. <word name="sput"/>
  249. <word name="sput-boolean"/>
  250. <word name="sput-byte"/>
  251. <word name="sput-char"/>
  252. <word name="sput-object"/>
  253. <word name="sput-short"/>
  254. <word name="sput-wide"/>
  255. <word name="sub-double"/>
  256. <word name="sub-double/2addr"/>
  257. <word name="sub-float"/>
  258. <word name="sub-float/2addr"/>
  259. <word name="sub-int"/>
  260. <word name="sub-int/2addr"/>
  261. <word name="sub-int/lit16"/>
  262. <word name="sub-int/lit8"/>
  263. <word name="sub-long"/>
  264. <word name="sub-long/2addr"/>
  265. <word name="throw"/>
  266. <word name="throw-verification-error"/>
  267. <word name="ushr-int"/>
  268. <word name="ushr-int/2addr"/>
  269. <word name="ushr-int/lit8"/>
  270. <word name="ushr-long"/>
  271. <word name="ushr-long/2addr"/>
  272. <word name="xor-int"/>
  273. <word name="xor-int/2addr"/>
  274. <word name="xor-int/lit16"/>
  275. <word name="xor-int/lit8"/>
  276. <word name="xor-long"/>
  277. <word name="xor-long/2addr"/>
  278.  
  279. <word name="abstract"/>
  280. <word name="bridge"/>
  281. <word name="constructor"/>
  282. <word name="declared-synchronized"/>
  283. <word name="enum"/>
  284. <word name="final"/>
  285. <word name="interface"/>
  286. <word name="native"/>
  287. <word name="private"/>
  288. <word name="protected"/>
  289. <word name="public"/>
  290. <word name="static"/>
  291. <word name="strictfp"/>
  292. <word name="synchronized"/>
  293. <word name="synthetic"/>
  294. <word name="system"/>
  295. <word name="transient"/>
  296. <word name="varargs"/>
  297. <word name="volatile"/>
  298.  
  299.  
  300. </keywords>
  301. </scheme>
  302.  
  303. <scheme name="asm_tasm">
  304. <keywords ignorecase="yes" region="asmDefinition">
  305. <word name=".array-data"/>
  306. <word name=".catch"/>
  307. <word name=".catchall"/>
  308. <word name=".class"/>
  309. <word name=".end"/>
  310. <word name=".end\"/>
  311. <word name="local"/>
  312. <word name=".enum"/>
  313. <word name=".epilogue"/>
  314. <word name=".field"/>
  315. <word name=".implements"/>
  316. <word name=".line"/>
  317. <word name=".local"/>
  318. <word name=".locals"/>
  319. <word name=".parameter"/>
  320. <word name=".prologue"/>
  321. <word name=".registers"/>
  322. <word name=".restart"/>
  323. <word name=".restart\"/>
  324. <word name="local"/>
  325. <word name=".source"/>
  326. <word name=".subannotation"/>
  327. <word name=".super"/>
  328. </keywords>
  329. </scheme>
  330.  
  331.  
  332. <scheme name="asm_core">
  333. <!-- numbers - hex -->
  334. <regexp match="/\b(\d[0-9a-fA-F]*h)\b/i" region0="asmNumHex"/>
  335. <!-- numbers - Rct +nasm -->
  336. <regexp match="/\b([0-7]+[oO])\b/" region0="asmNumHex"/>
  337. <!-- numbers - IEEE -->
  338. <regexp match="/\b(\d[0-9a-fA-F]*[rR])\b/" region0="asmNumHex"/>
  339. <!-- numbers - dec -->
  340. <regexp match="/\b([0-9]+[dD]?)\b/" region0="asmNumDec"/>
  341. <!-- numbers - bin -->
  342. <regexp match="/\b([01]+[bB])\b/" region0="asmNumBin"/>
  343. <!-- numbers - exp -->
  344. <regexp match="/\c[\-+]?\d*\.?\d+([eE][\-+]?\d+)?\b/" region0="asmNumDec" region1="NumberSuffix"/>
  345. <!-- strings -->
  346. <regexp match="/(&#34;.*?&#34;)/" region0="asmString"/>
  347. <regexp match="/('.*?')/" region0="asmString"/>
  348. <!-- labels -->
  349. <regexp match="/(^\s*?\@?\@?[\w\$\#\%\@\~\.\?]+?\s*:)/"
  350. region0="LabelOutline" region1="asmLabel"/>
  351. <regexp match="/\B(\@\@[\w\$\#\%\@\~\.\?]*)/" region0="asmLabel"/>
  352. <regexp match="/^ \s* \M proc\s+([\w_\@]+)/ix" region1="Function"/>
  353. <regexp match="/^ \s* \M ([\w_\@]+) \s+ proc/ix" region1="Function"/>
  354. <keywords region="asmSymbol">
  355. <symb name=";"/>
  356. <symb name="="/>
  357. <symb name="+"/>
  358. <symb name="-"/>
  359. <symb name="/"/>
  360. <symb name="*"/>
  361. <symb name="|"/>
  362. <symb name="^"/>
  363. <symb name="("/>
  364. <symb name=")"/>
  365. <symb name="["/>
  366. <symb name="]"/>
  367. <symb name=","/>
  368. <symb name=":"/>
  369. <symb name="!"/>
  370. <symb name="~"/>
  371. <symb name="&lt;"/>
  372. <symb name="&gt;"/>
  373. <symb name="%"/>
  374. <symb name="{"/>
  375. <symb name="}"/>
  376. <symb name="?"/>
  377. </keywords>
  378. </scheme>
  379.  
  380.  
  381. </hrc>
Advertisement
Add Comment
Please, Sign In to add comment