annotate runtime/syntax/mmix.vim @ 34:e170173ecb68 current-release

before ack base protocol.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 26 Nov 2008 15:02:10 +0900
parents 76efa0be13f1
children 67300faee616
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
1 " Vim syntax file
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
2 " Language: MMIX
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
3 " Maintainer: Dirk Hüsken, <huesken@informatik.uni-tuebingen.de>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
4 " Last Change: Wed Apr 24 01:18:52 CEST 2002
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
5 " Filenames: *.mms
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
6 " URL: http://homepages.uni-tuebingen.de/student/dirk.huesken/vim/syntax/mmix.vim
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
7
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
8 " Limitations: Comments must start with either % or //
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
9 " (preferrably %, Knuth-Style)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
10
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
11 if version < 600
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
12 syntax clear
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
13 elseif exists("b:current_syntax")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
14 finish
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
15 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
16
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
17 syn case ignore
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
18
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
19 " MMIX data types
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
20 syn keyword mmixType byte wyde tetra octa
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
21
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
22 " different literals...
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
23 syn match decNumber "[0-9]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
24 syn match octNumber "0[0-7][0-7]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
25 syn match hexNumber "#[0-9a-fA-F]\+"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
26 syn region mmixString start=+"+ skip=+\\"+ end=+"+
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
27 syn match mmixChar "'.'"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
28
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
29 " ...and more special MMIX stuff
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
30 syn match mmixAt "@"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
31 syn keyword mmixSegments Data_Segment Pool_Segment Stack_Segment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
32
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
33 syn match mmixIdentifier "[a-z_][a-z0-9_]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
34
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
35 " labels (for branches etc)
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
36 syn match mmixLabel "^[a-z0-9_:][a-z0-9_]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
37 syn match mmixLabel "[0-9][HBF]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
38
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
39 " pseudo-operations
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
40 syn keyword mmixPseudo is loc greg
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
41
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
42 " comments
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
43 syn match mmixComment "%.*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
44 syn match mmixComment "//.*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
45 syn match mmixComment "^\*.*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
46
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
47
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
48 syn keyword mmixOpcode trap fcmp fun feql fadd fix fsub fixu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
49 syn keyword mmixOpcode fmul fcmpe fune feqle fdiv fsqrt frem fint
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
50
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
51 syn keyword mmixOpcode floti flotui sfloti sflotui i
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
52 syn keyword mmixOpcode muli mului divi divui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
53 syn keyword mmixOpcode addi addui subi subui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
54 syn keyword mmixOpcode 2addui 4addui 8addui 16addui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
55 syn keyword mmixOpcode cmpi cmpui negi negui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
56 syn keyword mmixOpcode sli slui sri srui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
57 syn keyword mmixOpcode bnb bzb bpb bodb
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
58 syn keyword mmixOpcode bnnb bnzb bnpb bevb
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
59 syn keyword mmixOpcode pbnb pbzb pbpb pbodb
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
60 syn keyword mmixOpcode pbnnb pbnzb pbnpb pbevb
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
61 syn keyword mmixOpcode csni cszi cspi csodi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
62 syn keyword mmixOpcode csnni csnzi csnpi csevi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
63 syn keyword mmixOpcode zsni zszi zspi zsodi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
64 syn keyword mmixOpcode zsnni zsnzi zsnpi zsevi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
65 syn keyword mmixOpcode ldbi ldbui ldwi ldwui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
66 syn keyword mmixOpcode ldti ldtui ldoi ldoui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
67 syn keyword mmixOpcode ldsfi ldhti cswapi ldunci
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
68 syn keyword mmixOpcode ldvtsi preldi pregoi goi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
69 syn keyword mmixOpcode stbi stbui stwi stwui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
70 syn keyword mmixOpcode stti sttui stoi stoui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
71 syn keyword mmixOpcode stsfi sthti stcoi stunci
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
72 syn keyword mmixOpcode syncdi presti syncidi pushgoi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
73 syn keyword mmixOpcode ori orni nori xori
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
74 syn keyword mmixOpcode andi andni nandi nxori
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
75 syn keyword mmixOpcode bdifi wdifi tdifi odifi
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
76 syn keyword mmixOpcode muxi saddi mori mxori
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
77 syn keyword mmixOpcode muli mului divi divui
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
78
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
79 syn keyword mmixOpcode flot flotu sflot sflotu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
80 syn keyword mmixOpcode mul mulu div divu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
81 syn keyword mmixOpcode add addu sub subu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
82 syn keyword mmixOpcode 2addu 4addu 8addu 16addu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
83 syn keyword mmixOpcode cmp cmpu neg negu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
84 syn keyword mmixOpcode sl slu sr sru
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
85 syn keyword mmixOpcode bn bz bp bod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
86 syn keyword mmixOpcode bnn bnz bnp bev
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
87 syn keyword mmixOpcode pbn pbz pbp pbod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
88 syn keyword mmixOpcode pbnn pbnz pbnp pbev
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
89 syn keyword mmixOpcode csn csz csp csod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
90 syn keyword mmixOpcode csnn csnz csnp csev
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
91 syn keyword mmixOpcode zsn zsz zsp zsod
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
92 syn keyword mmixOpcode zsnn zsnz zsnp zsev
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
93 syn keyword mmixOpcode ldb ldbu ldw ldwu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
94 syn keyword mmixOpcode ldt ldtu ldo ldou
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
95 syn keyword mmixOpcode ldsf ldht cswap ldunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
96 syn keyword mmixOpcode ldvts preld prego go
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
97 syn keyword mmixOpcode stb stbu stw stwu
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
98 syn keyword mmixOpcode stt sttu sto stou
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
99 syn keyword mmixOpcode stsf stht stco stunc
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
100 syn keyword mmixOpcode syncd prest syncid pushgo
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
101 syn keyword mmixOpcode or orn nor xor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
102 syn keyword mmixOpcode and andn nand nxor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
103 syn keyword mmixOpcode bdif wdif tdif odif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
104 syn keyword mmixOpcode mux sadd mor mxor
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
105
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
106 syn keyword mmixOpcode seth setmh setml setl inch incmh incml incl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
107 syn keyword mmixOpcode orh ormh orml orl andh andmh andml andnl
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
108 syn keyword mmixOpcode jmp pushj geta put
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
109 syn keyword mmixOpcode pop resume save unsave sync swym get trip
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
110 syn keyword mmixOpcode set lda
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
111
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
112 " switch back to being case sensitive
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
113 syn case match
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
114
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
115 " general-purpose and special-purpose registers
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
116 syn match mmixRegister "$[0-9]*"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
117 syn match mmixRegister "r[A-Z]"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
118 syn keyword mmixRegister rBB rTT rWW rXX rYY rZZ
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
119
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
120 " Define the default highlighting.
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
121 " For version 5.7 and earlier: only when not done already
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
122 " For version 5.8 and later: only when an item doesn't have highlighting yet
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
123 if version >= 508 || !exists("did_mmix_syntax_inits")
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
124 if version < 508
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
125 let did_mmix_syntax_inits = 1
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
126 command -nargs=+ HiLink hi link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
127 else
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
128 command -nargs=+ HiLink hi def link <args>
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
129 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
130
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
131 " The default methods for highlighting. Can be overridden later
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
132 HiLink mmixAt Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
133 HiLink mmixPseudo Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
134 HiLink mmixRegister Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
135 HiLink mmixSegments Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
136
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
137 HiLink mmixLabel Special
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
138 HiLink mmixComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
139 HiLink mmixOpcode Keyword
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
140
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
141 HiLink hexNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
142 HiLink decNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
143 HiLink octNumber Number
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
144
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
145 HiLink mmixString String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
146 HiLink mmixChar String
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
147
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
148 HiLink mmixType Type
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
149 HiLink mmixIdentifier Normal
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
150 HiLink mmixSpecialComment Comment
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
151
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
152 " My default color overrides:
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
153 " hi mmixSpecialComment ctermfg=red
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
154 "hi mmixLabel ctermfg=lightcyan
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
155 " hi mmixType ctermbg=black ctermfg=brown
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
156
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
157 delcommand HiLink
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
158 endif
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
159
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
160 let b:current_syntax = "mmix"
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
161
76efa0be13f1 Initial revision
atsuki
parents:
diff changeset
162 " vim: ts=8