1" Vim syntax file 2" Antlr: ANTLR, Another Tool For Language Recognition <www.antlr.org> 3" Maintainer: Mathieu Clabaut <[email protected]> 4" LastChange: 02 May 2001 5" Original: Comes from JavaCC.vim 6 7" For version 5.x: Clear all syntax items 8" For version 6.x: Quit when a syntax file was already loaded 9if version < 600 10 syntax clear 11elseif exists("b:current_syntax") 12 finish 13endif 14 15" This syntac file is a first attempt. It is far from perfect... 16 17" Uses java.vim, and adds a few special things for JavaCC Parser files. 18" Those files usually have the extension *.jj 19 20" source the java.vim file 21if version < 600 22 so <sfile>:p:h/java.vim 23else 24 runtime! syntax/java.vim 25 unlet b:current_syntax 26endif 27 28"remove catching errors caused by wrong parenthesis (does not work in antlr 29"files) (first define them in case they have not been defined in java) 30syn match javaParen "--" 31syn match javaParenError "--" 32syn match javaInParen "--" 33syn match javaError2 "--" 34syn clear javaParen 35syn clear javaParenError 36syn clear javaInParen 37syn clear javaError2 38 39" remove function definitions (they look different) (first define in 40" in case it was not defined in java.vim) 41"syn match javaFuncDef "--" 42"syn clear javaFuncDef 43"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType 44" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ 45 46syn keyword antlrPackages options language buildAST 47syn match antlrPackages "PARSER_END([^)]*)" 48syn match antlrPackages "PARSER_BEGIN([^)]*)" 49syn match antlrSpecToken "<EOF>" 50" the dot is necessary as otherwise it will be matched as a keyword. 51syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 52syn match antlrSep "[|:]\|\.\." 53syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN 54syn keyword antlrError DEBUG IGNORE_IN_BNF 55 56if version >= 508 || !exists("did_antlr_syntax_inits") 57 if version < 508 58 let did_antlr_syntax_inits = 1 59 command -nargs=+ HiLink hi link <args> 60 else 61 command -nargs=+ HiLink hi def link <args> 62 endif 63 HiLink antlrSep Statement 64 HiLink antlrPackages Statement 65 delcommand HiLink 66endif 67 68let b:current_syntax = "antlr" 69 70" vim: ts=8 71