blob: 9b0b061ae19a8383d4909d4b653ff111a93546a3 [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
Bram Moolenaar89bcfda2016-08-30 23:26:57 +02007" quit when a syntax file was already loaded
8if exists("b:current_syntax")
Bram Moolenaar071d4272004-06-13 20:20:40 +00009 finish
10endif
11
12" This syntac file is a first attempt. It is far from perfect...
13
14" Uses java.vim, and adds a few special things for JavaCC Parser files.
15" Those files usually have the extension *.jj
16
17" source the java.vim file
Bram Moolenaar89bcfda2016-08-30 23:26:57 +020018runtime! syntax/java.vim
19unlet b:current_syntax
Bram Moolenaar071d4272004-06-13 20:20:40 +000020
21"remove catching errors caused by wrong parenthesis (does not work in antlr
22"files) (first define them in case they have not been defined in java)
23syn match javaParen "--"
24syn match javaParenError "--"
25syn match javaInParen "--"
26syn match javaError2 "--"
27syn clear javaParen
28syn clear javaParenError
29syn clear javaInParen
30syn clear javaError2
31
32" remove function definitions (they look different) (first define in
33" in case it was not defined in java.vim)
34"syn match javaFuncDef "--"
35"syn clear javaFuncDef
36"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType
37" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+
38
39syn keyword antlrPackages options language buildAST
40syn match antlrPackages "PARSER_END([^)]*)"
41syn match antlrPackages "PARSER_BEGIN([^)]*)"
42syn match antlrSpecToken "<EOF>"
43" the dot is necessary as otherwise it will be matched as a keyword.
44syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1
45syn match antlrSep "[|:]\|\.\."
46syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN
47syn keyword antlrError DEBUG IGNORE_IN_BNF
48
Bram Moolenaarf37506f2016-08-31 22:22:10 +020049hi def link antlrSep Statement
50hi def link antlrPackages Statement
Bram Moolenaar071d4272004-06-13 20:20:40 +000051
52let b:current_syntax = "antlr"
53
54" vim: ts=8