| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | " Vim default file | 
					
						
							|  |  |  | " Language:         Racc input file | 
					
						
							| 
									
										
										
										
											2006-04-21 22:12:41 +00:00
										 |  |  | " Maintainer:       Nikolai Weibull <now@bitwi.se> | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | " Latest Revision:  2008-06-22 | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							|  |  |  |   finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let s:cpo_save = &cpo | 
					
						
							|  |  |  | set cpo&vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccTodo        contained TODO FIXME XXX NOTE | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn region  raccComment     start='/\*' end='\*/' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  |                             \ contains=raccTodo,@Spell | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn region  raccComment     display oneline start='#' end='$' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  |                             \ contains=raccTodo,@Spell | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccClass       transparent matchgroup=raccKeyword | 
					
						
							|  |  |  |                             \ start='\<class\>' end='\<rule\>'he=e-4 | 
					
						
							|  |  |  |                             \ contains=raccComment,raccPrecedence, | 
					
						
							|  |  |  |                             \ raccTokenDecl,raccExpect,raccOptions,raccConvert, | 
					
						
							|  |  |  |                             \ raccStart, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccPrecedence  transparent matchgroup=raccKeyword | 
					
						
							|  |  |  |                             \ start='\<prechigh\>' end='\<preclow\>' | 
					
						
							|  |  |  |                             \ contains=raccComment,raccPrecSpec | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccPrecSpec    contained nonassoc left right | 
					
						
							|  |  |  |                             \ nextgroup=raccPrecToken,raccPrecString skipwhite | 
					
						
							|  |  |  |                             \ skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccPrecToken   contained '\<\u[A-Z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  |                             \ nextgroup=raccPrecToken,raccPrecString skipwhite | 
					
						
							|  |  |  |                             \ skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccPrecString  matchgroup=raccPrecString start=+"+ | 
					
						
							|  |  |  |                             \ skip=+\\\\\|\\"+ end=+"+ | 
					
						
							|  |  |  |                             \ contains=raccSpecial | 
					
						
							|  |  |  |                             \ nextgroup=raccPrecToken,raccPrecString skipwhite | 
					
						
							|  |  |  |                             \ skipnl | 
					
						
							|  |  |  | syn region  raccPrecString  matchgroup=raccPrecString start=+'+ | 
					
						
							|  |  |  |                             \ skip=+\\\\\|\\'+ end=+'+ contains=raccSpecial | 
					
						
							|  |  |  |                             \ nextgroup=raccPrecToken,raccPrecString skipwhite | 
					
						
							|  |  |  |                             \ skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccTokenDecl   contained token | 
					
						
							|  |  |  |                             \ nextgroup=raccTokenR skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccTokenR      contained '\<\u[A-Z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  |                             \ nextgroup=raccTokenR skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccExpect      contained expect | 
					
						
							|  |  |  |                             \ nextgroup=raccNumber skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   raccNumber      contained '\<\d\+\>' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccOptions     contained options | 
					
						
							|  |  |  |                             \ nextgroup=raccOptionsR skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccOptionsR    contained omit_action_call result_var | 
					
						
							|  |  |  |                             \ nextgroup=raccOptionsR skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccConvert     transparent contained matchgroup=raccKeyword | 
					
						
							|  |  |  |                             \ start='\<convert\>' end='\<end\>' | 
					
						
							|  |  |  |                             \ contains=raccComment,raccConvToken skipwhite | 
					
						
							|  |  |  |                             \ skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccConvToken   contained '\<\u[A-Z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  |                             \ nextgroup=raccString skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword raccStart       contained start | 
					
						
							|  |  |  |                             \ nextgroup=raccTargetS skipwhite skipnl | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccTargetS     contained '\<\l[a-z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn match   raccSpecial     contained '\\["'\\]' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-07-04 22:49:24 +00:00
										 |  |  | syn region  raccString      start=+"+ skip=+\\\\\|\\"+ end=+"+ | 
					
						
							|  |  |  |                             \ contains=raccSpecial | 
					
						
							|  |  |  | syn region  raccString      start=+'+ skip=+\\\\\|\\'+ end=+'+ | 
					
						
							|  |  |  |                             \ contains=raccSpecial | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn region  raccRules       transparent matchgroup=raccKeyword start='\<rule\>' | 
					
						
							|  |  |  |                             \ end='\<end\>' contains=raccComment,raccString, | 
					
						
							|  |  |  |                             \ raccNumber,raccToken,raccTarget,raccDelimiter, | 
					
						
							|  |  |  |                             \ raccAction | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccTarget      contained '\<\l[a-z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn match   raccDelimiter   contained '[:|]' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-08-06 17:06:04 +00:00
										 |  |  | syn match   raccToken       contained '\<\u[A-Z0-9_]*\>' | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn include @raccRuby       syntax/ruby.vim | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccAction      transparent matchgroup=raccDelimiter | 
					
						
							|  |  |  |                             \ start='{' end='}' contains=@raccRuby | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccHeader      transparent matchgroup=raccPreProc | 
					
						
							|  |  |  |                             \ start='^---- header.*' end='^----'he=e-4 | 
					
						
							|  |  |  |                             \ contains=@raccRuby | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccInner       transparent matchgroup=raccPreProc | 
					
						
							|  |  |  |                             \ start='^---- inner.*' end='^----'he=e-4 | 
					
						
							|  |  |  |                             \ contains=@raccRuby | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn region  raccFooter      transparent matchgroup=raccPreProc | 
					
						
							|  |  |  |                             \ start='^---- footer.*' end='^----'he=e-4 | 
					
						
							|  |  |  |                             \ contains=@raccRuby | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-05-10 17:44:18 +00:00
										 |  |  | syn sync    match raccSyncHeader    grouphere raccHeader '^---- header' | 
					
						
							|  |  |  | syn sync    match raccSyncInner     grouphere raccInner '^---- inner' | 
					
						
							|  |  |  | syn sync    match raccSyncFooter    grouphere raccFooter '^---- footer' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-06-29 22:40:58 +00:00
										 |  |  | hi def link raccTodo        Todo | 
					
						
							|  |  |  | hi def link raccComment     Comment | 
					
						
							|  |  |  | hi def link raccPrecSpec    Type | 
					
						
							|  |  |  | hi def link raccPrecToken   raccToken | 
					
						
							|  |  |  | hi def link raccPrecString  raccString | 
					
						
							|  |  |  | hi def link raccTokenDecl   Keyword | 
					
						
							|  |  |  | hi def link raccToken       Identifier | 
					
						
							|  |  |  | hi def link raccTokenR      raccToken | 
					
						
							|  |  |  | hi def link raccExpect      Keyword | 
					
						
							|  |  |  | hi def link raccNumber      Number | 
					
						
							|  |  |  | hi def link raccOptions     Keyword | 
					
						
							|  |  |  | hi def link raccOptionsR    Identifier | 
					
						
							|  |  |  | hi def link raccConvToken   raccToken | 
					
						
							|  |  |  | hi def link raccStart       Keyword | 
					
						
							|  |  |  | hi def link raccTargetS     Type | 
					
						
							|  |  |  | hi def link raccSpecial     special | 
					
						
							|  |  |  | hi def link raccString      String | 
					
						
							|  |  |  | hi def link raccTarget      Type | 
					
						
							|  |  |  | hi def link raccDelimiter   Delimiter | 
					
						
							|  |  |  | hi def link raccPreProc     PreProc | 
					
						
							|  |  |  | hi def link raccKeyword     Keyword | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "racc" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let &cpo = s:cpo_save | 
					
						
							|  |  |  | unlet s:cpo_save |