/* Language: Extended Backus-Naur Form Author: Alex McKibben */ function(hljs) { var commentMode = hljs.COMMENT(/\(\*/, /\*\)/); var nonTerminalMode = { className: "attribute", begin: /^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/ }; var specialSequenceMode = { className: "meta", begin: /\?.*\?/ }; var ruleBodyMode = { begin: /=/, end: /;/, contains: [ commentMode, specialSequenceMode, // terminals hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE ] }; return { illegal: /\S/, contains: [ commentMode, nonTerminalMode, ruleBodyMode ] }; }