-
Notifications
You must be signed in to change notification settings - Fork 1
/
hla.properties
210 lines (194 loc) · 12.5 KB
/
hla.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
## Defines settings for HLA(High Level Assembly)
lexer.*.hla=script_hla
lexer.*.hhf=script_hla
[Keywords list]
## There should be no space before the equal signs
hla.registers=ah al ax bh bl bp bx ch cl cs cx dh di dl ds dx dx:ax eax ebp ebx \
ecx edi edx edx:eax eh el es esi esp ex fs gs ip si sp ss
hla.data.declaration=boolean byte char dword int int128 int16 int32 int64 int8 \
lword qword string tbyte uns128 uns16 uns32 uns64 uns8 word
hla.directives=\
aaa aad aam adc add and arpl bound bsf bsr bswap bt btc btr bts call cbw cdq clc \
cld cli clts cmc cmp cmps cmpsb cmpsd cmpsw cmpxchg cwd cwde daa das dec div \
emms enter f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove \
fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos \
fdecstp fdiv fdivp fdivr fdivrp femms ffree fiadd ficom ficomp fidiv fidivr fild \
fimul fincstp finit fist fistp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t \
fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fninit fnop fnsave fnstcw fnstenv \
fnstsw fpatan fprem1 fptan free frndint frstor fsave fscale fsin fsincos fsqrt \
fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip \
fucomp fucompp fwait fxch fxtract fyl2xp1 hlt idiv imul in inc ins insb insd \
insw into invd invlpg iret iretd iretw ja jae jb jbe jc jcxz je jecxz jg jge jl \
jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe \
jpo js jz lahf lar lds lea leave les lfs lgdt lgs lidt lldt lmsw lock lods lodsb \
lodsd lodsw loop loope loopne loopnz loopz lsl lss ltr malloc mov movd movq movs \
movsb movsd movsw movsx movzx mul neg nop not or out outs outsb outsd outsw \
packssdw packsswb packuswb paddb paddd paddsb paddsw paddusb paddusw paddw pand \
pandn pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pf2id pfacc pfadd \
pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 \
pfrsqrt pfsub pfsubr pi2fd pmaddwd pmulhrw pmulhw pmullw pop popa popad popaw \
popf popfd popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld \
psrlq psrlw psubb psubd psubsb psubsw psubusb psubusw psubw punpckhbw punpckhdq \
punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd \
pushfw pxor rcl rcr rep repe repne repnz repz ret rol ror sahf sal sar sbb scas \
scasb scasd scasw seta setae setb setbe setc sete setg setge setl setle setna \
setnae setnb setnbe setnc setne setng setnge setnl setnle setno setnp setns \
setnz seto setp setpo sets setz sgdt shl shld shr shrd sidt sldt smsw stc std \
sti stos stosb stosd stosw str stralloc strfree sub test verr verw xor
hla.conditionals=\
aaa aad aam aas abstract adc add addpd addps addsd addss addsubpd addsubps align \
and andnpd andnps andpd andps anyexception arpl begin bound break breakif bsf \
bsr bswap bt btc btr bts call case cbw cdq class clc cld clflush cli clts cmc \
cmova cmovae cmovb cmovbe cmovc cmove cmovg cmovge cmovl cmovle cmovna cmovnae \
cmovnb cmovnbe cmovnc cmovne cmovng cmovnge cmovnl cmovnle cmovno cmovnp cmovns \
cmovnz cmovo cmovp cmovpe cmovpo cmovs cmovz cmp cmpeqpd cmpeqps cmpeqsd cmpeqss \
cmplepd cmpleps cmplesd cmpless cmpltpd cmpltps cmpltsd cmpltss cmpneqpd \
cmpneqps cmpneqsd cmpneqss cmpnlepd cmpnleps cmpnlesd cmpnless cmpnltpd cmpnltps \
cmpnltsd cmpnltss cmpordpd cmpordps cmpordsd cmpordss cmppd cmpps cmpsb cmpsd \
cmpss cmpsw cmpunordpd cmpunordps cmpunordsd cmpunordss cmpxchg cmpxchg8b comisd \
comiss const continue continueif cpuid cr0 cr1 cr2 cr3 cr4 cr5 cr6 cr7 cseg cset \
cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd \
cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq \
cvttpd2pi cvttps2dq cvttps2pi cvttsd2si cvttss2si cwd cwde daa das dec default \
div divpd divps divsd divss do downto dr0 dr1 dr2 dr3 dr4 dr5 dr6 dr7 dseg dup \
else elseif emms end endclass endconst endfor endif endlabel endproc endreadonly \
endrecord endstatic endstorage endswitch endtry endtype endunion endval endvar \
endwhile enter enum eseg exception exit exitif external f2xm1 fabs fadd faddp \
fbld fbstp fchs fclex fcmova fcmovae fcmovb fcmovbe fcmove fcmovna fcmovnae \
fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos \
fdecstp fdiv fdivp fdivr fdivrp felse ffree fiadd ficom ficomp fidiv fidivr fild \
fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e \
fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fninit fnop fnsave fnstcw \
fnstenv fnstsw for foreach forever forward fpatan fprem fprem1 fptan frndint \
frstor fsave fscale fseg fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub \
fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fwait fxam fxch \
fxrstor fxsave fxtract fyl2x fyl2xp1 gseg haddpd haddps hlt hsubpd hsubps idiv \
if imod imul in inc inherits insb insd insw intmul into invd invlpg iret iretd \
iterator ja jae jb jbe jc jcxz je jecxz jf jg jge jl jle jmp jna jnae jnb jnbe \
jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jt jz label lahf lar \
lazy lddqu ldmxcsr lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw lock.adc \
lock.add lock.and lock.btc lock.btr lock.bts lock.cmpxchg lock.dec lock.inc \
lock.neg lock.not lock.or lock.sbb lock.sub lock.xadd lock.xchg lock.xor lodsb \
lodsd lodsw loop loope loopne loopnz loopz lsl lss ltreg maskmovdqu maskmovq \
maxpd maxps maxsd maxss method mfence minpd minps minsd minss mm0 mm1 mm2 mm3 \
mm4 mm5 mm6 mm7 mod monitor mov movapd movaps movd movddup movdq2q movdqa movdqu \
movhlps movhpd movhps movlhps movlpd movlps movmskpd movmskps movntdq movnti \
movntpd movntps movntq movq movq2dq movsb movsd movshdup movsldup movss movsw \
movsx movupd movups movzx mul mulpd mulps mulsd mulss mwait name namespace neg \
nop not null or orpd orps out outsb outsd outsw overloads override overrides \
packssdw packsswb packuswb paddb paddd paddq paddsb paddsw paddusb paddusw paddw \
pand pandn pause pavgb pavgw pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw \
pextrw pinsrw pmaddwd pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw pmulhw pmullw \
pmuludq pointer pop popa popad popf popfd por prefetchnta prefetcht0 prefetcht1 \
prefetcht2 proc procedure program psadbw pshufd pshufhw pshuflw pshufw pslld \
pslldq psllq psllw psrad psraw psrld psrldq psrlq psrlw psubb psubd psubq psubsb \
psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhqdq punpckhwd punpcklbw \
punpckldq punpcklqdq punpcklwd push pusha pushad pushd pushf pushfd pushw pxor \
raise rcl rcpps rcpss rcr rdmsr rdpmc rdtsc readonly real128 real32 real64 \
real80 record regex rep.insb rep.insd rep.insw rep.movsb rep.movsd rep.movsw \
rep.outsb rep.outsd rep.outsw rep.stosb rep.stosd rep.stosw repe.cmpsb \
repe.cmpsd repe.cmpsw repe.scasb repe.scasd repe.scasw repeat repne.cmpsb \
repne.cmpsd repne.cmpsw repne.scasb repne.scasd repne.scasw repnz.cmpsb \
repnz.cmpsd repnz.cmpsw repnz.scasb repnz.scasd repnz.scasw repz.cmpsb \
repz.cmpsd repz.cmpsw repz.scasb repz.scasd repz.scasw result ret returns rol \
ror rsm rsqrtps rsqrtss sahf sal sar sbb scasb scasd scasw segment seta setae \
setb setbe setc sete setg setge setl setle setna setnae setnb setnbe setnc setne \
setng setnge setnl setnle setno setnp setns setnz seto setp setpe setpo sets \
setz sfence sgdt shl shld shr shrd shufpd shufps sidt sldt smsw sqrtpd sqrtps \
sqrtsd sqrtss sseg st0 st1 st2 st3 st4 st5 st6 st7 static stc std sti stmxcsr \
storage stosb stosd stosw streg sub subpd subps subsd subss switch sysenter \
sysexit test text then this thunk to try type ucomisd ucomiss ud2 union unit \
unpckhpd unpckhps unpcklpd unpcklps unprotected until val valres var verr verw \
vmt wait wbinvd wchar welse while wrmsr wstring xadd xchg xlat xmm0 xmm1 xmm2
hla.statements=stdout.put ex.ConversionError ex.ValueOutOfRange stdin.a_gets \
stdin.flushInput stdin.get stdin.getc stdin.getiX stdin.putu8size stdio.bell \
stdio.bs stdio.cr stdio.eoln stdio.lf stdio.tab stdout.newln stdout.put \
stdout.putiX stdout.putiXSize
hla.macros=append asm closeread closewrite else elseif emit endasm endfor endif \
endmacro endmatch endregex endstring endtext endwhile error for id if include \
includeonce keyword linker macro match openread openwrite print regex return rw \
string system terminator text while write
hla.attributes=\
@IsExternal @a @abs @abstract @ae @align @alignstack @arb @arity @at @b \
@baseptype @basereg @basetype @be @boolean @bound @byte @c @cdecl @ceil @char \
@class @cos @cset @curdir @curlex @curobject @curoffset @date @debughla @defined \
@delete @dim @display @dword @e @elements @elementsize @enter @enumsize @env \
@eos @eval @exactlynchar @exactlyncset @exactlynichar @exactlyntomchar \
@exactlyntomcset @exactlyntomichar @exceptions @exp @external @extract @fast \
@filename @firstnchar @firstncset @firstnichar @floor @forward @fpureg @frame @g \
@ge @global @here @index @insert @int128 @int16 @int32 @int64 @int8 @into \
@isalpha @isalphanum @isclass @isconst @isdigit @isfreg @islower @ismem @isreg \
@isreg16 @isreg32 @isreg8 @isspace @istype @isupper @isxdigit @l @label \
@lastobject @le @leave @length @lex @linenumber @localoffset @localsyms @log \
@log10 @lowercase @lword @match @match2 @matchchar @matchcset @matchichar \
@matchid @matchintconst @matchistr @matchiword @matchnumericconst \
@matchrealconst @matchstr @matchstrconst @matchtoistr @matchtostr @matchword \
@max @min @mmxreg @na @nae @name @nb @nbe @nc @ne @ng @nge @nl @nle @no \
@noalignstack @nodisplay @noenter @noframe @noleave @norlesschar @norlesscset \
@norlessichar @normorechar @normorecset @normoreichar @nostackalign @nostorage \
@np @ns @ntomchar @ntomcset @ntomichar @nz @o @odd @offset @onechar @onecset \
@oneichar @oneormorechar @oneormorecset @oneormoreichar @oneormorews @optstrings \
@p @parmoffset @parms @pascal @pclass @pe @peekchar @peekcset @peekichar \
@peekistr @peekstr @peekws @po @pointer @pos @ptype @qword @random @randomize \
@read @real128 @real32 @real64 @real80 @reg @reg16 @reg32 @reg8 @regex @returns \
@rindex @s @section @sin @size @sort @sqrt @stackalign @staticname @stdcall \
@strbrk @string @strset @strspan @substr @system @tab @tan @tbyte @text @thread \
@time @tokenize @tostring @trace @trim @type @typename @uns128 @uns16 @uns32 \
@uns64 @uns8 @uppercase @uptochar @uptocset @uptoichar @uptoistr @uptostr @use \
@volatile @wchar @word @ws @wsoreos @wstheneos @wstring @xmmreg @z \
@zeroormorechar @zeroormorecset @zeroormoreichar @zeroormorews
hla.constants=nl
hla.booleans=false true
hla.task.markers=TODO FIXME XXX
hla.digits=0123456789
hla.operators=();:=,[]-.+{}<>^&
hla.valid.identifier.terminators=_.0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
hla.valid.identifier.starters=?#_@abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
[Styles]
## Default
style.script_hla.0=fore:#FFFFFF,font:Consolas,bold
## Boolean e.g true, false
style.script_hla.1=fore:#FFFE37,bold
## Constant e.g nl
style.script_hla.2=fore:#C8EE94
## All types of numbers
style.script_hla.3=fore:#7BFCE1
## Errors
style.script_hla.4=fore:#FF0000,bold,back:#F7DA12
## Character
style.script_hla.5=fore:$(colour.char)
## Double quoted string
style.script_hla.6=fore:$(colour.string)
## Line comment // XXX: Comment
style.script_hla.7=fore:$(colour.comment)
## Multiline comment /* XXX: Multiline Comment */
style.script_hla.8=fore:#42FC70
## Register, e.g ax, bx, ex, ecx, dx:ax
style.script_hla.9=fore:#C8CCD8
## Data definition, e.g boolean, int128, int64
style.script_hla.10=fore:#F9850B
## Program ID
style.script_hla.11=fore:#9DD425,bold
## Procedure name
style.script_hla.12=fore:#0B90F8,bold
## Task marker, TODO
style.script_hla.13=fore:#F282E4,back:#FFFFFF
## Identifiers. Change this and the whole document will light up
style.script_hla.14=fore:#FFFFFF,bold
## Operators, ():=+-
style.script_hla.15=fore:#F549B1,bold
## Directive, e.g prefetchw
style.script_hla.16=fore:#2CA3F2,bold
## Conditional, e.g endwhile
style.script_hla.17=fore:#F8CB32,italics,bold
## Statement, e.g while, if
style.script_hla.18=fore:#81F6F8,bold
## Macro, e.g #system
style.script_hla.19=fore:#81F6F8,bold
## Attributes e.g @cdecl
style.script_hla.20=fore:#81F6F8,bold
## Binary
style.script_hla.21=fore:#D1EA06,bold
command.1.*.hla=python C:\mine\.py\hla_formatter.py "$(FileNameExt)"
command.name.1.*.hla=Format
command.go.*.hla=hla-compile.cmd $(FileNameExt)