
syn clear
syn case match

syn keyword    ruleType	   int string

syn match      ruleSeparator     display /->/
syn match      ruleSecSeparator  display /->>/

syn region     ruleTerminals start=/</ end=/>/ oneline
syn region     ruleString start=/"/ skip=/\\"/ end=/"/ oneline

syn keyword    ruleStatement if fi else do while assert init_code terminals nonterminals rules last tail
syn keyword    ruleInitializer empty array
syn keyword    ruleFunctions size push pop remove get_idx get_next_idx out format substr

syn match      ruleComment	 display /\$.*/

syn region     rulePreProc start=/#/ end=/$/ contains=ruleNewLine
syn match      ruleNewLine /\\$/ contained


hi def link    ruleType Type
hi def link    ruleSeparator Special
hi def link    ruleSecSeparator Special

hi def link    ruleTerminals PreProc
hi def link    ruleString String

hi def link    ruleStatement Statement
hi def link    ruleInitializer Structure
hi def link    ruleFunctions Structure

hi def link    ruleComment Comment

hi def link    rulePreProc PreProc

