home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unix / vim-6.2.tar.bz2 / vim-6.2.tar / vim62 / runtime / syntax / mmix.vim < prev    next >
Encoding:
Text File  |  2003-04-25  |  5.0 KB  |  163 lines

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