Grammar Base Class: Module grammar
This class provide the composition mechanism.
-
class
pyrser.grammar.
MetaGrammar
[source]
Bases: pyrser.parsing.base.MetaBasicParser
Metaclass for all grammars.
-
static
__new__
(metacls, name, bases, namespace)[source]
-
class
pyrser.grammar.
Grammar
(content: str='', stream_name: str=None, raise_diagnostic=True)[source]
Bases: pyrser.parsing.base.Parser
Base class for all grammars.
This class turn any class A that inherit it into a grammar.
Taking the description of the grammar in parameter it will add
all what is what is needed for A to parse it.
-
grammar
= None
-
entry
= None
-
dsl_parser
alias of EBNF
-
after_parse
(self, node: Node) → Node[source]
If you want to do some stuff after parsing, overload this...
-
_do_parse
(self, entry: str) → Node[source]
-
parse
(self, source: str= None, entry: str= None) → Node[source]
Parse source using the grammar
-
parse_file
(self, filename: str, entry: str= None) → Node[source]
Parse filename using the grammar
-
pyrser.grammar.
build_grammar
(inherit: tuple, scope: dict) → Grammar[source]
-
pyrser.grammar.
from_string
(bnf: str, entry= None, optional_inherit) → Grammar[source]
Create a Grammar from a string
-
pyrser.grammar.
from_file
(fn: str, entry= None, optional_inherit) → Grammar[source]
Create a Grammar from a file