blob: 57c57b568c582514202e7effc993698a4fe66a1a [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Language: JavaCC, a Java Compiler Compiler written by JavaSoft
3" Maintainer: Claudio Fleiner <claudio@fleiner.com>
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