1" Vim syntax file 2" Language: JavaCC, a Java Compiler Compiler written by JavaSoft 3" Maintainer: Claudio Fleiner <[email protected]> 4" URL: http://www.fleiner.com/vim/syntax/javacc.vim 5" Last Change: 2012 Oct 05 6 7" Uses java.vim, and adds a few special things for JavaCC Parser files. 8" Those files usually have the extension *.jj 9 10" quit when a syntax file was already loaded 11if exists("b:current_syntax") 12 finish 13endif 14 15let s:cpo_save = &cpo 16set cpo&vim 17 18" source the java.vim file 19runtime! syntax/java.vim 20unlet b:current_syntax 21 22"remove catching errors caused by wrong parenthesis (does not work in javacc 23"files) (first define them in case they have not been defined in java) 24syn match javaParen "--" 25syn match javaParenError "--" 26syn match javaInParen "--" 27syn match javaError2 "--" 28syn clear javaParen 29syn clear javaParenError 30syn clear javaInParen 31syn clear javaError2 32 33" remove function definitions (they look different) (first define in 34" in case it was not defined in java.vim) 35"syn match javaFuncDef "--" 36syn clear javaFuncDef 37syn match javaFuncDef "[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType 38 39syn keyword javaccPackages options DEBUG_PARSER DEBUG_LOOKAHEAD DEBUG_TOKEN_MANAGER 40syn keyword javaccPackages COMMON_TOKEN_ACTION IGNORE_CASE CHOICE_AMBIGUITY_CHECK 41syn keyword javaccPackages OTHER_AMBIGUITY_CHECK STATIC LOOKAHEAD ERROR_REPORTING 42syn keyword javaccPackages USER_TOKEN_MANAGER USER_CHAR_STREAM JAVA_UNICODE_ESCAPE 43syn keyword javaccPackages UNICODE_INPUT JDK_VERSION 44syn match javaccPackages "PARSER_END([^)]*)" 45syn match javaccPackages "PARSER_BEGIN([^)]*)" 46syn match javaccSpecToken "<EOF>" 47" the dot is necessary as otherwise it will be matched as a keyword. 48syn match javaccSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 49syn match javaccToken "<[^> \t]*>" 50syn keyword javaccActionToken TOKEN SKIP MORE SPECIAL_TOKEN 51syn keyword javaccError DEBUG IGNORE_IN_BNF 52 53" Define the default highlighting. 54" Only when an item doesn't have highlighting yet 55hi def link javaccSpecToken Statement 56hi def link javaccActionToken Type 57hi def link javaccPackages javaScopeDecl 58hi def link javaccToken String 59hi def link javaccError Error 60 61let b:current_syntax = "javacc" 62let &cpo = s:cpo_save 63unlet s:cpo_save 64 65" vim: ts=8 66