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" quit when a syntax file was already loaded 8if exists("b:current_syntax") 9 finish 10endif 11 12" This syntac file is a first attempt. It is far from perfect... 13 14" Uses java.vim, and adds a few special things for JavaCC Parser files. 15" Those files usually have the extension *.jj 16 17" source the java.vim file 18runtime! syntax/java.vim 19unlet b:current_syntax 20 21"remove catching errors caused by wrong parenthesis (does not work in antlr 22"files) (first define them in case they have not been defined in java) 23syn match javaParen "--" 24syn match javaParenError "--" 25syn match javaInParen "--" 26syn match javaError2 "--" 27syn clear javaParen 28syn clear javaParenError 29syn clear javaInParen 30syn clear javaError2 31 32" remove function definitions (they look different) (first define in 33" in case it was not defined in java.vim) 34"syn match javaFuncDef "--" 35"syn clear javaFuncDef 36"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType 37" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ 38 39syn keyword antlrPackages options language buildAST 40syn match antlrPackages "PARSER_END([^)]*)" 41syn match antlrPackages "PARSER_BEGIN([^)]*)" 42syn match antlrSpecToken "<EOF>" 43" the dot is necessary as otherwise it will be matched as a keyword. 44syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 45syn match antlrSep "[|:]\|\.\." 46syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN 47syn keyword antlrError DEBUG IGNORE_IN_BNF 48 49hi def link antlrSep Statement 50hi def link antlrPackages Statement 51 52let b:current_syntax = "antlr" 53 54" vim: ts=8 55