summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/yacc.vim
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/yacc.vim')
-rw-r--r--runtime/syntax/yacc.vim22
1 files changed, 17 insertions, 5 deletions
diff --git a/runtime/syntax/yacc.vim b/runtime/syntax/yacc.vim
index c3916d0e53..4e74eabd87 100644
--- a/runtime/syntax/yacc.vim
+++ b/runtime/syntax/yacc.vim
@@ -1,12 +1,22 @@
" Vim syntax file
" Language: Yacc
" Maintainer: Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change: Aug 2, 2010
-" Version: 8
+" Last Change: Aug 12, 2010
+" Version: 9
" URL: http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
"
" Options: {{{1
" g:yacc_uses_cpp : if this variable exists, then C++ is loaded rather than C
+"
+" Overall layout of a bison/yacc grammer:
+" %{
+" Prolog
+" %}
+" Bison/Yacc Declarations
+" %%
+" Grammar Rules
+" %%
+" Epilogue
" ---------------------------------------------------------------------
" this version of syntax/yacc.vim requires 6.0 or later
@@ -35,7 +45,7 @@ endif
" ---------------------------------------------------------------------
" Yacc Clusters: {{{1
-syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam
+syn cluster yaccInitCluster contains=yaccKey,yaccKeyActn,yaccBrkt,yaccType,yaccString,yaccUnionStart,yaccHeader2,yaccComment,yaccDefines,yaccParseParam,yaccParseOption
syn cluster yaccRulesCluster contains=yaccNonterminal,yaccString
" ---------------------------------------------------------------------
@@ -50,7 +60,8 @@ HiFold syn region yaccEndCode matchgroup=yaccSectionSep start='^%%$' end='\%$'
" ---------------------------------------------------------------------
" Yacc Commands: {{{1
syn match yaccDefines '^%define\s\+.*$'
-syn match yaccParseParam '%parse-param\>' skipwhite nextgroup=yaccParseParamStr
+syn match yaccParseParam '%\(parse\|lex\)-param\>' skipwhite nextgroup=yaccParseParamStr
+syn match yaccParseOption '%\%(api\.pure\|pure-parser\|locations\|error-verbose\)\>'
syn region yaccParseParamStr contained matchgroup=Delimiter start='{' end='}' contains=cStructure
syn match yaccDelim "[:|]" contained
@@ -96,7 +107,8 @@ if !exists("did_yacc_syn_inits")
HiLink yaccCurly Delimiter
HiLink yaccCurlyError Error
HiLink yaccDefines cDefine
- HiLink yaccParseParam cDefine
+ HiLink yaccParseParam yaccParseOption
+ HiLink yaccParseOption cDefine
HiLink yaccNonterminal Function
HiLink yaccDelim Delimiter
HiLink yaccKeyActn Special