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: 2001 Jun 20 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" For version 5.x: Clear all syntax items 11" For version 6.x: Quit when a syntax file was already loaded 12if version < 600 13 syntax clear 14elseif exists("b:current_syntax") 15 finish 16endif 17 18" source the java.vim file 19if version < 600 20 source <sfile>:p:h/java.vim 21else 22 runtime! syntax/java.vim 23endif 24unlet b:current_syntax 25 26"remove catching errors caused by wrong parenthesis (does not work in javacc 27"files) (first define them in case they have not been defined in java) 28syn match javaParen "--" 29syn match javaParenError "--" 30syn match javaInParen "--" 31syn match javaError2 "--" 32syn clear javaParen 33syn clear javaParenError 34syn clear javaInParen 35syn clear javaError2 36 37" remove function definitions (they look different) (first define in 38" in case it was not defined in java.vim) 39"syn match javaFuncDef "--" 40syn clear javaFuncDef 41syn match javaFuncDef "[$_a-zA-Z][$_a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType 42 43syn keyword javaccPackages options DEBUG_PARSER DEBUG_LOOKAHEAD DEBUG_TOKEN_MANAGER 44syn keyword javaccPackages COMMON_TOKEN_ACTION IGNORE_CASE CHOICE_AMBIGUITY_CHECK 45syn keyword javaccPackages OTHER_AMBIGUITY_CHECK STATIC LOOKAHEAD ERROR_REPORTING 46syn keyword javaccPackages USER_TOKEN_MANAGER USER_CHAR_STREAM JAVA_UNICODE_ESCAPE 47syn keyword javaccPackages UNICODE_INPUT 48syn match javaccPackages "PARSER_END([^)]*)" 49syn match javaccPackages "PARSER_BEGIN([^)]*)" 50syn match javaccSpecToken "<EOF>" 51" the dot is necessary as otherwise it will be matched as a keyword. 52syn match javaccSpecToken ".LOOKAHEAD("ms=s+1,me=e-1 53syn match javaccToken "<[^> \t]*>" 54syn keyword javaccActionToken TOKEN SKIP MORE SPECIAL_TOKEN 55syn keyword javaccError DEBUG IGNORE_IN_BNF 56 57" Define the default highlighting. 58" For version 5.7 and earlier: only when not done already 59" For version 5.8 and later: only when an item doesn't have highlighting yet 60if version >= 508 || !exists("did_css_syn_inits") 61 if version < 508 62 let did_css_syn_inits = 1 63 command -nargs=+ HiLink hi link <args> 64 else 65 command -nargs=+ HiLink hi def link <args> 66 endif 67 HiLink javaccSpecToken Statement 68 HiLink javaccActionToken Type 69 HiLink javaccPackages javaScopeDecl 70 HiLink javaccToken String 71 HiLink javaccError Error 72 delcommand HiLink 73endif 74 75let b:current_syntax = "javacc" 76 77" vim: ts=8 78