| " Vim syntax file | 
 | " Language:   TableGen | 
 | " Maintainer: The LLVM team, http://llvm.org/ | 
 | " Updated:    2003-08-11 | 
 |  | 
 | if version < 600 | 
 |   syntax clear | 
 | elseif exists("b:current_syntax") | 
 |   finish | 
 | endif | 
 |  | 
 | " May be changed if you have a really slow machine | 
 | syntax sync minlines=100 | 
 |  | 
 | syn case match | 
 |  | 
 | syn keyword tgKeyword   def let in code dag field include defm | 
 | syn keyword tgType      class int string list bit bits multiclass | 
 |  | 
 | syn match   tgNumber    /\<\d\+\>/ | 
 | syn match   tgNumber    /\<\d\+\.\d*\>/ | 
 | syn match   tgNumber    /\<0b[01]\+\>/ | 
 | syn match   tgNumber    /\<0x[0-9a-fA-F]\+\>/ | 
 | syn region  tgString    start=/"/ skip=/\\"/ end=/"/    oneline | 
 |  | 
 | syn region  tgCode      start=/\[{/ end=/}\]/ | 
 |  | 
 | syn keyword tgTodo             contained TODO FIXME | 
 | syn match   tgComment   /\/\/.*$/         contains=tgTodo | 
 | " Handle correctly imbricated comment | 
 | syn region  tgComment2 matchgroup=tgComment2  start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2 | 
 |  | 
 | if version >= 508 || !exists("did_c_syn_inits") | 
 |   if version < 508 | 
 |     let did_c_syn_inits = 1 | 
 |     command -nargs=+ HiLink hi link <args> | 
 |   else | 
 |     command -nargs=+ HiLink hi def link <args> | 
 |   endif | 
 |  | 
 |   HiLink tgKeyword Statement | 
 |   HiLink tgType Type | 
 |   HiLink tgNumber Number | 
 |   HiLink tgComment Comment | 
 |   HiLink tgComment2 Comment | 
 |   HiLink tgString String | 
 |   " May find a better Hilight group... | 
 |   HiLink tgCode Special | 
 |   HiLink tgTodo Todo | 
 |  | 
 |   delcommand HiLink | 
 | endif | 
 |   | 
 | let b:current_syntax = "tablegen" |