bnf.js 693 B

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. Language: Backus–Naur Form
  3. Website: https://en.wikipedia.org/wiki/Backus–Naur_form
  4. Author: Oleg Efimov <efimovov@gmail.com>
  5. */
  6. /** @type LanguageFn */
  7. function bnf(hljs) {
  8. return {
  9. name: 'Backus–Naur Form',
  10. contains: [
  11. // Attribute
  12. {
  13. className: 'attribute',
  14. begin: /</, end: />/
  15. },
  16. // Specific
  17. {
  18. begin: /::=/,
  19. end: /$/,
  20. contains: [
  21. {
  22. begin: /</, end: />/
  23. },
  24. // Common
  25. hljs.C_LINE_COMMENT_MODE,
  26. hljs.C_BLOCK_COMMENT_MODE,
  27. hljs.APOS_STRING_MODE,
  28. hljs.QUOTE_STRING_MODE
  29. ]
  30. }
  31. ]
  32. };
  33. }
  34. module.exports = bnf;