Syntax Highlighting für ANTLR v3
ANTLR ist ein Tool zum Erstellen von Parsern, die Abkürzung steht für "ANother Tool for Language Recognition". Die dritte, stark überarbeitete Version ist gerade in der Betaphase und kann von http://antlr.org/ heruntergeladen werden. Dieses VIM-Script bietet Syntax Highlighting für die Elemente von ANTLR Parsern und Lexern.
" vim: ts=8
" Vim syntax file
" Language:     ANTLRv3
" Maintainer:   Jörn Horstmann
" Last Change:  2006-08-02
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif
syn keyword antlrKeyword grammar lexer parser tree header members options fragment returns throws scope init
syn match  antlrCharacter '\\\(r\|n\|t\|f\|b\|"\|\'\|\\\|u\x\{4}\)' contained display
syn match  antlrToken "\<[A-Z_][A-Z_0-9]\+\>"
syn match antlrScopeVariable '$\k\+::\k\+'
syn match antlrOperator "[:;@.]"
syn match antlrOperator "[()]"
syn match antlrOperator "[{}]"
syn match antlrOperator "[\[\]]"
syn match antlrOperator "[?+*~|]"
syn match antlrOperator "[->=^]"
syn region antlrLiteral start=+'+ end=+'+ contains=antlrCharacter
syn region antlrLiteral start=+"+ end=+"+ contains=antlrCharacter
syn region antlrComment start="/\*" end="\*/"
syn match  antlrComment "//.*$"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508
  if version < 508
    let did_antlr_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif
  HiLink antlrLiteral           Constant
  HiLink antlrCharacter         Special
  HiLink antlrComment           Comment
  HiLink antlrOperator          Operator
  HiLink antlrKeyword           Keyword
  HiLink antlrToken             PreProc
  HiLink antlrScopeVariable     Identifier
  delcommand HiLink
endif
let b:current_syntax = "antlr3"
                     
                     