blob: 19000293fb5dfd156b33f72573be9b5852ff86b8 [file] [log] [blame]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001" Vim syntax file
2" Antlr: ANTLR, Another Tool For Language Recognition <www.antlr.org>
3" Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr>
4" LastChange: 02 May 2001
5" Original: Comes from JavaCC.vim
6
7" For version 5.x: Clear all syntax items
8" For version 6.x: Quit when a syntax file was already loaded
9if version < 600
10 syntax clear
11elseif exists("b:current_syntax")
12 finish
13endif
14
15" This syntac file is a first attempt. It is far from perfect...
16
17" Uses java.vim, and adds a few special things for JavaCC Parser files.
18" Those files usually have the extension *.jj
19
20" source the java.vim file
21if version < 600
22 so <sfile>:p:h/java.vim
23else
24 runtime! syntax/java.vim
25 unlet b:current_syntax
26endif
27
28"remove catching errors caused by wrong parenthesis (does not work in antlr
29"files) (first define them in case they have not been defined in java)
30syn match javaParen "--"
31syn match javaParenError "--"
32syn match javaInParen "--"
33syn match javaError2 "--"
34syn clear javaParen
35syn clear javaParenError
36syn clear javaInParen
37syn clear javaError2
38
39" remove function definitions (they look different) (first define in
40" in case it was not defined in java.vim)
41"syn match javaFuncDef "--"
42"syn clear javaFuncDef
43"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType
44" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+
45
46syn keyword antlrPackages options language buildAST
47syn match antlrPackages "PARSER_END([^)]*)"
48syn match antlrPackages "PARSER_BEGIN([^)]*)"
49syn match antlrSpecToken "<EOF>"
50" the dot is necessary as otherwise it will be matched as a keyword.
51syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1
52syn match antlrSep "[|:]\|\.\."
53syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN
54syn keyword antlrError DEBUG IGNORE_IN_BNF
55
56if version >= 508 || !exists("did_antlr_syntax_inits")
57 if version < 508
58 let did_antlr_syntax_inits = 1
59 command -nargs=+ HiLink hi link <args>
60 else
61 command -nargs=+ HiLink hi def link <args>
62 endif
63 HiLink antlrSep Statement
64 HiLink antlrPackages Statement
65 delcommand HiLink
66endif
67
68let b:current_syntax = "antlr"
69
70" vim: ts=8