class documentation

class BnfLexer(RegexLexer):

View In Hierarchy

This lexer is for grammar notations which are similar to original BNF.

In order to maximize a number of targets of this lexer, let's decide some designs:

  • We don't distinguish Terminal Symbol.
  • We do assume that NonTerminal Symbol are always enclosed with arrow brackets.
  • We do assume that NonTerminal Symbol may include any printable characters except arrow brackets and ASCII 0x20. This assumption is for RBNF.
  • We do assume that target notation doesn't support comment.
  • We don't distinguish any operators and punctuation except ::=.

Though these desision making might cause too minimal highlighting and you might be disappointed, but it is reasonable for us.

New in version 2.1.
Class Variable aliases Undocumented
Class Variable filenames Undocumented
Class Variable mimetypes Undocumented
Class Variable name Undocumented
Class Variable tokens Undocumented

Inherited from RegexLexer:

Method get​_tokens​_unprocessed Split text into (tokentype, text) pairs.

Inherited from Lexer (via RegexLexer):

Method analyse​_text No summary
Method get​_tokens Return an iterable of (tokentype, value) pairs generated from text. If unfiltered is set to True, the filtering mechanism is bypassed even if filters are defined.
Class Variable alias​_filenames Undocumented
Method __init__ Undocumented
Method __repr__ Undocumented
Method add​_filter Add a new stream filter to this lexer.
Class Variable priority Undocumented
Instance Variable encoding Undocumented
Instance Variable ensurenl Undocumented
Instance Variable filters Undocumented
Instance Variable options Undocumented
Instance Variable stripall Undocumented
Instance Variable stripnl Undocumented
Instance Variable tabsize Undocumented
aliases: list[str] =

Undocumented

filenames: list[str] =

Undocumented

mimetypes: list[str] =

Undocumented

name: str =

Undocumented

tokens =

Undocumented