codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: MMIX3" Maintainer: Dirk Hüsken, <huesken@informatik.uni-tuebingen.de>4" Last Change: 2012 Jun 015" (Dominique Pelle added @Spell)6" Filenames: *.mms7" URL: http://homepages.uni-tuebingen.de/student/dirk.huesken/vim/syntax/mmix.vim8 9" Limitations: Comments must start with either % or //10" (preferably %, Knuth-Style)11 12" quit when a syntax file was already loaded13if exists("b:current_syntax")14 finish15endif16 17syn case ignore18 19" MMIX data types20syn keyword mmixType byte wyde tetra octa21 22" different literals...23syn match decNumber "[0-9]*"24syn match octNumber "0[0-7][0-7]\+"25syn match hexNumber "#[0-9a-fA-F]\+"26syn region mmixString start=+"+ skip=+\\"+ end=+"+ contains=@Spell27syn match mmixChar "'.'"28 29" ...and more special MMIX stuff30syn match mmixAt "@"31syn keyword mmixSegments Data_Segment Pool_Segment Stack_Segment32 33syn match mmixIdentifier "[a-z_][a-z0-9_]*"34 35" labels (for branches etc)36syn match mmixLabel "^[a-z0-9_:][a-z0-9_]*"37syn match mmixLabel "[0-9][HBF]"38 39" pseudo-operations40syn keyword mmixPseudo is loc greg41 42" comments43syn match mmixComment "%.*" contains=@Spell44syn match mmixComment "//.*" contains=@Spell45syn match mmixComment "^\*.*" contains=@Spell46 47 48syn keyword mmixOpcode trap fcmp fun feql fadd fix fsub fixu49syn keyword mmixOpcode fmul fcmpe fune feqle fdiv fsqrt frem fint50 51syn keyword mmixOpcode floti flotui sfloti sflotui i52syn keyword mmixOpcode muli mului divi divui53syn keyword mmixOpcode addi addui subi subui54syn keyword mmixOpcode 2addui 4addui 8addui 16addui55syn keyword mmixOpcode cmpi cmpui negi negui56syn keyword mmixOpcode sli slui sri srui57syn keyword mmixOpcode bnb bzb bpb bodb58syn keyword mmixOpcode bnnb bnzb bnpb bevb59syn keyword mmixOpcode pbnb pbzb pbpb pbodb60syn keyword mmixOpcode pbnnb pbnzb pbnpb pbevb61syn keyword mmixOpcode csni cszi cspi csodi62syn keyword mmixOpcode csnni csnzi csnpi csevi63syn keyword mmixOpcode zsni zszi zspi zsodi64syn keyword mmixOpcode zsnni zsnzi zsnpi zsevi65syn keyword mmixOpcode ldbi ldbui ldwi ldwui66syn keyword mmixOpcode ldti ldtui ldoi ldoui67syn keyword mmixOpcode ldsfi ldhti cswapi ldunci68syn keyword mmixOpcode ldvtsi preldi pregoi goi69syn keyword mmixOpcode stbi stbui stwi stwui70syn keyword mmixOpcode stti sttui stoi stoui71syn keyword mmixOpcode stsfi sthti stcoi stunci72syn keyword mmixOpcode syncdi presti syncidi pushgoi73syn keyword mmixOpcode ori orni nori xori74syn keyword mmixOpcode andi andni nandi nxori75syn keyword mmixOpcode bdifi wdifi tdifi odifi76syn keyword mmixOpcode muxi saddi mori mxori77syn keyword mmixOpcode muli mului divi divui78 79syn keyword mmixOpcode flot flotu sflot sflotu80syn keyword mmixOpcode mul mulu div divu81syn keyword mmixOpcode add addu sub subu82syn keyword mmixOpcode 2addu 4addu 8addu 16addu83syn keyword mmixOpcode cmp cmpu neg negu84syn keyword mmixOpcode sl slu sr sru85syn keyword mmixOpcode bn bz bp bod86syn keyword mmixOpcode bnn bnz bnp bev87syn keyword mmixOpcode pbn pbz pbp pbod88syn keyword mmixOpcode pbnn pbnz pbnp pbev89syn keyword mmixOpcode csn csz csp csod90syn keyword mmixOpcode csnn csnz csnp csev91syn keyword mmixOpcode zsn zsz zsp zsod92syn keyword mmixOpcode zsnn zsnz zsnp zsev93syn keyword mmixOpcode ldb ldbu ldw ldwu94syn keyword mmixOpcode ldt ldtu ldo ldou95syn keyword mmixOpcode ldsf ldht cswap ldunc96syn keyword mmixOpcode ldvts preld prego go97syn keyword mmixOpcode stb stbu stw stwu98syn keyword mmixOpcode stt sttu sto stou99syn keyword mmixOpcode stsf stht stco stunc100syn keyword mmixOpcode syncd prest syncid pushgo101syn keyword mmixOpcode or orn nor xor102syn keyword mmixOpcode and andn nand nxor103syn keyword mmixOpcode bdif wdif tdif odif104syn keyword mmixOpcode mux sadd mor mxor105 106syn keyword mmixOpcode seth setmh setml setl inch incmh incml incl107syn keyword mmixOpcode orh ormh orml orl andh andmh andml andnl108syn keyword mmixOpcode jmp pushj geta put109syn keyword mmixOpcode pop resume save unsave sync swym get trip110syn keyword mmixOpcode set lda111 112" switch back to being case sensitive113syn case match114 115" general-purpose and special-purpose registers116syn match mmixRegister "$[0-9]*"117syn match mmixRegister "r[A-Z]"118syn keyword mmixRegister rBB rTT rWW rXX rYY rZZ119 120" Define the default highlighting.121" Only when an item doesn't have highlighting yet122 123" The default methods for highlighting. Can be overridden later124hi def link mmixAt Type125hi def link mmixPseudo Type126hi def link mmixRegister Special127hi def link mmixSegments Type128 129hi def link mmixLabel Special130hi def link mmixComment Comment131hi def link mmixOpcode Keyword132 133hi def link hexNumber Number134hi def link decNumber Number135hi def link octNumber Number136 137hi def link mmixString String138hi def link mmixChar String139 140hi def link mmixType Type141hi def link mmixIdentifier Normal142hi def link mmixSpecialComment Comment143 144" My default color overrides:145" hi mmixSpecialComment ctermfg=red146"hi mmixLabel ctermfg=lightcyan147" hi mmixType ctermbg=black ctermfg=brown148 149 150let b:current_syntax = "mmix"151 152" vim: ts=8153 