1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Antlr: ANTLR, Another Tool For Language Recognition <www.antlr.org> 3071d4279SBram Moolenaar" Maintainer: Mathieu Clabaut <[email protected]> 4071d4279SBram Moolenaar" LastChange: 02 May 2001 5071d4279SBram Moolenaar" Original: Comes from JavaCC.vim 6071d4279SBram Moolenaar 789bcfda6SBram Moolenaar" quit when a syntax file was already loaded 889bcfda6SBram Moolenaarif exists("b:current_syntax") 9071d4279SBram Moolenaar finish 10071d4279SBram Moolenaarendif 11071d4279SBram Moolenaar 12071d4279SBram Moolenaar" This syntac file is a first attempt. It is far from perfect... 13071d4279SBram Moolenaar 14071d4279SBram Moolenaar" Uses java.vim, and adds a few special things for JavaCC Parser files. 15071d4279SBram Moolenaar" Those files usually have the extension *.jj 16071d4279SBram Moolenaar 17071d4279SBram Moolenaar" source the java.vim file 18071d4279SBram Moolenaarruntime! syntax/java.vim 19071d4279SBram Moolenaarunlet b:current_syntax 20071d4279SBram Moolenaar 21071d4279SBram Moolenaar"remove catching errors caused by wrong parenthesis (does not work in antlr 22071d4279SBram Moolenaar"files) (first define them in case they have not been defined in java) 23071d4279SBram Moolenaarsyn match javaParen "--" 24071d4279SBram Moolenaarsyn match javaParenError "--" 25071d4279SBram Moolenaarsyn match javaInParen "--" 26071d4279SBram Moolenaarsyn match javaError2 "--" 27071d4279SBram Moolenaarsyn clear javaParen 28071d4279SBram Moolenaarsyn clear javaParenError 29071d4279SBram Moolenaarsyn clear javaInParen 30071d4279SBram Moolenaarsyn clear javaError2 31071d4279SBram Moolenaar 32071d4279SBram Moolenaar" remove function definitions (they look different) (first define in 33071d4279SBram Moolenaar" in case it was not defined in java.vim) 34071d4279SBram Moolenaar"syn match javaFuncDef "--" 35071d4279SBram Moolenaar"syn clear javaFuncDef 36071d4279SBram Moolenaar"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType 37071d4279SBram Moolenaar" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+ 38071d4279SBram Moolenaar 39071d4279SBram Moolenaarsyn keyword antlrPackages options language buildAST 40071d4279SBram Moolenaarsyn match antlrPackages "PARSER_END([^)]*)" 41071d4279SBram Moolenaarsyn match antlrPackages "PARSER_BEGIN([^)]*)" 42071d4279SBram Moolenaarsyn match antlrSpecToken "<EOF>" 43071d4279SBram Moolenaar" the dot is necessary as otherwise it will be matched as a keyword. 44071d4279SBram Moolenaarsyn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 45071d4279SBram Moolenaarsyn match antlrSep "[|:]\|\.\." 46071d4279SBram Moolenaarsyn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN 47071d4279SBram Moolenaarsyn keyword antlrError DEBUG IGNORE_IN_BNF 48071d4279SBram Moolenaar 49*f37506f6SBram Moolenaarhi def link antlrSep Statement 50*f37506f6SBram Moolenaarhi def link antlrPackages Statement 51071d4279SBram Moolenaar 52071d4279SBram Moolenaarlet b:current_syntax = "antlr" 53071d4279SBram Moolenaar 54071d4279SBram Moolenaar" vim: ts=8 55