39 lines
		
	
	
		
			713 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			713 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/*
 | 
						||
Language: Backus–Naur Form
 | 
						||
Website: https://en.wikipedia.org/wiki/Backus–Naur_form
 | 
						||
Author: Oleg Efimov <efimovov@gmail.com>
 | 
						||
*/
 | 
						||
 | 
						||
/** @type LanguageFn */
 | 
						||
function bnf(hljs) {
 | 
						||
  return {
 | 
						||
    name: 'Backus–Naur Form',
 | 
						||
    contains: [
 | 
						||
      // Attribute
 | 
						||
      {
 | 
						||
        className: 'attribute',
 | 
						||
        begin: /</,
 | 
						||
        end: />/
 | 
						||
      },
 | 
						||
      // Specific
 | 
						||
      {
 | 
						||
        begin: /::=/,
 | 
						||
        end: /$/,
 | 
						||
        contains: [
 | 
						||
          {
 | 
						||
            begin: /</,
 | 
						||
            end: />/
 | 
						||
          },
 | 
						||
          // Common
 | 
						||
          hljs.C_LINE_COMMENT_MODE,
 | 
						||
          hljs.C_BLOCK_COMMENT_MODE,
 | 
						||
          hljs.APOS_STRING_MODE,
 | 
						||
          hljs.QUOTE_STRING_MODE
 | 
						||
        ]
 | 
						||
      }
 | 
						||
    ]
 | 
						||
  };
 | 
						||
}
 | 
						||
 | 
						||
module.exports = bnf;
 |