xref: /vim-8.2.3635/runtime/syntax/racc.vim (revision 214641f7)
142eeac35SBram Moolenaar" Vim default file
242eeac35SBram Moolenaar" Language:             Racc input file
3*214641f7SBram Moolenaar" Previous Maintainer:  Nikolai Weibull <[email protected]>
4e37d50a5SBram Moolenaar" Latest Revision:      2008-06-22
542eeac35SBram Moolenaar
642eeac35SBram Moolenaarif exists("b:current_syntax")
742eeac35SBram Moolenaar  finish
842eeac35SBram Moolenaarendif
942eeac35SBram Moolenaar
1042eeac35SBram Moolenaarlet s:cpo_save = &cpo
1142eeac35SBram Moolenaarset cpo&vim
1242eeac35SBram Moolenaar
1342eeac35SBram Moolenaarsyn keyword raccTodo        contained TODO FIXME XXX NOTE
1442eeac35SBram Moolenaar
150dc065eeSBram Moolenaarsyn region  raccComment     start='/\*' end='\*/'
1642eeac35SBram Moolenaar                            \ contains=raccTodo,@Spell
170dc065eeSBram Moolenaarsyn region  raccComment     display oneline start='#' end='$'
1842eeac35SBram Moolenaar                            \ contains=raccTodo,@Spell
1942eeac35SBram Moolenaar
2042eeac35SBram Moolenaarsyn region  raccClass       transparent matchgroup=raccKeyword
2142eeac35SBram Moolenaar                            \ start='\<class\>' end='\<rule\>'he=e-4
2242eeac35SBram Moolenaar                            \ contains=raccComment,raccPrecedence,
2342eeac35SBram Moolenaar                            \ raccTokenDecl,raccExpect,raccOptions,raccConvert,
2442eeac35SBram Moolenaar                            \ raccStart,
2542eeac35SBram Moolenaar
2642eeac35SBram Moolenaarsyn region  raccPrecedence  transparent matchgroup=raccKeyword
2742eeac35SBram Moolenaar                            \ start='\<prechigh\>' end='\<preclow\>'
2842eeac35SBram Moolenaar                            \ contains=raccComment,raccPrecSpec
2942eeac35SBram Moolenaar
3042eeac35SBram Moolenaarsyn keyword raccPrecSpec    contained nonassoc left right
3142eeac35SBram Moolenaar                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
3242eeac35SBram Moolenaar                            \ skipnl
3342eeac35SBram Moolenaar
34e37d50a5SBram Moolenaarsyn match   raccPrecToken   contained '\<\u[A-Z0-9_]*\>'
3542eeac35SBram Moolenaar                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
3642eeac35SBram Moolenaar                            \ skipnl
3742eeac35SBram Moolenaar
3842eeac35SBram Moolenaarsyn region  raccPrecString  matchgroup=raccPrecString start=+"+
3942eeac35SBram Moolenaar                            \ skip=+\\\\\|\\"+ end=+"+
4042eeac35SBram Moolenaar                            \ contains=raccSpecial
4142eeac35SBram Moolenaar                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
4242eeac35SBram Moolenaar                            \ skipnl
4342eeac35SBram Moolenaarsyn region  raccPrecString  matchgroup=raccPrecString start=+'+
4442eeac35SBram Moolenaar                            \ skip=+\\\\\|\\'+ end=+'+ contains=raccSpecial
4542eeac35SBram Moolenaar                            \ nextgroup=raccPrecToken,raccPrecString skipwhite
4642eeac35SBram Moolenaar                            \ skipnl
4742eeac35SBram Moolenaar
4842eeac35SBram Moolenaarsyn keyword raccTokenDecl   contained token
4942eeac35SBram Moolenaar                            \ nextgroup=raccTokenR skipwhite skipnl
5042eeac35SBram Moolenaar
51e37d50a5SBram Moolenaarsyn match   raccTokenR      contained '\<\u[A-Z0-9_]*\>'
5242eeac35SBram Moolenaar                            \ nextgroup=raccTokenR skipwhite skipnl
5342eeac35SBram Moolenaar
5442eeac35SBram Moolenaarsyn keyword raccExpect      contained expect
5542eeac35SBram Moolenaar                            \ nextgroup=raccNumber skipwhite skipnl
5642eeac35SBram Moolenaar
5742eeac35SBram Moolenaarsyn match   raccNumber      contained '\<\d\+\>'
5842eeac35SBram Moolenaar
5942eeac35SBram Moolenaarsyn keyword raccOptions     contained options
6042eeac35SBram Moolenaar                            \ nextgroup=raccOptionsR skipwhite skipnl
6142eeac35SBram Moolenaar
6242eeac35SBram Moolenaarsyn keyword raccOptionsR    contained omit_action_call result_var
6342eeac35SBram Moolenaar                            \ nextgroup=raccOptionsR skipwhite skipnl
6442eeac35SBram Moolenaar
6542eeac35SBram Moolenaarsyn region  raccConvert     transparent contained matchgroup=raccKeyword
6642eeac35SBram Moolenaar                            \ start='\<convert\>' end='\<end\>'
6742eeac35SBram Moolenaar                            \ contains=raccComment,raccConvToken skipwhite
6842eeac35SBram Moolenaar                            \ skipnl
6942eeac35SBram Moolenaar
70e37d50a5SBram Moolenaarsyn match   raccConvToken   contained '\<\u[A-Z0-9_]*\>'
7142eeac35SBram Moolenaar                            \ nextgroup=raccString skipwhite skipnl
7242eeac35SBram Moolenaar
7342eeac35SBram Moolenaarsyn keyword raccStart       contained start
7442eeac35SBram Moolenaar                            \ nextgroup=raccTargetS skipwhite skipnl
7542eeac35SBram Moolenaar
76e37d50a5SBram Moolenaarsyn match   raccTargetS     contained '\<\l[a-z0-9_]*\>'
7742eeac35SBram Moolenaar
7842eeac35SBram Moolenaarsyn match   raccSpecial     contained '\\["'\\]'
7942eeac35SBram Moolenaar
800dc065eeSBram Moolenaarsyn region  raccString      start=+"+ skip=+\\\\\|\\"+ end=+"+
810dc065eeSBram Moolenaar                            \ contains=raccSpecial
820dc065eeSBram Moolenaarsyn region  raccString      start=+'+ skip=+\\\\\|\\'+ end=+'+
830dc065eeSBram Moolenaar                            \ contains=raccSpecial
8442eeac35SBram Moolenaar
8542eeac35SBram Moolenaarsyn region  raccRules       transparent matchgroup=raccKeyword start='\<rule\>'
8642eeac35SBram Moolenaar                            \ end='\<end\>' contains=raccComment,raccString,
8742eeac35SBram Moolenaar                            \ raccNumber,raccToken,raccTarget,raccDelimiter,
8842eeac35SBram Moolenaar                            \ raccAction
8942eeac35SBram Moolenaar
90e37d50a5SBram Moolenaarsyn match   raccTarget      contained '\<\l[a-z0-9_]*\>'
9142eeac35SBram Moolenaar
9242eeac35SBram Moolenaarsyn match   raccDelimiter   contained '[:|]'
9342eeac35SBram Moolenaar
94e37d50a5SBram Moolenaarsyn match   raccToken       contained '\<\u[A-Z0-9_]*\>'
9542eeac35SBram Moolenaar
9642eeac35SBram Moolenaarsyn include @raccRuby       syntax/ruby.vim
9742eeac35SBram Moolenaar
9842eeac35SBram Moolenaarsyn region  raccAction      transparent matchgroup=raccDelimiter
9942eeac35SBram Moolenaar                            \ start='{' end='}' contains=@raccRuby
10042eeac35SBram Moolenaar
10142eeac35SBram Moolenaarsyn region  raccHeader      transparent matchgroup=raccPreProc
10242eeac35SBram Moolenaar                            \ start='^---- header.*' end='^----'he=e-4
10342eeac35SBram Moolenaar                            \ contains=@raccRuby
10442eeac35SBram Moolenaar
10542eeac35SBram Moolenaarsyn region  raccInner       transparent matchgroup=raccPreProc
10642eeac35SBram Moolenaar                            \ start='^---- inner.*' end='^----'he=e-4
10742eeac35SBram Moolenaar                            \ contains=@raccRuby
10842eeac35SBram Moolenaar
10942eeac35SBram Moolenaarsyn region  raccFooter      transparent matchgroup=raccPreProc
11042eeac35SBram Moolenaar                            \ start='^---- footer.*' end='^----'he=e-4
11142eeac35SBram Moolenaar                            \ contains=@raccRuby
11242eeac35SBram Moolenaar
1133d27a45fSBram Moolenaarsyn sync    match raccSyncHeader    grouphere raccHeader '^---- header'
1143d27a45fSBram Moolenaarsyn sync    match raccSyncInner     grouphere raccInner '^---- inner'
1153d27a45fSBram Moolenaarsyn sync    match raccSyncFooter    grouphere raccFooter '^---- footer'
1163d27a45fSBram Moolenaar
11742eeac35SBram Moolenaarhi def link raccTodo        Todo
11842eeac35SBram Moolenaarhi def link raccComment     Comment
11942eeac35SBram Moolenaarhi def link raccPrecSpec    Type
12042eeac35SBram Moolenaarhi def link raccPrecToken   raccToken
12142eeac35SBram Moolenaarhi def link raccPrecString  raccString
12242eeac35SBram Moolenaarhi def link raccTokenDecl   Keyword
12342eeac35SBram Moolenaarhi def link raccToken       Identifier
12442eeac35SBram Moolenaarhi def link raccTokenR      raccToken
12542eeac35SBram Moolenaarhi def link raccExpect      Keyword
12642eeac35SBram Moolenaarhi def link raccNumber      Number
12742eeac35SBram Moolenaarhi def link raccOptions     Keyword
12842eeac35SBram Moolenaarhi def link raccOptionsR    Identifier
12942eeac35SBram Moolenaarhi def link raccConvToken   raccToken
13042eeac35SBram Moolenaarhi def link raccStart       Keyword
13142eeac35SBram Moolenaarhi def link raccTargetS     Type
13242eeac35SBram Moolenaarhi def link raccSpecial     special
13342eeac35SBram Moolenaarhi def link raccString      String
13442eeac35SBram Moolenaarhi def link raccTarget      Type
13542eeac35SBram Moolenaarhi def link raccDelimiter   Delimiter
13642eeac35SBram Moolenaarhi def link raccPreProc     PreProc
13742eeac35SBram Moolenaarhi def link raccKeyword     Keyword
13842eeac35SBram Moolenaar
13942eeac35SBram Moolenaarlet b:current_syntax = "racc"
14042eeac35SBram Moolenaar
14142eeac35SBram Moolenaarlet &cpo = s:cpo_save
14242eeac35SBram Moolenaarunlet s:cpo_save
143